2. Normalform

Die 2. Normalform (2NF) baut auf der 1. Normalform auf. Sie stellt sicher, dass alle Attribute vollständig vom gesamten Primärschlüssel abhängen.

In der 2. Normalform darf kein Attribut nur von einem Teil des Primärschlüssels abhängen (keine partiellen Abhängigkeiten).

Die Regel der 2NF

Vollständige Abhängigkeit:

  • Ein Attribut ist vollständig funktional abhängig von einem Primary Key, wenn es nicht nur von einem Teil des Schlüssels abhängt (bei zusammengesetzten Schlüsseln). Jede Entität muss vollständig vom Schlüssel abhängen.

Keine partiellen Abhängigkeiten:

  • Wenn ein Attribut nur von einem Teil des Primary Keys abhängt, verstößt die Tabelle gegen die 2NF. In solchen Fällen sollten die Attribute in separate Tabellen aufgeteilt werden, um Redundanz zu vermeiden.
ASCII-Visualisierung:

Zusammengesetzter Schlüssel: (StudentID, KursID)

❌ FALSCH (partielle Abhängigkeit):
┌──────────┬────────┬──────────┬─────────┐
│StudentID │ KursID │ Kursname │  Dozent │
├──────────┼────────┼──────────┼─────────┤
│    1     │  101   │  Mathe   │  Müller │
└──────────┴────────┴──────────┴─────────┘
              │          │          │
              └──────────┴──────────┘
          Hängt nur von KursID ab!
              (Nicht vollständig)

✅ RICHTIG (2NF - Tabellen aufteilen):

Tabelle 1: Student_Kurs
┌──────────┬────────┐
│StudentID │ KursID │  ← Nur die Beziehung
└──────────┴────────┘

Tabelle 2: Kurs
┌────────┬──────────┬─────────┐
│ KursID │ Kursname │  Dozent │  ← Volle Abhängigkeit
└────────┴──────────┴─────────┘
Beispiel

Tabelle vor der Normalisierung (1NF):

StudentID KursID Kursname Dozent
1 101 Mathe Herr Müller
1 102 Physik Frau Schmidt
2 101 Mathe Herr Müller

Hier hängt der Kursname und der Dozent nur von KursID ab, nicht von StudentID. Diese Tabelle ist also nicht in der 2NF.

Tabelle nach der Normalisierung (2NF):

Tabelle: Studenten

StudentID KursID
1 101
1 102
2 101

Tabelle: Kurse

KursID Kursname Dozent
101 Mathe Herr Müller
102 Physik Frau Schmidt

In diesem Beispiel sind nun alle nicht-schlüssel Attribute (Kursname und Dozent) nur von KursID abhängig, und die Tabellen sind somit in der 2NF.

Prüfungsrelevant

Regel: Alle Nicht-Schlüssel-Attribute müssen vollständig vom gesamten Primary Key abhängen.

Wann relevant? Nur bei zusammengesetzten Primary Keys (z.B. StudentID + KursID)

Lösung: Tabelle aufteilen mit Foreign Keys, sodass partielle Abhängigkeiten und Redundanz entfernt werden

Teil der Normalisierung: Nach 2NF kommt 3. Normalform (3NF)