Normalisierung von Daten
Was du heute lernst:
- Den Zweck und die Vorteile der Normalisierung (Redundanzvermeidung, Integrität) erläutern.
- Die Kriterien der 1., 2. und 3. Normalform definieren und anwenden.
- Komplexe Tabellenstrukturen systematisch in ein effizientes relationales Modell überführen.
Ordnung im Datenmodell
Die Normalisierung ist ein Prozess im Datenbankdesign, der darauf abzielt, Redundanzen zu reduzieren und die Datenintegrität zu verbessern. Dies geschieht durch die Zerlegung großer Tabellen in kleinere, zusammenhängende Tabellen und die Definition von Beziehungen zwischen ihnen.
Warum Normalisierung?
- Reduzierung von Redundanz: Vermeidet das mehrfache Speichern derselben Daten, was Speicherplatz spart und Inkonsistenzen verhindert.
- Verbesserung der Datenintegrität: Stellt sicher, dass die Daten korrekt und konsistent sind.
- Einfachere Wartung: Änderungen an Daten müssen nur an einer Stelle vorgenommen werden.
- Bessere Performance: Kleinere, spezifischere Tabellen können oft effizienter abgefragt werden.
Die Normalformen (NF)
1. Normalform (1NF)
Eine Tabelle befindet sich in der 1. Normalform, wenn alle Attribute atomar sind (keine Listen oder Gruppen) und jeder Datensatz durch einen Primärschlüssel eindeutig identifizierbar ist.
Beispiel: Nicht in 1NF
| Kunden-ID | Kundenname | Telefonnummern |
|---|---|---|
| 1 | Meier | 0123-456, 0789-101 |
Beispiel: In 1NF
| Kunden-ID | Kundenname | Telefonnummer |
|---|---|---|
| 1 | Meier | 0123-456 |
| 1 | Meier | 0789-101 |
2. Normalform (2NF)
Eine Tabelle ist in der 2. Normalform, wenn sie in der 1NF ist und jedes Nicht-Schlüsselattribut vom *gesamten* Primärschlüssel voll funktional abhängig ist (keine Abhängigkeit von nur einem Teil des Schlüssels).
Beispiel: Nicht in 2NF (Primärschlüssel: {Bestell-ID, Produkt-ID})
| Bestell-ID | Produkt-ID | Produktname | Bestelldatum |
|---|---|---|---|
| 101 | P1 | Laptop | 2025-01-01 |
Beispiel: In 2NF (Zerlegung)
Tabelle 'Bestellungen':
| Bestell-ID | Bestelldatum |
|---|---|
| 101 | 2025-01-01 |
Tabelle 'Produkte':
| Produkt-ID | Produktname |
|---|---|
| P1 | Laptop |
3. Normalform (3NF)
Eine Tabelle ist in der 3. Normalform, wenn sie in der 2NF ist und kein Nicht-Schlüsselattribut transitiv von einem Primärschlüssel abhängt (keine Abhängigkeit über ein anderes Nicht-Schlüsselattribut).
Beispiel: Nicht in 3NF
| Mitarbeiter-ID | Name | Abt.-ID | Abteilung |
|---|---|---|---|
| E001 | Anna | D1 | Marketing |
Beispiel: In 3NF (Zerlegung)
Tabelle 'Mitarbeiter':
| Mitarbeiter-ID | Name | Abt.-ID |
|---|---|---|
| E001 | Anna | D1 |
Tabelle 'Abteilungen':
| Abt.-ID | Abteilung |
|---|---|
| D1 | Marketing |
Übungsaufgabe: Normalisierung
Aufgabenstellung: Überführe die folgende Tabelle schrittweise in die 3. Normalform.
| Bestell-Nr | Datum | Kunde | Adressfeld 1 | Adressfeld 2 | Art-ID | Artikel | Preis | Menge |
|---|---|---|---|---|---|---|---|---|
| B101 | 15.11. | Max Meier | Musterweg 1 | 09224 Grüna | P01 | Tastatur | 25.00 | 2 |
| B101 | 15.11. | Max Meier | Musterweg 1 | 09224 Grüna | P02 | Maus | 15.00 | 1 |
Schwierigkeitsgrad: schwer | Bearbeitungszeit: 45 Minuten