Normalisierung

Was ist Normalisierung?

Mit Hilfe der Normalisierung werden in relationalen Datenbankschemata Redundanzen vermieden oder beseitigt. Redundanz bedeutet, dass Informationen mehrfach vorhanden sind. Bei Datenbanken führt Redundanz zu erhöhtem Speicherbedarf und Inkonsistenzen. Bei der Normalisierung werden Attribute (Spalten) so auf mehrere Relationen (Tabellen) aufgeteilt, so dass keine oder weniger redundante Informationen gespeichert werden. So liegen z. B. redundante Informationen vor, wenn alle Attribute zu einem Produkt oder einem Kunden immer wieder bei einer Bestellung abgespeichert werden:

Hinweis: In manchen Fällen werden Redundanzen aber auch bewusst in Kauf genommen, wenn dies zu einer besseren Performance oder Übersichtlichkeit einer Datenbank führt!

Normalformen

Der Prozess der Normalisierung erfolgt in mehreren Stufen, die als Normalformen bezeichnet werden. Jede höhere Normalform beinhaltet die Kriterien der vorhergehenden Normalformen und erweitert diese. In den meisten Fällen ist die dritte Normalform ausreichend, die eine gute Ausgewogenheit zwischen Redundanz, Performance und Flexibilität bietet.

Erste Normalform

Die erste Normalform ist erfüllt, wenn alle Attribute (Spalten) einer Relation (Tabelle) nur atomare Wertebereiche haben. Atomar bedeutet, dass keine zusammengesetzten Informationen, wie z. B. Vorname und Nachname, Straße und Nummer oder Postleitzahl und Ort in einem Attribut vorkommen dürfen. Im folgenden Beispiel werden bei der Normalisierung die Attribute mit nichtatomaren Wertebereichen in jeweils zwei Attribute aufgeteilt:

Zweite Normalform

Die zweite Normalform ist erfüllt, wenn die erste Normalform erfüllt ist und jedes Nicht-Schlüsselattribut voll funktional vom Primärschlüssel abhängig ist. Ein Nicht-Schlüssel-attribut ist von einem Primärschlüssel voll funktional abhängig, wenn es nicht nur von einem Teil des Primärschlüssels, sondern vom gesamten Primärschlüssel abhängig ist. Im folgenden Beispiel setzt sich der Primärschlüssel aus der Rechnungsnummer und der Leistung zusammen. Der Preis ist aber nur von der Leistung und nicht von der Rechnungs-nummer abhängig und die Kundendaten sind wiederum nur von der Rechnungsnummer und nicht von der Leistung abhängig:

Dritte Normalform

Die dritte Normalform ist erfüllt, wenn die zweite Normalform erfüllt ist und kein Nicht-Schlüsselattribut vom Primärschlüssel transitiv abhängig ist. Ein Nicht-Schlüsselattribut ist dann von einem Primärschlüssel transitiv (indirekt) abhängig, wenn es nicht direkt vom Primärschlüssel, sondern nur von einem Nicht-Schlüsselattribut abhängig ist. Im folgenden Beispiel ist der Ort nicht direkt von der Kundennummer (Primärschlüssel), sondern nur von der Postleitzahl (Nicht-Schlüsselattribut) abhängig:

Weitere Normalformen

Die höheren Normalformen, nach der dritten Normalform, haben weniger Bedeutung, da sie eher seltener auftretende Fälle behandeln.

Die Boyce-Codd-Normalform ist erfüllt, wenn die dritte Normalform erfüllt ist und kein Schlüsselattribut von einem anderen Attribut abhängig ist. Meist wird die Boyce-Codd-Normalform so definiert, dass jede Determinante ein Schlüsselkandidat sein muss. Eine Determinante ist eine Attributmenge, von der andere Attribute voll funktional abhängig sind. Die Boyce-Codd-Normalform ist eine Verschärfung der dritten Normalform und hat deshalb keine eigene Nummer.

Die vierte Normalform ist erfüllt, wenn die Boyce-Codd-Normalform erfüllt ist und alle mehr-wertigen Abhängigkeiten trivial sind oder eine der jeweils abhängigen Attributmengen ein Schlüsselkandidat ist. Eine mehrwertige Abhängigkeit liegt z. B. bei den beiden Attributen Rechnungsnummer und Produktnummer vor, da zu einer Rechnungsnummer mehrere Produktnummern gehören können. Diese mehrwertige Abhängigkeit ist trivial, wenn die Relation nur aus den beiden Attributen besteht. Gibt es in einer Relation zwei mehrwertige Abhängigkeiten, so muss die eine Attributkombination Schlüsselkandidat der anderen Attributkombination sein.

Die fünfte Normalform ist erfüllt, wenn die vierte Normalform erfüllt ist und keine mehr-wertigen Abhängigkeiten bestehen, die voneinander unabhängig sind. Es darf also nicht mehrere mehrwertige Abhängigkeiten zu einem Schlüsselwert geben. Relationen die durch die fünfte Normalform zerlegt werden, können mit Hilfe des kartesischen Produkts wieder zusammengefügt werden. Anders als bei den vorhergehenden Normalformen wird bei der Umformung in die fünfte Normalform etwas Neues ausgedrückt. Bei drei Attributen entstehen drei Relationen, welche jeweils die Beziehung zwischen zwei Attributen ausdrücken und nicht mehr die Beziehung zwischen den drei Attributen. Durch diese Aufteilung können auch neue Informationen entstehen. Befindet sich ein Relationstyp in der fünften Normalform, ist es nicht mehr möglich den Relationstyp weiter zu zerlegen, ohne dass Informationen verloren gehen. Daher ist die fünfte Normalform auch die letzte Normalform.

Quellen