Unter Normalisierung verstehen wir die Zerlegung eines Relationenschemas
R in die Relationenschemata
R 1,
R 2,...Rn,
die jeweils nur eine Teilmenge der Attribute von
R aufweisen,
d. h.
R i
R .
Verlangt werden hierbei
Wir betrachten die Zerlegung in zwei Relationenschemata. Dafür muß gelten
R=R 1
R 2.
Für eine Ausprägung R von
R definieren wir die Ausprägung R1
von
R 1 und R2 von
R 2 wie folgt:
R1 : = (R)
R2 : = (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
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.
3|c|Biertrinker | ||
Kneipe | Gast | Bier |
Kowalski | Kemper | Pils |
Kowalski | Eickler | Hefeweizen |
Innsteg | Kemper | Hefeweizen |
2|c|Trinkt |
|
Gast | Bier |
Kemper | Pils |
Eickler | Hefeweizen |
Kemper | Hefeweizen |
3|c|Besucht ![]() |
||
Kneipe | Gast | Pils |
Kowalski | Kemper | Pils |
Kowalski | Kemper | Hefeweizen |
Kowalski | Eickler | Hefeweizen |
Innsteg | Kemper | Pils |
Innsteg | Kemper | Hefeweizen |
Eine Zerlegung von R in
R 1, ...,
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.
4|c|PLZverzeichnis | |||
Ort | BLand | Straße | PLZ |
Frankfurt | Hessen | Goethestraße | 60313 |
Frankfurt | Hessen | Galgenstraße | 60437 |
Frankfurt | Brandenburg | Goethestraße | 15234 |
3c |
|
|
3|c|Orte | ||
Ort | BLand | |
Frankfurt | Hessen | |
Frankfurt | Hessen | |
Frankfurt | Brandenburg | |
Es sollen die folgenden funktionalen Abhängigkeiten gelten:
Die Zerlegung ist verlustlos, da PLZ das einzige gemeinsame Attribut ist
und {PLZ} {Ort, BLand} gilt.
Die funktionale Abhängigkeit {Straße, Ort, BLand} {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}
{PLZ} entdeckt.