View
218
Download
0
Category
Preview:
Citation preview
Web Science & Technologies
University of Koblenz ▪ Landau, Germany
Daten- und Informationsmodellierung
Dr. Gerd Gröner
Wintersemester 2013/14
Grundlagen der Datenbanken
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
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
4 GLDB 2013/14G. GrönerDatenmodellierung
Datenbankentwurf
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
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
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)
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• …
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
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
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
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
13 GLDB 2013/14G. GrönerDatenmodellierung
Entity-Relationship-Modell
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
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
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
17 GLDB 2013/14G. GrönerDatenmodellierung
Relationships
Binär:
Mehrstellig:
Mit Eigenschaften:
Studenten Vorlesungenhört
Studenten Vorlesungenprüft
Dozenten
Studenten Vorlesungenprüft
Dozenten
Note
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
19 GLDB 2013/14G. GrönerDatenmodellierung
Beispiel
Bibliothek Bücher Standort Nutzer Ausleihe …
Entitäten, Beziehungen, Attribute, Rollen?
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.:
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)
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
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
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
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
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
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
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
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
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
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
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,*)
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)
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
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)
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
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
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)
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)
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
42 GLDB 2013/14G. GrönerDatenmodellierung
UML
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
Recommended