Download - (E)ER ins Relationenmodell
![Page 1: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/1.jpg)
Foto: M. Strauch
Vorlesung „Informationssysteme“
Vertiefung Kapitel 4: Von (E)ER ins Relationenmodell
Erik Buchmann ([email protected])
Saarbrücken, 21.05.2015Information Systems Group
![Page 2: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/2.jpg)
Universität des Saarlandes2 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Aus den Videos wissen Sie...
...welche Bestandteile das relationale Modell aufweistUnd wie sich diese in ER und EER modellieren lassen
...dass bei der Überführung von ER ins Relationenmodell Schlüssel besonders beachtet werden müssen
manchmal Relationen verschmolzen werden dürfen
es manchmal mehrere Optionen gibt, um den gleichen Sachverhalt auszudrücken
Vertiefung heute: Mehr zur Umwandlung von EER-Modellen zu UML-Klassendiagrammen
Abbilden von schwierigen Fällen im ER-Modell auf das Relationenmodell
Umwandlung von EER-Modellen in das Relationenmodell
(Anmerkung: Im Folgenden wurden die Datentypen weggelassen)
![Page 3: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/3.jpg)
Foto: M. Strauch
EER → UML-Klassendiagramm
![Page 4: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/4.jpg)
Universität des Saarlandes4 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Das Klassendiagramm
Übersicht über Aufbau und Zusammenspielvon objektorientiert verwalteten Daten
Im Datenbankkontext wichtig fürMit OO-Entwicklungsumgebungkompatible Schemadefinition
Katzenfutter
NamePreis
Trockenfutter Naßfutter
Pelletgröße Wasseranteil
![Page 5: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/5.jpg)
Universität des Saarlandes5 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Laufendes Beispiel
Entwickeln Sie daraus ein UML-Klassendiagramm
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
n
![Page 6: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/6.jpg)
Universität des Saarlandes6 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Schritt 1 von 5
Entitätstypen in Klassen umwandelnKünstliche Schlüssel können weggelassen werden, wenn sie nur eingeführt wurden, weil das EER-Modell sie erzwingt
Person Katzenfutter
Trockenfutter Naßfutter
Name NamePreis
Pelletgröße Wasseranteil
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
n Anschrift
Straße
![Page 7: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/7.jpg)
Universität des Saarlandes7 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Schritt 2 von 5
Beziehungstypen in Assoziationen umwandelnKardinalitäten zu UML-Multiplizitäten
Person Katzenfutter
Trockenfutter Naßfutter
Name NamePreis
Pelletgröße Wasseranteil
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
n Anschrift
Straße
kauft
0..* 0..*
![Page 8: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/8.jpg)
Universität des Saarlandes8 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Schritt 3 von 5
Alle existenzabhängigen Entitytypen werden zu Kompositionenebenso wie ER immer Kardinalität 1
Person Katzenfutter
Trockenfutter Naßfutter
Name NamePreis
Pelletgröße Wasseranteil
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
n Anschrift
Straße
kauft
0..* 0..*
0..*
1
0..*hat
![Page 9: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/9.jpg)
Universität des Saarlandes9 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Schritt 4 von 5
Alle Spezialisierungen, Generalisierungen, Partitionierungen werden zu Vererbungen
Prüfen Sie, welche Zusicherung geeignet ist{incomplete}/{complete}, {overlapping}/{disjoint}
Person Katzenfutter
Trockenfutter Naßfutter
Name NamePreis
Pelletgröße Wasseranteil
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
n Anschrift
Straße
kauft
0..* 0..*
0..*
1
0..*hat
{overlapping}{incomplete}
{incomplete}: Außer B und C noch weiter Unterklassen von A möglich{complete}: nicht möglich
{overlapping}: Instanzen von A dürfen gleichzeitig in B und C sein{disjoint}: dürfen nicht
AB
C
![Page 10: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/10.jpg)
Universität des Saarlandes10 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Schritt 5 von 5
Prüfen Sie, ob Sie „besteht aus“-Beziehungstypen in eine Aggregation umwandeln können (hier nicht der Fall)
Prüfen Sie, ob Ihr UML-Modell dasselbeausdrückt wie Ihr (E)ER-Modell
Person Katzenfutter
Trockenfutter Naßfutter
Name NamePreis
Pelletgröße Wasseranteil
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
n Anschrift
Straße
kauft
0..* 0..*
0..*
1
0..*hat
{overlapping}{incomplete}
Ganzes Teil
![Page 11: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/11.jpg)
Foto: M. Strauch
ER → Relationenmodell
![Page 12: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/12.jpg)
Universität des Saarlandes12 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Kapazitätserhaltende Abbildung
Abbildung ins Relationen-modell soll soviele Zuständeerlauben wie modelliert!Was ist der Schlüssel in „hat“?
[Halter]: {[Name]} [Auto]: {[Kennz.]}
Kapazitätsvermindernd[hat]: {[Name, Kennz.]} Problem: Jens kann kein zweites Auto haben
Kapazitätserhöhend[hat]: {[Name, Kennz.]} Problem: Ein Auto kann mehrere Halter haben
Kapazitätserhaltend ← Richtig[hat]: {[Name, Kennz.]}
Halter Autohat1 n
Kennz.Name
ErikJens
KA-123SB-456SB-789
![Page 13: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/13.jpg)
Universität des Saarlandes13 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Zusammenfassung der Abbildungsvorschriften
E1
E2B
P1
P2
A1...
A2...
1 n[E
1]: { [P
1, A
1...] }
[E2]: { [P
2, A
2...] }
[Rb]: { [P
1, P
2 ] }
ER-Konzept abgebildet auf Relationenmodell
Entitytyp Ei
Attribute Ai von E
i
Primärschlüssel Pi von E
i
Relationenschema Ri
Attribute Ai von R
i
Primärschlüssel Pi von R
i
Beziehungstyp B zwischen E1, E
2Relationenschema R
b mit Attributen P
1, P
2
1:n P2 wird Primärschlüssel von R
b
1:1 P1 oder P
2 wird Primärschlüssel von R
b
m:n P1 und P
2 werden Primärschlüssel von R
b
![Page 14: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/14.jpg)
Universität des Saarlandes14 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Zusammenfassung der Abbildungsvorschriften
E1
E2B
P1
P2
A1...
A2...
1 1[E
1]: { [P
1, A
1...] }
[E2]: { [P
2, A
2...] }
[Rb]: { [P
1, P
2 ] }
ODER[R
b]: { [P
1, P
2 ] }
ER-Konzept abgebildet auf Relationenmodell
Entitytyp Ei
Attribute Ai von E
i
Primärschlüssel Pi von E
i
Relationenschema Ri
Attribute Ai von R
i
Primärschlüssel Pi von R
i
Beziehungstyp B zwischen E1, E
2Relationenschema R
b mit Attributen P
1, P
2
1:n P2 wird Primärschlüssel von R
b
1:1 P1 oder P
2 wird Primärschlüssel von R
b
m:n P1 und P
2 werden Primärschlüssel von R
b
![Page 15: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/15.jpg)
Universität des Saarlandes15 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Zusammenfassung der Abbildungsvorschriften
E1
E2B
P1
P2
A1...
A2...
m n[E
1]: { [P
1, A
1...] }
[E2]: { [P
2, A
2...] }
[Rb]: { [P
1, P
2 ] }
ER-Konzept abgebildet auf Relationenmodell
Entitytyp Ei
Attribute Ai von E
i
Primärschlüssel Pi von E
i
Relationenschema Ri
Attribute Ai von R
i
Primärschlüssel Pi von R
i
Beziehungstyp B zwischen E1, E
2Relationenschema R
b mit Attributen P
1, P
2
1:n P2 wird Primärschlüssel von R
b
1:1 P1 oder P
2 wird Primärschlüssel von R
b
m:n P1 und P
2 werden Primärschlüssel von R
b
![Page 16: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/16.jpg)
Universität des Saarlandes16 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
1:n oder 1:1-Beziehungstyp verschmelzen
Funktioniert nur, wenn Fremdschlüssel NULL sein darf, d.h., Datenobjekt muss nicht zwingend existieren
[E1]: { [P
1, A
1...] }
[E2]: { [P
2, A
2..., P
1] }
E1
E2B
P1
P2
A1...
A2...
(0,*) (0,1)
E1
E2B
P1
P2
A1...
A2...
(0,1) (0,1)
Verschmelzen mit der n-Seite
[E1]: { [P
1, A
1..., P
2] }
[E2]: { [P
2, A
2...] }
[E1]: { [P
1, A
1...] }
[E2]: { [P
2, A
2..., P
1] }
oder
Aussuchen, mit welcher Seite verschmolzen wird
1 n
1 1
![Page 17: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/17.jpg)
Foto: M. Strauch
Schwierige Abbildungen
![Page 18: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/18.jpg)
Universität des Saarlandes18 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Rekursive Beziehungen
Beispiel: Arbeiter ist Chef vonanderen Arbeitern
[Arbeiter]: { [PID, Name] }[Chefvon]: { [PID1, PID2] }
Alternativ[Arbeiter]: { [PID, Name, hatChefPID] }
Was möchte ich ausdrücken?Ein Chef kann mehrere Arbeiterunter sich haben
Ein Arbeiter kann genau einen Chef habenAlternativ: Ein Arbeiter muss genau einen Chef haben
Ein Chef darf nicht sich selber als Chef haben
Arbeiter
PID
Chefvon
1n
Name
![Page 19: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/19.jpg)
Universität des Saarlandes19 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Kardinalitäten jenseits von 0, 1, n
In einer Mannschaft spielen genau 11 Spieler
Umsetzung wie eben besprochen[Spieler]: { [SID, Name] }[Mannschaft]: { [MID, Name, Liga] }[spieltin]: { [SID, MID] }
genau 11 Spieler so nicht abbildbar
Spieler
SID
spieltin
Name
Mannschaft
MID
Name
Liga
11 1
![Page 20: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/20.jpg)
Universität des Saarlandes20 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Kardinalitäten jenseits von 0, 1, n
Umsetzung mit „Inlining“[Spieler]: { [SID, Name] }[Mannschaft]: { [MID, Name, Liga, SID1, SID2, SID3, SID4, SID5, SID6, SID7, SID8, SID9, SID10, SID11] }
11 Spieler abbildbar, aber nicht sichergestellt dassunterschiedliche Spieler
jeder Spieler nur eine Mannschaft
Reihenfolge der SIDs spielt eine Rolle→ bitte nicht nachmachen
Spieler
SID
spieltin
Name
Mannschaft
MID
Name
Liga
11 1
![Page 21: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/21.jpg)
Foto: M. Strauch
EER → Relationenmodell
![Page 22: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/22.jpg)
Universität des Saarlandes22 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Das EER-Modell: Typkonstruktor
Modellierungskonstrukt ergänzt das ER-Modell umSpezialisierung / Ist-Beziehung
Generalisierung
Partitionierung
⊇
Eingabetyp 1
Eingabetyp 2
Eingabetyp n
...Ausgabetyp
⊇Eingabetyp Ausgabetyp 2
Ausgabetyp 2
Ausgabetyp n
...
⊇Eingabetyp Ausgabetyp
Auf dieser Seite steht der Schlüssel!
![Page 23: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/23.jpg)
Universität des Saarlandes23 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Spezialisierung
ER-Modell
Äquivalente Darstellung im EER-Modell
Umwandlung ins Relationenmodell daher ebenso wie ER-Spezialisierung, drei Alternativen:
1. [Katze]: { [Name, Alter] }, [Perserkatze]: { [Name, Stammbaum] }
2. [Katze]: { [Name, Alter] }, [Perserkatze]: { [Name, Alter, Stammbaum] }
3. [Katze]: { [Name, Alter, Stammbaum] } ← Nullwerte, keine gute Idee
KatzePerserkatze ist
Perserkatze Katze
Name
Name
Stammbaum
Stammbaum
Alter
Alter
![Page 24: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/24.jpg)
Universität des Saarlandes24 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
EER-Partitionierung
Relationenmodell identisch zur ER-GeneralisierungAlternative 1[Katzenfutter]: { [Name, Preis] }[Bio-Futter]: { [Name, Herkunft] }[Junior]: { [Name, Alter] }
Alternative 2[Katzenfutter]: { [Name, Preis] }[Bio-Futter]: { [Name, Preis, Herkunft] }[Junior]: { [Name, Preis, Alter] }
Alternative 3 ← Nullwerte, keine gute Idee[Katzenfutter]: { [Name, Preis, Herkunft, Alter] }
Katzenfutter
Name
Preis Junior
Bio-Futter
Alter
Herkunft
⊇
![Page 25: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/25.jpg)
Universität des Saarlandes25 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
EER-Generalisierung (1/2)
falsch: Attribute von Katzenfutter in Trockenfutter, Naßfutter übernehmen
[Trockenfutter]: { [Typ, Pelletgröße, Name, Preis] }[Naßfutter]: { [Bezeichnung, Wasseranteil, Name, Preis] }
Katzenfutter
Trockenfutter
NaßfutterName
PreisBezeichung
Typ
⊇Pelletgröße
Wasseranteil
kauftn
m
(...)
Problem: es gibt keinen Schlüssel für die „kauft“-Beziehung
![Page 26: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/26.jpg)
Universität des Saarlandes26 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
EER-Generalisierung (2/2)
funktioniert: künstlicher Schlüssel bei Katzenfutter, 1:1-Bez. mit Trocken- und Naßfutter verschmelzen (entspricht mehrfacher Spezialisierung)
[Katzenfutter]: { [KID, Name, Preis] }[Trockenfutter]: { [Typ, Pelletgröße, KID] }[Naßfutter]: { [Bezeichnung, Wasseranteil, KID] }
Katzenfutter
Trockenfutter
NaßfutterName
PreisBezeichung
Typ
⊇Pelletgröße
Wasseranteil
kauftn
m
(...)
Nachteil: Fremdschlüssel muss NULL sein dürfen, und dassselbe Katzenfutter darf mehrere Trockenfutter / Naßfutter sein.
![Page 27: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/27.jpg)
Universität des Saarlandes27 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Komplexes Beispiel
Entwickeln Sie daraus ein Relationenmodell
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
n
![Page 28: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/28.jpg)
Universität des Saarlandes28 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Entitytypen in Relationen
[Person]: { [Name] }[Anschrift]: { [ID, Straße] }[Katzenfutter]: { [Name, Preis] }[Trockenfutter]: { [ID, Pelletgröße] }[Naßfutter]: { [ID, Wasseranteil] }
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
nAls Arbeitsgrundlage einfach alle Attribute und Schlüssel aus dem Modell übernehmen
![Page 29: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/29.jpg)
Universität des Saarlandes29 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Spezialisierungen, Generalisierungen, Partitionierungen
[Person]: { [Name] }[Anschrift]: { [ID, Straße] }[Katzenfutter]: { [KID, Name, Preis] }[Trockenfutter]: { [ID, Pelletgröße, KID] }[Naßfutter]: { [ID, Wasseranteil, KID] }
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
n
![Page 30: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/30.jpg)
Universität des Saarlandes30 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Beziehungstypen in Relationen umwandeln
[Person]: { [Name] }[Anschrift]: { [ID, Straße] }[Katzenfutter]: { [KID, Name, Preis] }[Trockenfutter]: { [ID, Pelletgröße, KID] }[Naßfutter]: { [ID, Wasseranteil, KID] }[kauft]: {KID, Name}
[hat]: {Name, ID}Person Katzenfutterkauft
n mName
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
nBeziehungsrelation erhält jeweils Primärschlüssel der beteiligten Relationen
![Page 31: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/31.jpg)
Universität des Saarlandes31 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
1:1 und 1:n Beziehungen verschmelzen falls möglich
[Person]: { [Name] }[Anschrift]: { [ID, Name, Straße] }[Katzenfutter]: { [KID, Name, Preis] }[Trockenfutter]: { [ID, Pelletgröße, KID] }[Naßfutter]: { [ID, Wasseranteil, KID] }
[kauft]: {KID, Name}
Person Katzenfutterkauftn m
Name
Name
Preis
⊇
Trockenfutter Naßfutter
WasseranteilPelletgröße
IDID
Anschrift
hat
Straße
ID
1
nBeim Verschmelzen von „hat“ mit „Anschrift“ muss „Name“ als Primärschlüssel enthalten sein, damit Existenzabhängigkeit erhalten bleibt
![Page 32: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/32.jpg)
Foto: M. Strauch
Zum Abschluss
![Page 33: (E)ER ins Relationenmodell](https://reader030.vdokument.com/reader030/viewer/2022021508/5856f8161a28ab6e328c0bef/html5/thumbnails/33.jpg)
Universität des Saarlandes33 InfoSys - (E) ER und Relationenmodell
Dr.-Ing. Erik Buchmann ([email protected])
Wie geht es weiter?
bis Sonntag, 24.05., 12 UhrAbgabe der vierten Gruppenaufgabe als PDF-Datei in Moodle
bis Montag, 25.05., 12 UhrQuiz: Relationenalgebra
Dienstag, 26.05., GHH 12-14 Uhr: TutoriumsterminBesprechung von Aufgabenblatt 4: UML-Klassendiagramm
nächstes Aufgabenblatt: Umwandlung (E)ER ins Relationenmodell
Donnertag, 28.05., GHH 10-12 Uhr: PräsenzterminSchwierige Fälle bei der relationalen Algebra