Logischer Datenbankentwurf Logischer

Datenbanken
Logischer Datenbankentwurf
ER-Modell → Relationales Modell
• Entity-Types werden zu
Relationenschemata
– Alle Attribute des Entity-Types werden zu
Attributen des Relationenschemas.
– Schlüssel bleiben erhalten.
– Falls mehrere Schlüssel existieren, wird ein
Primärschlüssel gewählt. (Der Primärschlüssel
sollte möglichst einfach sein.)
Günter M. Goetz
69
Datenbanken
Logischer Datenbankentwurf
ER-Modell → Relationales Modell
• Jeder Relation-Type wird je Komplexität
der Beziehung in ein eigenes
Relationenschema überführt, bzw. in eines
der anderen integriert.
E1
AE1
Günter M. Goetz
[a,b]
R
[c,d]
E2
AE2
70
1
Datenbanken
Logischer Datenbankentwurf
E1
AE1 ..
.. ..
E1
R
E2
AE2 ..
.. ..
..
.. .. ..
AE1 AE2
[0,1]
R
[0,n]
AE1
E2
AE2
Günter M. Goetz
71
Datenbanken
Logischer Datenbankentwurf
E1
AE1 ..
.. ..
R
E2
AE2 ..
.. ..
..
.. .. ..
AE1 AE2
*Alternativ kann auch
der Primärschlüssel
aus E1 als
Primärschlüssel
definiert werden.
E1
AE1
Günter M. Goetz
[0,1]
R
[0,1]
E2
AE2
72
2
Datenbanken
Logischer Datenbankentwurf
E1
AE1 ..
.. ..
E1
R
E2
AE2 ..
.. ..
..
.. .. ..
AE1 AE2
[0,n]
R
[0,m]
E2
AE1
AE2
Günter M. Goetz
73
Datenbanken
Logischer Datenbankentwurf
E1
AE1 ..
.. ..
E1
AE1
Günter M. Goetz
R
..
.. .. ..
AE1 AE2
[1,1]
R
[1,n]
E2
AE2
74
3
Datenbanken
Logischer Datenbankentwurf
R
..
.. .. ..
AE1 AE2
*Alternativ kann auch
der Primärschlüssel
aus E1 als
Primärschlüssel
definiert werden.
E1
[1,1]
AE1
R
[1,1]
E2
AE2
Günter M. Goetz
75
Datenbanken
Logischer Entwurf
• Verbesserung des resultierenden Schemas
anhand von Gütekriterien:
– Normalisierung
– Minimalität
• Festlegung funktionaler Abhängigkeiten:
– Die funktionale Abhängigkeit X→Y wird definiert
als:
Unterscheiden sich zwei Tupel einer Relation in
den Attributen X nicht, so haben sie auch
gleiche Werte für die Attribute Y.
Günter M. Goetz
76
4
Datenbanken
Normalisierung
• Normalisierung wird durchgeführt aufgrund
von 3 verschiedenen Anomalien, die in
nicht normalisierten relationalen
Datenbanken auftreten
– Einfüge-Anomalie
– Lösch-Anomalie
– Änderungs-Anomalie
Abonnement
Kunde
Zeitschrift
Adresse
Preis
Günter M. Goetz
77
Datenbanken
Normalisierung
1. Normalform:
– Alle Attribute einer Relation sind 'atomar'
Kursnr
3D32
Günter M. Goetz
Teilnehmer
David, Fänger, Kircheis,
Scholz, Schubert
Kursnr
3D32
3D32
3D32
3D32
3D32
Teilnehmer
David
Fänger
Kircheis
Scholz
Schubert
78
5
Datenbanken
Normalisierung
2. Normalform
– Relation entspricht der ersten Normalform
und
– Nichtschlüsselfelder hängen ausschließlich vom
Gesamtschlüssel, nicht von einem Teilschlüssel
Kursnr Teilnehmer
funktional ab
Kursnr
3D32
3D32
3D32
3D32
3D32
9B25
9B25
73V5
Kursbezeichnung
Datenbanken
Datenbanken
Datenbanken
Datenbanken
Datenbanken
Datenbanken
Datenbanken
Relationenalgebra
Teilnehmer
David
Fänger
Kircheis
Scholz
Schubert
Meier
Müller
Schulze
3D32
3D32
3D32
3D32
3D32
9B25
9B25
73V5
Kursnr
3D32
9B25
73V5
David
Fänger
Kircheis
Scholz
Schubert
Meier
Müller
Schulze
Kursbezeichnung
Datenbanken
Datenbanken
Relationenalgebra
Günter M. Goetz
79
Datenbanken
Normalisierung
3. Normalform
– Relation entspricht der zweiten Normalform
und
– Nichtschlüsselfelder hängen nicht von anderen
Nichtschlüsselfeldern funktional ab
Fahrgestellnummer
WFA34523XX3452355
WFA34543YY3464566
XCF3465H345H34566
Günter M. Goetz
Modell
Ford Focus TD4
Ford Focus 1.9i
BMW 318i
Fahrzeuglinie
Ford Focus
Ford Focus
BMW 3er
Fahrgestellnummer
WFA34523XX3452355
WFA34543YY3464566
XCF3465H345H34566
Modell
Ford Focus TD4
Ford Focus 1.9i
BMW 318i
Modell
Ford Focus TD4
Ford Focus 1.9i
BMW 318i
Fahrzeuglinie
Ford Focus
Ford Focus
BMW 3er
80
6
Datenbanken
Logischer Entwurf - Minimalität
"Die Minimalität des Datenbankschemas
bedeutet, daß wir zwar Normalformen und
andere Eigenschaften durch Aufspalten in
mehrere Relationenschemata erreichen
wollen, dass wir aber möglichst wenig
Relationenschamata erzeugen wollen, die
den Anforderungen genügen. Können wir
also die dritte Normalform mit 4 Schemata
erreichen, ist das besser als das Erreichen
desselben Kriteriums mit sechs
Relationenschemata." (Heuer, Saake,
2000)
Günter M. Goetz
81
7