Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer...

55
Web Science & Technologies University of Koblenz ▪ Landau, Germany Daten- und Informationsmodellierung Dr. Gerd Gröner Wintersemester 2013/14 Grundlagen der Datenbanken

Transcript of Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer...

Page 1: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

Web Science & Technologies

University of Koblenz ▪ Landau, Germany

Daten- und Informationsmodellierung

Dr. Gerd Gröner

Wintersemester 2013/14

Grundlagen der Datenbanken

Page 2: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

2 GLDB 2013/14G. GrönerDatenmodellierung

Lernziele

Kenntnis der Vorgehensweise beim DB-Entwurf Grundkonzepte von ER Modell und UML

Klassendiagrammen für Datenmodellierung Kenntnis der Abstraktionskonzepte (Generalisierung,

Aggregation) Fähigkeit zur praktischen Anwendung folgender Aspekte: Erstellung von Modellen für gegebene

Anwendungsszenarien Festlegung der Primärschlüssel, Beziehungstypen,

Kardinalitäten, Existenzabhängigkeiten etc. Interpretation gegebener Modelle

Page 3: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

3 GLDB 2013/14G. GrönerDatenmodellierung

Wiederholung: Abstraktionsebenen des Datenbankentwurfs

Wie sieht die Welt aus?

Welche Strukturen werde von der Anwendung manipuliert?

(Implementationsmodell)

Wie wird gespeichert?

Wir sind hier!

Physische Ebene

Logische Ebene

Konzeptuelle Ebene

Page 4: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

4 GLDB 2013/14G. GrönerDatenmodellierung

Datenbankentwurf

Page 5: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

5 GLDB 2013/14G. GrönerDatenmodellierung

Allgemeine Vorgehensweise

Anforderungsermittlung und Analyse

Konzeptioneller Entwurf (Informationsmodellierung)

Logischer Entwurf (DB-Schema, externes Schema)

Physischer Entwurf (internes Schemas)

Anwendungserstellung, Systemintegration

Informationssystem

Verwendung

Reales System AuswertungModifikationen

TestsEvaluationen

Des

ign

& M

odel

lieru

ngIm

plem

entie

rung

Page 6: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

6 GLDB 2013/14G. GrönerDatenmodellierung

Informationsmodellierung

ZusammenhängeSachverhalteInformationenGegenstände

PersonenTatsachen

„Miniwelt“

Veränderungen,Vorgänge

Formalisierung

ObjekteAttribute

Beziehungen

Darstellungselemente + Regeln:- Objekte und Beziehungen (Relationships)- Klassen von Objekten / Beziehungen- Eigenschaften (Attribute)

Informationen über Objekte und Beziehungen nur wenn:- relevant- unterscheidbar und identifizierbar, selektiv beschreibbar

Page 7: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

7 GLDB 2013/14G. GrönerDatenmodellierung

Anforderungsanalyse

→ Vorgehen zur Erstellung einer Anforderungsspezifikation Diskussion mit zukünftigen Anwendern Ziel: Erstellung eines strukturierten Dokuments

Bestandteile: Informationsstrukturanforderungen:

mit Beschreibungen über Objekte (abstrahiert zu Objekttypen) Attribute (beschreiben Objekte) Beziehungen (zwischen Objekten, abstrahiert zu

Beziehungstypen)

Datenverarbeitungsanforderung Prozessbeschreibung (betrifft die Datenverarbeitung)

Page 8: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

8 GLDB 2013/14G. GrönerDatenmodellierung

Anforderungsanalyse am Beispiel

Szenario: „Schönes UNiversitäRes InformationsSystEm (SUNRISE)“

• Welche Objekte?• Welche Eigenschaften?• Welche Beziehungen?

• Welche Prozesse?

• Universität• Angestellte• Professoren• Assistenten• Studenten• Vorlesungen• Räume• Bibliotheken• Prüfungen• Zeugnisse• …

Page 9: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

9 GLDB 2013/14G. GrönerDatenmodellierung

Objektbeschreibung

Uni-Angestellte Anzahl: 100 Attribute

• PersonalNummer– Typ: char– Länge: 9 – Wertebereich

0...999.999.999– Anzahl

Wiederholungen: 0– Definiertheit: 100 %– Identifizierend: ja

• Gehalt– Typ: dezimal– Länge: 8,2– Anzahl

Wiederholungen: 0– Definiertheit: 10 %– Identifizierend: nein

• Rang– Typ: char– Länge: 32– Anzahl

Wiederholungen: 9– Definiertheit: 100 %– Identifizierend: nein

Page 10: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

10 GLDB 2013/14G. GrönerDatenmodellierung

Beziehungsbeschreibung: prüfen

Beteiligte Objekte: Professor als Prüfer Student als Prüfling Vorlesung als Prüfungsstoff

Attribute der Beziehung Datum Uhrzeit Note

Anzahl: 100.000 pro Jahr

Page 11: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

11 GLDB 2013/14G. GrönerDatenmodellierung

Prozessbeschreibungen: Zeugniserstellung

Häufigkeit: halbjährlich Benötigte Daten Prüfungen Studienordnungen Studenteninformation …

Priorität: hoch Zu verarbeitende Datenmenge 500 Studenten 3000 Prüfungen 10 Studienordnungen

Page 12: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

12 GLDB 2013/14G. GrönerDatenmodellierung

Abstraktionskonzepte

Informations- und Datenmodelle basieren auf drei grundlegenden Abstraktionskonzepten:

Klassifikation: fasst Objekte (Entities, Instanzen) mit gemeinsamen Eigenschaften zu einem neuen (Mengen-) Objekt (Entity-Menge, Klasse, Objekttyp) zusammen.

Instanzen/Objekte einer Klasse unterliegen gleicher Struktur (Attribute), gleichen Integritätsbedingungen, gleichen Operationen

Mathematisch: Mengenbildungen

Aggregation: Zusammenfassung potentiell unterschiedlicher Teilobjekte (Komponenten) zu einem neuen Objekt

Mathematisch: Bildung von kartesischen Produkten

Generalisierung: Teilmengenbeziehungen zwischen Elementen verschiedener Klassen

Mathematisch: Bildung von Potenzmengen (bzw. Teilmengen)

Wesentlich: Vererbung von Eigenschaften an Teilmengen

Page 13: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

13 GLDB 2013/14G. GrönerDatenmodellierung

Entity-Relationship-Modell

Page 14: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

14 GLDB 2013/14G. GrönerDatenmodellierung

ER-Modell

Peter P-S. Chen (1976) „The Entity-Relationship Model – Toward a Unified View of Data“, ACM TODS

Elemente Entity: Gegenstände / Objekte Relationships: Beziehungen zwischen Entities Attribute: Eigenschaften Rollen: von Entities in Relationships

Enitty vs. EnitätstypBeziehung vs. Beziehungstyp

Klassifikation

Page 15: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

15 GLDB 2013/14G. GrönerDatenmodellierung

Grundlagen ER-Modell

Entity

Relationship

Attribute

Verbindungen

Studenten Vorlesungen Dozenten

Name MatNr Titel

hört liest

Studenten hört Vorlesungen

NameMatNr TitelVorlNr

Schlüsselattribut

Page 16: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

16 GLDB 2013/14G. GrönerDatenmodellierung

Schlüssel

Minimale Menge von identifizierenden Attributen eines Objekts {Matrikelnummer} {Vorname, Name, Geburtsdatum, Geburtsort}

Oft künstlicher Schlüssel bestehend aus einem Attribute (Vorlesungsnummer, Kundennummer, Personalausweisnummer, …)

Mehrere Schlüssel möglich; dann Auswahl eines Primärschlüssels

Page 17: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

17 GLDB 2013/14G. GrönerDatenmodellierung

Relationships

Binär:

Mehrstellig:

Mit Eigenschaften:

Studenten Vorlesungenhört

Studenten Vorlesungenprüft

Dozenten

Studenten Vorlesungenprüft

Dozenten

Note

Page 18: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

18 GLDB 2013/14G. GrönerDatenmodellierung

Relationships – Rollen

Manchmal notwendig zur Klärung von Sachverhalten:

Studenten Vorlesungenprüft

Dozenten

Note

ThemaPrüfling

Prüfer

Vorlesungen

voraussetzen

Vorgänger Nachfolger

Page 19: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

19 GLDB 2013/14G. GrönerDatenmodellierung

Beispiel

Bibliothek Bücher Standort Nutzer Ausleihe …

Entitäten, Beziehungen, Attribute, Rollen?

Page 20: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

21 GLDB 2013/14G. GrönerDatenmodellierung

Relationships – Formal

E Menge aller Entity(typen) Ein n-stelliger Beziehungstyp R kann als Relation definiert

werden:

• Wobei

Rollen: Gilt Ei = Ej in einer Beziehung, so charakterisiert man die Entitäten durch Rollen:

Vorlesungen

voraussetzen

Vorgänger Nachfolger(Vorgänger: v1, Nachfolger v2)

Bsp.:

Page 21: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

22 GLDB 2013/14G. GrönerDatenmodellierung

Funktionalität von Beziehungen

Einschränkung der Zahl von Beziehungen eines Beziehungstyps, an der eine Entität beteiligt sein kann.

(Funktions-) Eigenschaften der Relation

Total vs. partiell Rechtseindeutig (sonst keine Funktion) Linkseindeutig (injektiv)

Inverse (R-1)

Page 22: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

23 GLDB 2013/14G. GrönerDatenmodellierung

1:1 Beziehungen

Jeden Element aus E1 ist höchstens einem Element aus E2 zugeordnet und umgekehrt

Rechtseindeutig, linkseindeutig, partiell

Beispiel: 1:1 Beziehung hatPass

ReisepasshatPass

Studenten

1

1Studenten Reisepass

Page 23: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

24 GLDB 2013/14G. GrönerDatenmodellierung

1:N Beziehungen

Jeden Element aus E1 kann beliebig viele Elemente aus E2 zugeordnet sein, aber jedes Element aus E2 nur einem Element aus E1

(keine Funktion), linkseindeutig, partiell

Beispiel: 1:N Beziehung leiht (Buchausleihe)

Buchleiht

Studenten

N

1Studenten Buch

Page 24: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

25 GLDB 2013/14G. GrönerDatenmodellierung

N:1 Beziehungen

Umgekehrter Fall zu 1:N

rechtseindeutig, partiell

Beispiel: N:1 Beziehung gehörtZu (Übungsgruppen)

GruppegehörtZu

Studenten

1

NStudenten Gruppe

Page 25: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

26 GLDB 2013/14G. GrönerDatenmodellierung

N:M Beziehungen

Keine Einschränkung

Beispiel: N:M Beziehungen hört (Vorlesung) liest (Vorlesung)

Vorlesunghört

Studenten

M

NStudenten Vorlesung

Page 26: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

27 GLDB 2013/14G. GrönerDatenmodellierung

Funktionalität mehrstelliger Beziehungen

N-stellige Beziehung

Steht an Ei eine 1, so ist

• eine partielle Funktion, d.h. die Relation ist rechtseindeutig

Dies gilt für alle Entitytypen mit einer 1

Page 27: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

28 GLDB 2013/14G. GrönerDatenmodellierung

Beispiel 1

Bedeutung?

Studenten Vorlesungenprüft

Dozenten

Note

MN

1

Funktionen (Studenten, Vorlesungen) → Dozenten

• Studenten werde für eine Vorlesung nur von einem Dozenten geprüft

Page 28: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

29 GLDB 2013/14G. GrönerDatenmodellierung

Beispiel 2

Bedeutung?

Studenten Vorlesungenprüft

Dozenten

Note

M

N 1

Funktionen (Studenten, Dozenten) → Vorlesungen

• Dozent prüft einen Studenten in höchstens einer Vorlesung

Page 29: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

30 GLDB 2013/14G. GrönerDatenmodellierung

Beispiel 3

Bedeutung?

Studenten Vorlesungenprüft

Dozenten

Note

1

N 1

Funktionen (Studenten, Vorlesungen) → Dozenten (Studenten, Dozenten) → Vorlesungen

• Studenten werden von einem Dozenten nur einmal und für nur eine Vorlesung geprüft

Page 30: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

31 GLDB 2013/14G. GrönerDatenmodellierung

Beispiel 4

Bedeutung?

Studenten Vorlesungenprüft

Dozenten

Note

1

1 1

Funktionen (Studenten, Vorlesungen) → Dozenten (Studenten, Dozenten) → Vorlesungen (Dozenten, Vorlesungen) → Studenten

• Ein Dozent prüft eine Vorlesung für höchstens einen Studenten

Page 31: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

32 GLDB 2013/14G. GrönerDatenmodellierung

Min-Max Notation

Bisher: Funktionalitäten von Beziehungstypen Wichtig ist max. Anzahl: 1 oder N („viele“)

• Geht das noch genauer?

➔ Min-Max Notation Gibt Unter- und Obergrenze an

Page 32: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

33 GLDB 2013/14G. GrönerDatenmodellierung

Min-Max Notation (2)

Genauere Spezifikation, wie viele Entitäten an einer Beziehung mindestens / höchstens teilnehmen dürfen 0: keine Entität erforderlich 1,2,3,4, … : Zahlwert vorgegeben *: keine Einschränkung

Studenten Vorlesungenhört(0,*) (1,*)

Page 33: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

34 GLDB 2013/14G. GrönerDatenmodellierung

ERM-Beispiel: BegrenzungsflächendarstellungPolyeder

Hülle

PolyID1

Flächen

Kanten

Punkte

Begrenzung

StartEnde

(4,*)

N (1,1)

N

M

M

N

(3,*)

(2,2)

(2,2)

(3,*)

FlächenID

KantenID

XY

Z

BeispielPolyeder

(mit 6 Flächen)

Fläche gehört zu 1 Polyeder,Polyeder hat mehrere Flächen

Tetraeder(4 Flächen)

Page 34: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

35 GLDB 2013/14G. GrönerDatenmodellierung

Min-ERM-Beispiel: Begrenzungsflächendarstellung

Hinweis zu Min-Max Notation: Notation ist „kontra-intuitiv“

Polyeder

Hülle

PolyID1

Flächen

(4,*)

N (1,1)

FlächenID

Page 35: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

36 GLDB 2013/14G. GrönerDatenmodellierung

Existenzabhängige Entitäten

Entitäten, die in ihrer Existenz von einer anderen Entität abhängig sind

(Oft) nur zusammen mit Schlüssel der übergeordneten Entität eindeutig identifizierbar

Kunde Bestellungbeauftragt

Artikel

KundenNr

1 N

umfasst

Datum

M

N

übergeordnetesEntity

Beziehung entweder1:1 oder 1:N

(nie M:N)

Page 36: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

37 GLDB 2013/14G. GrönerDatenmodellierung

Darstellung Aggregation (part-of)

Inhaltsverzeichnis Index

part-of

Buch

Kapitel

part-of part-of

part-of part-of part-of

Überschrift Abbildung Absatz

Page 37: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

38 GLDB 2013/14G. GrönerDatenmodellierung

Darstellung Generalisierung (is-a)

MenschenName

Studenten Angestellte

Wiss. Mitarbeiter Professoren Nichtwiss. MA

MatrNr

Name

is-a

is-a

PersNr

Page 38: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

39 GLDB 2013/14G. GrönerDatenmodellierung

Arten von Spezialisierung

X

Y Z

is-a

Superklasse

Subklassen

disjunkte Spezialisierung(Partitionierung)

Überlappende Spezialisierung

Y Z Y Z

YZ

Y Z

X X

XX

vollständig, disjunkt (complete, disjoint)

partiell, disjunkt (incomplete, disjoint)

vollständig, überlappend (complete, overlapping)

partiell, überlappend (incomplete, overlapping)

Page 39: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

40 GLDB 2013/14G. GrönerDatenmodellierung

ER-Modell

Ein ER-Modell für alles – oft zu komplex

Einzelne Sichten des Szenarios modellieren und dann schrittweise integrieren Entfernung von Redundanzen Entfernung von Widersprüchen Behandlung von Synonymen (Dozent, Lehrender) oder

Homonymen (betreut – Diplomarbeit, Doktorarbeit)

Page 40: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

41 GLDB 2013/14G. GrönerDatenmodellierung

Sichtenintegration

Konzeptueller Entwurf „in einem Guss“ schwierig Mehrere Sichten, dann Integration zu globalem Schema Mögliche Sichten im Universitätsbeispiel

• Professorensicht

• Studentensicht• Sicht der Universitätsleitung

• …

Sichten nicht notwendigerweise disjunkt

Sicht 1

Sicht 2Sicht 3

Sicht 4 Konsolidierung

globalesSchema

Page 41: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

42 GLDB 2013/14G. GrönerDatenmodellierung

UML

Page 42: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

43 GLDB 2013/14G. GrönerDatenmodellierung

Unified Modeling Language (UML)

Standardisierte graphische Notation / Sprache zur Beschreibung objektorientierter Software und Software-Entwicklung

Kombination unterschiedlicher Modelle bzw. Notationen, u.a. Booch Rumbaugh (OMT) Jacobson (Use Cases)

Standardisierung durch Herstellervereinigung OMG (Object Management Group): 1997: UML 1.1 2001: UML 1.4 2003: UML 2.0

Infos: www.uml.org Literatur: J. Rumbaugh, I. Jacobson, Grady Booch:The Unified Modeling

Language Reference Manual (2nd Edition) Addison-Wesley, 2004

Page 43: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

44 GLDB 2013/14G. GrönerDatenmodellierung

UML Bestandteile

UML umfasst

Modellelemente (Klassen, Interfaces, Anwendungsfälle,...)

Beziehungen (Assoziationen, Generalisierung, Abhängigkeiten, …)

Diagramme

Anforderungen

Analyse

Entwurf

Implementierung

Software-Entwicklung

Objektstruktur Objektverhalten

Anwendungsfälle

KlassendiagrammeModularisierung

Klassendiagrammeverfeinert

Komponentendiagramme Code (Klassendefinition)

Aktivitäten

SzenarienSequenzdiagramme

Kooperations-,Zustandsdiagramme

Verteilungsdiagramme,Code (Methoden)

für uns wichtig

Page 44: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

45 GLDB 2013/14G. GrönerDatenmodellierung

UML Diagrammtypen

UML unterscheiden zwischen zwei wesentlichen Diagrammtypen Strukturdiagramme

Verhaltensdiagramme

Unter den Verhaltensdiagrammen gibt es noch einen speziellen Diagrammtyp, die Interaktionsdiagramme.

Struktur-diagramm

Verhaltens-diagramm

Diagramm

Interaktions-diagramm

Page 45: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

46 GLDB 2013/14G. GrönerDatenmodellierung

Übersicht Strukturdiagramme

Zeigen die statische Struktur der Objekte des Systems Dargestellte Elemente sind unabhängig von der Zeit Elemente repräsentieren wichtige Konzepte des Systems

Klassen-diagramm

Objekt-diagramm

Struktur-diagramm

Paket-diagramm

Kompositions-struktur-

diagramm

Verteilungs-diagramm

Komponenten-diagramm

Objektstruktur Modellstruktur Applikationsarchitektur

Page 46: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

47 GLDB 2013/14G. GrönerDatenmodellierung

UML: Darstellung von Klassen und Objekten

Klassensymbol: Angabe von Klassenname Attribute (optional) Methoden (optional)

• i.a. werden nur relevante Details gezeigt!

Sichtbarkeit• i.d.R. alles sichtbar beim Entwurf

Student Student

+MatNr: int+Name: String

Student

+semester(): int+sumSWS(): short

Student

+semester(): int+sumSWS(): short

+MatNr: int+Name: String

Page 47: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

48 GLDB 2013/14G. GrönerDatenmodellierung

UML Assoziationen

Entspricht Beziehungen (relationships) im ER-Modell Optional Assoziationsnamen Leserichtung ( bzw. ), sonst bidirektional Rollennamen Sichtbarkeit von Rollen (+,-,#) Kardinalitätsrestriktionen

Klasse 1

Student Vorlesung

Klasse 2Assoziationsname

hört+Hörer +Veranstaltung

Rolle 1 Rolle 2

Page 48: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

49 GLDB 2013/14G. GrönerDatenmodellierung

UML Assoziationen (2)

Anzahl der Klassen in einer Assoziation ist nicht beschränkt Meistens aber nur binäre Assoziationen Die Beschreibung bei n-ären Assoziationen ist komplex

Student Vorlesunghört+Hörer +Veranstaltung

Page 49: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

50 GLDB 2013/14G. GrönerDatenmodellierung

Beispiel: ER vs. UML

Student

+MatNr: int+Name: String

Vorlesung

+VorlNr: int+Titel: String+Raum: String

hört 0..*0..*

Studenten hört Vorlesungen

NameMatNr TitelVorlNr

Raum

N M

Page 50: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

51 GLDB 2013/14G. GrönerDatenmodellierung

UML: Assoziationsklassen

Notwendig für Beziehungen mit eigenen Attributen Gestrichelte Linie Name der Assoziationsklasse entspricht dem der

Assoziation

Studenten VorlesungPrüfung **

Studenten Vorlesung**

Prüfung

+Datum:String

Page 51: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

52 GLDB 2013/14G. GrönerDatenmodellierung

UML Kardinalitätsrestriktionen

Verfeinerung der Semantik eines Beziehungstyps durch Kardinalitätsrestriktionen

x ..y mindestens x, maximal y Objekte nehmen an der

Beziehung teil 0 .. * optionale Teilnahme an der Beziehung

(alternativ * ('many')) 1 .. * obligatorische Teilnahme an der Beziehung

0 ..1 „es kann nur einen geben“ (oder keinen)

1 genau 1

Page 52: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

53 GLDB 2013/14G. GrönerDatenmodellierung

UML Kardinalitätsrestriktionen (2)

Für binäre Assoziationen

Multiplizität min1..max1 (min2..max2) bedeutet, dass zu jedem E2 (E1) – Element wenigstens min1 (min2) und höchstens max1 (max2) Instanzen von E1 (E2) enthalten sein müssen

(mit 0 <= mini <= maxi, maxi >= 1)

Bezugnahme zur „gegenüberliegenden“ Klasse

Erlaubt Unterscheidung, ob Beziehungsteilnahme Optional (Mindestkardinalität = 0) oder Obligatorisch (Mindestkardinalität >= 1) ist

E1 E2R

min1..max1 min2..max2

e1 nimmt an [min2..max2] Beziehungen vom Typ R teil

e2 nimmt an [min1..max1] Beziehungen vom Typ R teil

Page 53: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

54 GLDB 2013/14G. GrönerDatenmodellierung

UML part-of Beziehung part-of Beziehung (Teil-von Beziehung) zwischen Komponenten

und Aggregatobjekten Elemente einer Subkomponenten sind auch Elemente aller

Superkomponenten dieser Subkomponente Referenzsemantik ermöglicht, dass ein Objekt gleichzeitig

Element verschiedener Komponenten bzw. Subkomponenten von mehreren Superkomponenten sein kann (Netzwerk, (n,m) Beziehungen möglich) Wertesemantik (Komposition): Teil-Objekt gehört genau zu

einem Aggregatobjekt; Existenzabhängigkeit!

Komp.Klasse 1 Komp.Klasse 1 Komp.Klasse 2Komp.Klasse 2

Aggregatklasse Aggregatklasse

Page 54: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

55 GLDB 2013/14G. GrönerDatenmodellierung

UML: is-a Beziehung is-a Beziehung zwischen Klassen (Entity-Mengen)

E1 is-a E2 bedeutet, dass jedes Objekt aus E1 auch ein Objekt aus E2 ist, jedoch mit zusätzlichen strukturellen Eigenschaften Substitutionsprinzip (Ersetzungsprinzip): alle Instanzen einer

Subklasse sind auch Instanzen der Superklasse• d.h. Objekt der Subklasse kann immer auch als Objekt der Superklasse

verwendet werden

Vererbung von Eigenschaften (Attribute, Integritätsbedingungen, Methoden, ..) der Superklasse an alle Subklassen Wiederverwendbarkeit, Erweiterbarkeit Keine Wiederholung von Beschreibungsinformation, Fehlervermeidung

Subklasse 1 Subklasse 2

Superklasse

Subklasse 1 Subklasse 2

Superklasse

Page 55: Daten- und Informationsmodellierung · Konzeptioneller Entwurf (Informationsmodellierung) Logischer Entwurf (DB-Schema, externes Schema) Physischer Entwurf (internes Schemas) Anwendungserstellung,

56 GLDB 2013/14G. GrönerDatenmodellierung

Zusammenfassung

DB-Entwurf umfasst Informationsanalyse Konzeptioneller Entwurf (→ Informationsmodell) Logischer Entwurf (→ logisches DB-Schema) Physischer Entwurf (→ physisches DB-Schema)

Formale Darstellung ER-Modell UML-Klassendiagramme

Keine festen Regeln zur eigentlichen Informationsmodellierung (i.A. mehrere Modellierungsmöglichkeiten einer Miniwelt)