Normalisierung
Normalisierung ist ein Verfahren zur Strukturierung von Datenbanktabellen. Ziel ist es, Redundanzen zu vermeiden und Datenkonsistenz sicherzustellen.
Die Normalisierung wird hauptsächlich bei relationalen Datenbanken angewendet.
Ziel der Normalisierung
Durch Normalisierung sollen:
- doppelte Datenspeicherung vermieden werden
- Einfüge-, Änderungs- und Löschanomalien verhindert werden
- Tabellen logisch und übersichtlich aufgebaut sein
Grundprinzip
Große Tabellen werden in mehrere kleinere Tabellen aufgeteilt. Diese Tabellen werden über Primär- und Fremdschlüssel miteinander verknüpft.
Normalformen
Die Normalisierung erfolgt schrittweise in sogenannte Normalformen.
1. Normalform (1NF)
Bedingungen:
- Alle Attribute enthalten nur atomare (unteilbare) Werte
- Keine Wiederholungsgruppen
Beispiel (nicht 1NF):
| Kunde | Telefonnummern |
|---|---|
| Müller | 12345, 67890 |
Korrekt (1NF):
| Kunde | Telefonnummer |
|---|---|
| Müller | 12345 |
| Müller | 67890 |
2. Normalform (2NF)
Bedingungen:
- Tabelle ist in 1NF
- Jedes Nicht-Schlüsselattribut ist vollständig vom Primärschlüssel abhängig
Problem: Teilabhängigkeiten bei zusammengesetzten Schlüsseln.
3. Normalform (3NF)
Bedingungen:
- Tabelle ist in 2NF
- Keine transitiven Abhängigkeiten
Das bedeutet: Ein Nicht-Schlüsselattribut darf nicht von einem anderen Nicht-Schlüsselattribut abhängen.
Beispiel (nicht 3NF):
| Kundennr | Kundenname | PLZ | Ort |
|---|---|---|---|
| 1 | Müller | 12345 | Berlin |
Problem: Der Ort hängt von der PLZ ab, nicht direkt von der Kundennummer.
Lösung: PLZ und Ort in eigene Tabelle auslagern.
Vorteile der Normalisierung
- geringerer Speicherbedarf
- bessere Datenkonsistenz
- weniger Fehler bei Änderungen
- klare Tabellenstruktur
Nachteile
- mehr Tabellen
- komplexere Abfragen (JOINs notwendig)
Kurzmerksatz
Normalisierung reduziert Redundanz und sorgt für konsistente, logisch strukturierte Datenbanktabellen.
