Relationale Normalform

Die Motivation für die Einführung sind Anomalien, die sich beim Einfügen, Ändern oder Löschen von Datensätzen ergeben.

Angenommen eine Relation enthält zu jedem Artikel im Lager den Namen und die Anschrift des Lieferanten des Artikels. Ändert sich die Adresse des Lieferanten (z.B. Postleitzahl) so muß diese Änderung bei vielen Tupeln durchgeführt werden (Update-Anomalie). Falls der letzte Artikel eines Lieferaten aus dem Lager entnommen wird und der entsprechende Datensatz gelöscht wird, geht auch die Anschrift des Lieferanten verloren, obwohl sie gerade jetzt benötigt wird (Lösch-Anomalie).

Wenn Relationen in höheren Normalformen vorliegen, werden derartige Anomalien und Redundanzen vermieden.

2NF - für jedes Nicht-Schlüsselattribut A und jeden Schlüssel K gilt: K → A ist links-minimal.

3NF - für jedes Nicht-Schlüsselattribut A und jeden Schlüssel K gilt: K → A ist direkt.

BCNF - für jedes Attribut A und jeden Schlüssel K gilt: K → A ist direkt.

4NF - für jede MVD X →→ Y, wobei Y keine Teilmenge von X und XY echte Teilmenge von V (Menge aller Attribute) ist, gilt: X → U (d.h. X ist super key).

5NF - jede JD [X1, X2, ..., Xn] wird allein von den Schlüsselabhängigkeiten impliziert.

Unter einer direkten FD wird eine funktionale Abhängigkeit verstanden, die nicht transitiv ist. Transitiv ist eine FD X → Y dann, wenn es funktionale Abhängigkeiten X → Z und Z → Y gibt, wobei Y keine Teilmenge von X oder Z sein darf und Z → X nicht gilt.