Die zweite Normalform (2NF) ist ein Konzept aus der Datenbanknormalisierung, einem Prozess zur Organisation von Daten in einer relationalen Datenbank, um Redundanzen zu minimieren und die Integrität der Daten zu gewährleisten. Um eine Relation (Tabelle) in die zweite Normalform zu überführen, müssen folgende Bedingungen erfüllt sein:
-
Die Relation muss in der ersten Normalform (1NF) sein: Das bedeutet, dass die Tabelle keine wiederholenden Gruppen enthält und alle Attribute atomar sind (jedes Attribut enthält nur einen Wert).
-
Jedes Nicht-Schlüsselattribut muss vollständig vom gesamten Primärschlüssel abhängen: Das bedeutet, dass kein Nicht-Schlüsselattribut nur von einem Teil eines zusammengesetzten Schlüssels abhängen darf. Diese Regel zielt darauf ab, Teilabhängigkeiten zu eliminieren.
Beispiel für die zweite Normalform
Nehmen wir an, wir haben eine Tabelle Bestellungen
mit den folgenden Attributen:
- Bestellnummer (Primärschlüssel)
- Artikelnummer (Teil des zusammengesetzten Schlüssels)
- Kundenname
- Kundenadresse
- Artikelname
- Menge
In diesem Fall wäre der zusammengesetzte Schlüssel Bestellnummer, Artikelnummer
, weil eine Bestellung mehrere Artikel enthalten kann.
Um diese Tabelle in die zweite Normalform zu bringen, müssen wir sicherstellen, dass alle Nicht-Schlüsselattribute (Kundenname, Kundenadresse, Artikelname, Menge) vollständig vom gesamten Primärschlüssel abhängen. Wenn das nicht der Fall ist, müssen wir die Tabelle aufteilen.
Schritt 1: Zerlegung der Tabelle Bestellungen
:
-
Erstellen einer Tabelle Bestellungen
mit den Attributen:
- Bestellnummer (Primärschlüssel)
- Kundenname
- Kundenadresse
-
Erstellen einer Tabelle Bestellpositionen
mit den Attributen:
- Bestellnummer (Fremdschlüssel)
- Artikelnummer (Teil des zusammengesetzten Schlüssels)
- Artikelname
- Menge
Jetzt haben wir zwei Tabellen:
Bestellungen:
- Bestellnummer (Primärschlüssel)
- Kundenname
- Kundenadresse
Bestellpositionen:
- Bestellnummer (Fremdschlüssel)
- Artikelnummer (Primärschlüssel)
- Artikelname
- Menge
Durch diese Zerlegung haben wir erreicht, dass alle Nicht-Schlüsselattribute in der Tabelle Bestellungen
und Bestellpositionen
vollständig vom Primärschlüssel abhängig sind. Damit befinden sich beide Tabellen in der zweiten Normalform.
Die Anwendung der zweiten Normalform hilft, Anomalien bei Datenaktualisierungen zu vermeiden und sorgt für eine konsistente Datenstruktur.