π 1. Die drei Stufen der Normalisierung
Die relationale Normalisierung verhindert Daten-Anomalien und Speicherverschwendung:
1. Normalform (1NF) β AtomaritΓ€t: Jede Zelle enthΓ€lt genau einen atomaren Einzelwert (keine AufzΓ€hlungen/Listen). Jede Zeile besitzt einen PrimΓ€rschlΓΌssel.
2. Normalform (2NF) β Volle funktionale AbhΓ€ngigkeit: 1NF erfΓΌllt + jedes Nicht-SchlΓΌssel-Attribut hΓ€ngt voll vom gesamten PrimΓ€rschlΓΌssel ab (keine TeilabhΓ€ngigkeiten).
3. Normalform (3NF) β Keine transitiven AbhΓ€ngigkeiten: 2NF erfΓΌllt + kein Nicht-SchlΓΌssel-Attribut hΓ€ngt von einem anderen Nicht-SchlΓΌssel-Attribut ab (z.B. PLZ → Ort).
ποΈ 2. Das saubere 3NF-Zielschema
Vom unΓΌbersichtlichen Monolithen zu fΓΌnf prΓ€zisen, miteinander verknΓΌpften EntitΓ€ten:
ββββββββββββββββ βββββββββββββββββββββ βββββββββββββββββββββββββββ
β orte β βββββββ β kunden β βββββββ β auftraege β
ββββββββββββββββ€ PLZ βββββββββββββββββββββ€ KundeID βββββββββββββββββββββββββββ€
β PK plz β β PK id β β PK id β
β stadt β β name, email β β FK kunde_id β
ββββββββββββββββ β FK plz β β auftragsdatum β
βββββββββββββββββββββ βββββββββββββββββββββββββββ
β AuftragID
βΌ
ββββββββββββββββ βββββββββββββββββββββββββββ
β artikel β βββββββββββββββββββββββββββββββββββββ β auftragspositionen β
ββββββββββββββββ€ ArtikelID βββββββββββββββββββββββββββ€
β PK id β β PK,FK auftrag_id β
β bezeichnung β β PK,FK artikel_id β
β einzelpreis β β menge β
ββββββββββββββββ βββββββββββββββββββββββββββ
π¦ Didaktische Analogie: Der Baukasten statt Betonblock
Ein unnormalisierter Datensatz ist wie ein massiver Betonblock: MΓΆchte ein Kunde umziehen, musst du seinen Wohnort in 50 alten Bestellungen einzeln Γ€ndern (Γnderungsanomalie). In 3NF Γ€nderst du den Ort an genau EINER einzigen Stelle (orte) β fertig!
π 3. Cheat-Sheet: Normalformen-Checkliste
| Stufe | Hauptkriterium | GelΓΆste Anomalie |
|---|---|---|
| 1NF | Atomare Werte, PK vorhanden | Verhindert unstrukturierte Listen in Textfeldern |
| 2NF | Keine Teil-AbhΓ€ngigkeiten von Teil-PKs | Trennung von Artikelstammdaten und Auftragspositionen |
| 3NF | Keine transitiven AbhΓ€ngigkeiten | Keine Redundanz bei Adress- & Ortsangaben |