Normalisierung von Datenbanktabellen – Die 3. Normalform

This entry is part 3 of 3 in the series Data Warehouse, 3NF und Dimensional Modelling

In diesem Artikel geht es um die 3. Normalform. 3. Normalform bedeutet, dass die Daten

  • in der 2. Normalform sind und
  • kein Nichtschlüsselattribut transitiv von einem Kandidatenschlüssel abhängt.

Diese transitive Abhängigkeit erklärt man am besten an einem Beispiel:

CD

CD-ID Interpret Album Erscheinungsjahr Geburtsjahr
1234 Gabi Mustermann Gabi singt 2001 1963
2345 Max Mustermann Debütalbum 2001 1960
  • Aus der CD-ID folgt der Interpret oder die Interpretin
  • Aus dem Interpreten können wir nicht auf die CD schließen, denn jeder Interpret oder jede Interpretin kann mehr als eine CD veröffentlichen.
  • Aus dem Interpreten folgt aber das Geburtsjahr

Damit hängt das Geburtsjahr (ein Nichtschlüsselattribut) transitiv von der CD-ID (dem Schlüssel/Schlüsselkandidaten) ab. Transitiv bedeutet formell ausgedrückt: „Eine zweistellige Relation R heißt transitiv, wenn aus a R b und b R c stets a R c folgt.“

Wie löst man die transitive Abhängigkeit auf? Indem man weitere Tabellen erstellt. In unserem Beispiel erstellen wir eine Interpreten-Tabelle und verweisen in der CD-Tabelle nur noch auf den entsprechenden Schlüssel.

Interpret

Interpret-ID Name Geburtsjahr
1 Gabi Mustermann 1963
2 Max Muster 1960

CD

CD-ID Interpret-ID Album Erscheinungsjahr
1234 1 Gabi singt 2001
2345 3 Debütalbum 2001

Titel

CD-ID Tracknummer Titel
1234 1 Gabi singt laut
1234 2 Gabi singt leise
1234 3 Gabi singt weiter
2345 1 Von der Liebe
2345 2 Vom Leben
2345 3 Vom Ableben
2345 4 Duett mit Gabi

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Series Navigation<< Normalisierung von Datenbanktabellen – Die 2. Normalform