Seitenleiste

Community

SQL

Grundlagen

Datenbanksysteme

Client/Server

Eingebettet

Normalisierung

Unter Normalisierung versteht man, die Umwandlung komplexer Tabellen in einfachere. Dies wird durch Aufteilung der Attribute auf mehrere Tabellen erreicht. Das Ziel dabei ist, stabile und flexible Datenstrukturen (einfache Fehlersuche, leichte Erweiterbarkeit) zu schaffen.

Gründe für Normalisierung sind:

  • Vermeidung von Redundanzen
  • Verständliches Datenmodell (Dokumentation, Wartung)
  • Vermeidung von Inkonsistenz
  • Update/Insert/Delete Anomalien vermeiden
  • Vermeiden von NULL-Werten

Beispiel einer „nicht-normalisierten“ Tabelle:

PNr Name Abteilungsnummer Abteilungsname Vorgesetzter
1 Maier 10 Vertrieb Müller
2 Hofer 10 Vertrieb Müller
3 Schneider 15 Einkauf Sommer
10 Müller 10 Vertrieb NULL
15 Sommer 15 Einkauf NULL

  • Redundanz
    • Name des Abteilungsleiters und Name der Abteilung tauchen öfters auf
  • Inkonsistenz
    • Wenn der Name von Müller geändert wird und der alte Name als Abteilungsleiter stehen bleibt (Update Anomalie)
  • Delete - Anomalie
    • Sommer verlässt die Firma (Datensatz wird gelöscht), bleibt aber als Abteilungsleiter erhalten
  • NULL-Werte
    • Mitarbeiter die keinen Abteilungsleiter haben