prev up next

Zerlegung von Relationen

Unter Normalisierung verstehen wir die Zerlegung eines Relationenschemas $ \cal {R}$ in die Relationenschemata $ \cal {R}$1,$ \cal {R}$2,...Rn, die jeweils nur eine Teilmenge der Attribute von $ \cal {R}$ aufweisen, d. h. $ \cal {R}$i $ \subseteq$ $ \cal {R}$. Verlangt werden hierbei

Wir betrachten die Zerlegung in zwei Relationenschemata. Dafür muß gelten $ \cal {R}$=R1 $ \cup$ $ \cal {R}$2. Für eine Ausprägung R von $ \cal {R}$ definieren wir die Ausprägung R1 von $ \cal {R}$1 und R2 von $ \cal {R}$2 wie folgt:

R1 : = $\displaystyle \Pi_{{\cal R}_1}^{}$(R)

R2 : = $\displaystyle \Pi_{{\cal R}_2}^{}$(R)

Eine Zerlegung von $ \cal {R}$ in $ \cal {R}$1 und $ \cal {R}$2 heißt verlustlos, falls für jede gültige Ausprägung R von $ \cal {R}$ gilt:

R = R1 $\displaystyle \bowtie$ R2

Es folgt eine Relation Biertrinker, die in zwei Tabellen zerlegt wurde. Der aus den Zerlegungen gebildete natürliche Verbund weicht vom Original ab. Die zusätzlichen Tupel (kursiv gesetzt) verursachen einen Informationsverlust.

Biertrinker
Kneipe Gast Bier
Kowalski Kemper Pils
Kowalski Eickler Hefeweizen
Innsteg Kemper Hefeweizen

Besucht
Kneipe Gast
Kowalski Kemper
Kowalski Eickler
Innsteg Kemper
Trinkt
Gast Bier
Kemper Pils
Eickler Hefeweizen
Kemper Hefeweizen

Besucht $ \bowtie$ Trinkt
Kneipe Gast Pils
Kowalski Kemper Pils
Kowalski Kemper Hefeweizen
Kowalski Eickler Hefeweizen
Innsteg Kemper Pils
Innsteg Kemper Hefeweizen

Eine Zerlegung von $ \cal {R}$ in $ \cal {R}$1, ..., $ \cal {R}$n heißt abhängigkeitsbewahrend (auch genannt hüllentreu) falls die Menge der ursprünglichen funktionalen Abhängigkeiten äquivalent ist zur Vereinigung der funktionalen Abhängigkeiten jeweils eingeschränkt auf eine Zerlegungsrelation, d. h.

Es folgt eine Relation PLZverzeichnis, die in zwei Tabellen zerlegt wurde. Fettgedruckt sind die jeweiligen Schlüssel.

PLZverzeichnis
Ort BLand Straße PLZ
Frankfurt Hessen Goethestraße 60313
Frankfurt Hessen Galgenstraße 60437
Frankfurt Brandenburg Goethestraße 15234

 
Straßen
PLZ Straße
15234 Goethestraße
60313 Gorthestraße
60437 Glagenstraße
 
Orte
Ort BLand PLZ
Frankfurt Hessen 60313
Frankfurt Hessen 60437
Frankfurt Brandenburg 15234

Es sollen die folgenden funktionalen Abhängigkeiten gelten:

Die Zerlegung ist verlustlos, da PLZ das einzige gemeinsame Attribut ist und {PLZ} $ \rightarrow$ {Ort, BLand} gilt.

Die funktionale Abhängigkeit {Straße, Ort, BLand} $ \rightarrow$ {PLZ} ist jedoch keiner der beiden Relationen zuzuordnen, so daß diese Zerlegung nicht abhängigkeitserhaltend ist.

Folgende Auswirkung ergibt sich: Der Schlüssel von Straßen ist {PLZ, Straße} und erlaubt das Hinzufügen des Tupels [15235, Goethestraße].

Der Schlüssel von Orte ist {PLZ} und erlaubt das Hinzufügen des Tupels [Frankfurt, Brandenburg, 15235]. Beide Relationen sind lokal konsistent, aber nach einem Join wird die Verletzung der Bedingung {Straße, Ort, BLand} $ \rightarrow$ {PLZ} entdeckt.


prev up next