Sie sind auf Seite 1von 29

Kapitel 11:

Relationale Entwurfstheorie

1
Funktionale Abhängigkeiten
α→β
β ist funktional abhängig von α
∀ r, t ∈ R : r.α = t.α ⇒ r.β = t.β
R
A B C D
Es gilt:
a4 b2 c4 d3 {A} → {B}
{A} → {C}
a1 b1 c1 d1
{C, D} → {B}
a1 b1 c1 d2
Es gilt nicht:
a2 b2 c3 d2
{B} → {C}.
a3 b2 c4 d3
2
Schlüssel

In dem Relationenschema R
ist α ⊆ R ein Superschlüssel falls gilt
α→R

β ist voll funktional abhängig von α, falls gilt


α→β
∀ A ∈ α : α – {A} β

α ⊆ R heisst Schlüsselkandidat falls gilt

R ist voll funktional abhängig von α 3


Relation Städte
Name Bland Vorwahl EW
Frankfurt Hessen 069 650000
Frankfurt Brandenburg 0335 84000
München Bayern 089 1200000
Passau Bayern 0851 50000
... ... ... ...

Schlüsselkandidaten:
{Name, BLand}
{Name, Vorwahl}

4
Relation ProfessorenAdr

ProfessorenAdr: {[PersNr, Name, Rang, Raum,Ort, Straße, PLZ, Vorwahl,


BLand, Landesregierung]}
Abhängigkeiten:
{PersNr} → {PersNr, Name, Rang, Raum,Ort, Straße, PLZ,
Vorwahl, BLand, EW, Landesregierung}
{Ort, BLand} → {Vorwahl}
{PLZ} → {BLand, Ort}
{Ort, BLand, Straße} → {PLZ}
{BLand} → {Landesregierung}
{Raum} → {PersNr}
davon abgeleitet:
{Raum} → {PersNr, Name, Rang, Raum,Ort, Straße,
PLZ, Vorwahl, BLand, Landesregierung}
{PLZ} → {Landesregierung}
5
Hülle von F
Gegeben:
Menge von funktionalen Abhängigkeiten F

Gesucht:
F+ := Menge der aus F ableitbaren Abhängigkeiten

6
Armstrong Axiome
• Reflexivität: Aus β ⊆ α folgt: α → β
• Verstärkung: Aus α → β folgt: αγ → βγ für γ ⊆ U
• Transitivität: Aus α → β
und β → γ folgt: α → γ

Die Armstrong-Axiome sind


• sound (korrekt)
• complete (vollständig)

7
Weitere Axiome

• Vereinigung: Aus α → β
und α → γ
folgt: α → βγ
• Dekomposition: Aus α → βγ
folgt: α → β
und α → γ
• Pseudotransitivität: Aus α → β
und γβ → δ
folgt: αγ → δ

8
Beispiel für Armstrong-Axiome
{PersNr} → {PersNr,Name,Rang,Raum,Ort,Straße,PLZ,Vorwahl,BLand,EW,Landesregierung}
{Ort, BLand} → {Vorwahl}
{PLZ} → {BLand, Ort}
{Ort, BLand, Straße} → {PLZ}
{BLand} → {Landesregierung}
{Raum} → {PersNr}

abzuleiten: {PLZ} → {Landesregierung}

{PLZ} → {BLand} (Dekomposition)


{BLand} → {Landesregierung} (FD)
{PLZ} → {Landesregierung} (Transitivität)

9
Abschluss einer Attribut-Menge

α+ := { β ⊆ U | α → β ∈ F+}

Satz:
α → β folgt aus Armstrongaxiomen ⇔ β ∈ α+.

Algorithmus zur Bestimmung von α+:


X 0 := α
X i+1 := X i ∪ γ falls β → γ ∈ F ∧ β ⊆ X i
Abbruch, falls unverändert

10
Beispiel für Abschluss einer Attributmenge
Sei U = {A, B, C, D, E, G}
Sei F = {AB → C, C → A, BC → D, ACD → B,
D → EG, BE → C, CG → BD, CE → AG}
Sei α = {B, D}
X0 = BD
X1 = BDEG
X2 = BCDEG
X3 = ABCDEG
X4 = ABCDEG
⇒ Abbruch
Also: α+ = ABCDEG
11
Äquivalenz von funktionalen Abhängigkeiten

F ≡ G ⇔ F+ = G+

Algorithmus:
Teste für jede Abhängigkeit α → β ∈ F , ob gilt:
α→ β ∈ G+, d. h. β ⊆ α+.

Teste für jede Abhängigkeit γ → δ ∈ G , ob gilt:


γ → δ ∈ F+, d. h. δ ⊆ γ +.

12
Minimale Menge
von funktionalen Abhängigkeiten

• Jede rechte Seite hat nur ein Attribut.


• Weglassen einer Abhängigkeit aus F verändert F+.
• Weglassen eines Attributs in der linken Seite verändert F+.
Algorithmus:
• Aufsplitten der rechten Seiten.
• Probeweises Entfernen von Regeln bzw. von Attributen
auf der linken Seite.

13
Beispiel für Äquivalenz
U = { A, B, C, D, E, G } Aufspalten der rechten Seiten:

AB → C
F = { AB → C,
C → A
C → A, BC → D
BC → D, ACD → B
ACD → B, D → E
D → EG, D → G
BE → C
BE → C,
CG → B
CG → BD, CG → D
CE → AG} CE → A
CE → G
14
Entfernen von Redundanz
AB → C CE → A ist redundant wegen
C → A
BC → D C → A
ACD → B CG → B ist redundant wegen
D → E
D → G CG → D
BE → C C → A
CG → B ACD → B
CG → D ACD → B kann gekürzt werden zu
CE → A
CE → G CD → B wegen
C → A

15
Schlechte Relationenschemata
PersNr Name Rang Raum VorlNr Titel SWS
2125 Sokrates C4 226 5041 Ethik 4
2125 Sokrates C4 226 5049 Mäutik 2
2125 Sokrates C4 226 4052 Logik 4
... ... ... ... ... ... ...
2132 Popper C3 52 5259 Der Wiener Kreis 2
2137 Kant C4 7 4630 Die 3 Kritiken 4

• Update-Anomalie Angaben zu Professor mehrfach gespeichert


• Insert Anomalie Professor nur mit Vorlesung einfügen
• Delete-Anomalie Entfernen von Vorlesung entfernt Professor

16
Normalisierung

Zerlegung eines Schemas R in Schemata R 1 , R 2, . . . R n


mit
• Verlustlosigkeit:
Die in der ursprünglichen Ausprägung R des Schemas R
enthaltenen Informationen
müssen aus den Ausprägungen R1, . . . , Rn
der neuen Schemata R 1, R 2, . . . R n rekonstruierbar sein
• Abhängigkeitserhaltung:
Die für R geltenden funktionalen Abhängigkeiten
müssen auf die R 1, . . . , R n übertragbar sein.
17
Zerlegung in zwei Relationenschemata

R=R 1 ∪R 2

R1 := ∏R 1 (R)

R2 := ∏R 2 (R)

Eine Zerlegung von R in R 1 und R 2 heißt verlustlos,


falls für jede gültige Ausprägung R von R gilt:

R = R1  R2
18
Beispiel für Zerlegung
Kneipe Gast Bier
Biertrinker
Kowalski Kemper Pils
Kowalski Eickler Hefeweizen
Innsteg Kemper Hefeweizen

Besucht Kneipe Gast Gast Bier Trinkt


Kowalski Kemper Kemper Pils
Kowalski Eickler Eickler Hefeweizen
Innsteg Kemper Kemper Hefeweizen

Kneipe Gast Pils


Besucht  Trinkt
Kowalski Kemper Pils
Kowalski Kemper Hefeweizen
⇒ Nicht
Kowalski Eickler Hefeweizen verlustlos !
Innsteg Kemper Pils
Innsteg Kemper Hefeweizen
19
Abhängigkeitsbewahrend

Zerlegung von R in R 1, R 2, . . . R n heißt


abhängigkeitsbewahrend (hüllentreu) falls gilt

FR ≡ (FR 1 ∪ . . . ∪ FR n) bzw.

F+R = (FR 1 ∪ . . . ∪ FR n)+

20
Beispiel für Zerlegung
Ort BLand Straße PLZ PLZverzeichnis
Frankfurt Hessen Goethestraße 60313 {PLZ} → {Ort, BLand}
Frankfurt Hessen Galgenstraße 60437
{Ort, BLand, Straße}
Frankfurt Brandenburg Goethestraße 15234 → {PLZ}

Straßen PLZ Straßen Ort BLand PLZ Orte


15234 Goethestraße Frankfurt Hessen 60313
60313 Goethestraße Frankfurt Hessen 60437
60437 Galgenstraße Frankfurt Brandenburg 15234
15235 Goethestraße Frankfurt Brandenburg 15235

verlustlos, da PLZ einziges gemeinsames Attribut und {PLZ} → {Ort, BLand}


nicht abhängigkeitserhaltend: wg. {Ort, BLand,Straße, } → {PLZ}
Problem: Einfügen ok. Nach Join Problem wg. {Ort, BLand,Straße, } → {PLZ}
21
Erste Normalform
Verboten sind mengenwertige Attribute:
Vater Mutter Kinder
Johann Martha {Else, Lucia}
Johann Maria {Theo, Josef}
Heinz Martha {Cleo}

Verlangt werden atomare Attribute:


Vater Mutter Kind
Johann Martha Else
Johann Martha Lucia
Johann Maria Theo
Johann Maria Josef
Heinz Martha Cleo
22
Zweite Normalform
Ein Attribut heißt Primärattribut, wenn es in mindestens einem
Schlüsselkandidaten vorkommt, andernfalls heißt es
Nichtprimärattribut.

Ein Relationenschema R ist in zweiter Normalform falls gilt:


• R ist in der ersten Normalform
• Jedes Nichtprimär-Attribut A ∈R
ist voll funktional abhängig
von jedem Schlüsselkandidaten.

23
Beispiel für Normalform
MatrNr VorlNr Name Semester
Studentenbelegung
26120 5001 Fichte 10
27550 5001 Schopenhauer 6
27550 4052 Schopenhauer 6
28106 5041 Carnap 3
28106 5052 Carnap 3
28106 5216 Carnap 3
28106 5259 Carnap 3
Schlüsselkandiaten: ... ... ... ...

{MatrNr, VorlNr}
Nichtprimärattribute:
{Name, Semester} MatrNr Name

Name ist nicht


voll funktional abhängig
von {MatrNr, VorlNr} VorlNr Semester
⇒ keine 2. Normalform
24
Beispiel für Normalform

Hörsaal Vorlesung Dozent Termin Raum


Backen ohne Fett Kant Mo, 10:15 32/102
Selber Atmen Sokrates Mo, 14:15 31/449
Selber Atmen Sokrates Di, 14:15 31/449
Schneller Beten Sokrates Fr, 10:15 31/449

Schlüsselkandidaten: Es gibt keine


Nicht-Primärattribute
{Vorlesung, Termin}
⇒ 2. Normalform
{Dozent, Termin}
{Raum, Termin}
25
Beispiel für Normalform
Student MatrNr Name Fachbereich Dekan
29555 Feuerbach 6 Matthies
27550 Schopenhauer 6 Matthies
26120 Fichte 4 Kapphan
25403 Jonas 6 Matthies
28106 Carnap 7 Weingarten

• Student in zweiter Normalform


aber
• Abhängigkeiten zwischen den
Nichtprimärattributen,
z. B. hängt Dekan von Fachbereich ab.
26
Transitive Abhängigkeit

Gegeben Attributmenge U mit Teilmengen X,Y,Z


Z heißt transitiv abhängig von X, falls gilt
X∩Z=∅
∃ Y ⊂ U : X ∩Y = ∅, Y ∩ Z = ∅
X → Y → Z, Y →
/ X

Beispiel:

MatrNr → Fachbereich → Dekan

27
Dritte Normalform

R ist in dritter Normalform


• R ist in zweiter Normalform
• Jedes Nichtprimärattribut ist nicht-transitiv
abhängig von jedem Schlüsselkandidaten

28
ProfessorenAdr

Rang

Name

PersNr Straße PLZ

Ort

Raum BLand Vorwahl

Alle Nichtprimärattribute sind


Landesregierung
voll funktional abhängig von
jedem Schlüsselkandidaten.


PersNr → {Ort, BLand} → Vorwahl ⇒ nicht in 3. Normalform
29