Datenbank Grundlagen
Navigation
Allgemeines
Normalformen
Joins
Relationenalgebra
 
 
abstandhalter


Dritte Normalform (3NF)

Eine Relation ist dann in der dritten Normalform (3NF), wenn sie in der ersten und zweiten Normalform vorliegt und kein Nichtschlüsselattribut von (irgend)einem Schlüssel transitiv abhängt. Um eine transitive Abhängigkeit also auszuschließen, dürfen alle Nichtschlüsselattribute nicht von anderen Nichtschlüsselattributen abhängig sein. Gibt es demnach kein Nichtschlüsselattribut und die Relation liegt in zweiter Normalform vor, dann liegt sie automatisch auch in der dritten Normalform vor.

Generell müssen folgende Bedingungen erfüllt sein, damit ein Attribut c transitive abhängig von A ist:
  1. A B c
  2. B A - Äquivalenz: verhindert dass A = B ist
  3. c AB - Reflexivität: verhindert das c trivialerweise von A oder B abhängt

1.) Beispiel für Relation in dritter Normalform

Nachfolgender Abhängigkeitsgraph zeigt eine Relation die sich in der dritten Normalform befindet:

Beispiel für Relation in dritter Normalform


Mit lediglich einem flüchtigen Blick könnte man bei dieser Relation schnell auf die Idee kommen, dass hier eine transitive Abhängigkeit vorliegt. Schließlich ist Bedingung 1 (siehe oben: a b c) erfüllt. Bei dieser Relation gilt allerdings auch a b und(!) b a, damit wird Regel 2 verletzt und somit ist c eben nicht von a transitiv abhängig. Demnach liegt hier eine die dritte Normalform vor, da hier jeweils die Schlüssel a und b sind, während die Nichtschlüsselattribute c und d nicht transitiv von a oder b abhängen.

2.) Beispiel einer Verletzung der dritter Normalform

Man gehe wieder von nachfolgendem Abhängigkeitsgraph aus. Es ist der selbe wie im erste Beispiel, nur das diesmal die Abhängigkeit von b nach a entfernt wurde:

Beispiel für eine Verletzung der dritten Normalform


Diesmal ist die Relation nicht in der dritten Normalform, da alle Bedingungen (siehe oben) zutreffen und c somit transitiv von A abhängig ist.



abstandhalter