Posts tagged ‘3NF’

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

Normalisierung von Datenbanktabellen – Die 1. Normalform

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

Am besten lernt man, wenn man lehrt! Da ich mich momentan intensiver mit Themen wie Data Warehouse, Data Vault, 3NF und Dimensional Modelling beschäftige, versuche ich in den Artikeln dieser Reihe für mich ein wenig Licht in das Begriffsdunkel zu bringen. Quellen dieser Artikel sind die entsprechenden Wikipedia-Artikel, Google Ergebnisse und die 7. Auflage des Buchs „Fundamentals of Database Systems“ von Elmasri und Navathe, das es bei Amazon für knapp 45 Euro gibt.

In diesem Artikel soll es um die Normalformen gehen, siehe dazu den Wikipedia-Artikel für die Grundlagen.

Betrachten wir als Beispiel einen Satz Musikdaten, bestehend jeweils aus Interpret, Albumtitel, Erscheinungsjahr, Geburtsjahr des Interpreten, Titelliste:


Gabi Mustermann - Gabi singt, 2000, 1963, {1. Gabi singt laut, 2. Gabi singt leise, 3. Gabi singt weiter}
Max Mustermann - Debütalbum, 2001, 1960, {1. Von der Liebe, 2. Vom Leben, 3. Vom Ableben, 4. Duett mit Gabi} 

Diese Daten werden wir im Folgenden in die entsprechenden Normalformen bringen.

1NF

Für die 1. Normalform gilt (laut Wikipedia): Jedes Attribut der Relation muss einen atomaren/atomischen Wertebereich haben, und die Relation muss frei von Wiederholungsgruppen sein.

  • Atomar heißt, dass zusammengesetzte, mengenwertige oder geschachtelte Wertebereiche (also relationenwertige Attributwertebereiche) nicht erlaubt sind. Der Wertebereich keines Attributs einer Relation in 1NF kann in weitere (sinnvolle) Teilbereiche aufgespaltet werden.
  • Frei von Wiederholungsgruppen bedeutet, dass Attribute, die gleiche oder gleichartige Information enthalten, in eine andere Relation ausgelagert werden müssen.

Angewandt auf unser Beispiel bedeutet

  • atomar, dass wir sinnvoll aufteilbar Attribute wie Interpret-Albumtitel in entsprechende einzelne Attribute aufteilen müssen.
  • frei von Wiederholungsgruppen, dass die Liste der Lieddaten auf einzelne Zeilen verteilt werden muss.

Für unsere Musikdaten ergibt sich daher die folgende 1NF:

Interpret Album Erscheinungsjahr Geburtsjahr Tracknummer Titel
Gabi Mustermann Gabi singt 2000 1963 1 Gabi singt laut
Gabi Mustermann Gabi singt 2000 1963 2 Gabi singt leise
Gabi Mustermann Gabi singt 2000 1963 3 Gabi singt weiter
Max Mustermann Debütalbum 2001 1960 1 Von der Liebe
Max Mustermann Debütalbum 2001 1960 2 Vom Leben
Max Mustermann Debütalbum 2001 1960 3 Vom Ableben
Max Mustermann Debütalbum 2001 1960 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