Datenbankdesign und Normalisierung
Datenbankdesign und Normalisierung ist die Disziplin der Strukturierung relationaler Schemata, sodass sie die Daten getreu repräsentieren und gleichzeitig Redundanzen sowie die dadurch verursachten Update-, Einfüge- und Lösch-Anomalien eliminieren.
Definition
Normalisierung ist der Prozess der Zerlegung von Relationen, um Redundanzen zu reduzieren und Anomalien zu vermeiden, geleitet von den funktionalen und mehrwertigen Abhängigkeiten, die zwischen Attributen bestehen, während der Informationsgehalt des ursprünglichen Schemas erhalten bleibt.
Scope
Dieser Bereich umfasst die Theorie und Praxis der Verfeinerung relationaler Schemata: funktionale und mehrwertige Abhängigkeiten als semantische Constraints, die das Design steuern, die Hierarchie der Normalformen (1NF bis BCNF, 4NF) und die Zerlegung von Relationen zur Reduzierung von Redundanzen unter Beibehaltung verlustfreier Joins und, wo möglich, von Abhängigkeiten. Ausgeschlossen sind konzeptionelle Modellierungsnotationen wie Entity-Relationship-Diagramme (abgedeckt in Datenmodellen und Abfragesprachen) und physische Designentscheidungen wie Indizierung.
Sub-topics
Core questions
- Welche funktionalen und mehrwertigen Abhängigkeiten bestehen zwischen den Attributen einer Relation?
- Welche Anomalien – Update, Einfügen, Löschen – werden durch Redundanz verursacht?
- Welche Bedingungen definieren jede Normalform, und welche Redundanz wird durch jede beseitigt?
- Wie kann eine Relation ohne Informationsverlust zerlegt werden?
- Wann muss die Abhängigkeitserhaltung gegen eine höhere Normalform abgewogen werden?
Key concepts
- funktionale Abhängigkeit
- Armstrongs Axiome und Abschluss
- Kandidatenschlüssel und Primärattribute
- Update-, Einfüge-, Lösch-Anomalien
- erste, zweite, dritte Normalform
- Boyce-Codd-Normalform
- mehrwertige Abhängigkeiten und 4NF
- verlustfreie Join-Zerlegung
- Abhängigkeitserhaltung
Key theories
- Funktionale Abhängigkeiten und Abschluss
- Eine funktionale Abhängigkeit X → Y besagt, dass X Y bestimmt; Armstrongs Axiome ermöglichen es, den Abschluss einer Menge von Abhängigkeiten zu berechnen, was der Schlüsselbestimmung und der Prüfung von Normalformen zugrunde liegt.
- Normalformen
- Die erste bis dritte Normalform und die Boyce-Codd-Normalform stellen zunehmend strengere Bedingungen an funktionale Abhängigkeiten, um Redundanzen zu eliminieren; die vierte Normalform erweitert dies auf mehrwertige Abhängigkeiten.
- Verlustfreie Join- und abhängigkeitserhaltende Zerlegung
- Eine Zerlegung ist nur dann wünschenswert, wenn sie verlustfrei ist (die ursprüngliche Relation kann durch das Verbinden der Teile rekonstruiert werden) und idealerweise abhängigkeitserhaltend (alle ursprünglichen Abhängigkeiten können auf den Teilen durchgesetzt werden), Kriterien, die die Aufteilung von Schemata einschränken.
Clinical relevance
Normalisierung ist eine Kernkompetenz beim Aufbau zuverlässiger Informationssysteme: Gut normalisierte Schemata verhindern inkonsistente Daten und vereinfachen die Wartung in Transaktionsanwendungen, während Praktiker auch bewusst für leseintensive Analysen und Berichte denormalisieren, wodurch die Kompromisse im realen Datenbank-Engineering zentral werden.
History
Codd führte in den frühen 1970er Jahren die erste, zweite und dritte Normalform ein und, zusammen mit Boyce, die strengere Boyce-Codd-Normalform. Ronald Fagin definierte später die vierte und fünfte Normalform basierend auf mehrwertigen und Join-Abhängigkeiten. Zusammen verwandelten diese Ergebnisse das Schemadesign von einer Kunst in eine Theorie, die auf Abhängigkeits-Constraints basiert.
Debates
- Wie weit in der Praxis normalisiert werden sollte
- Strenge Normalisierung eliminiert Redundanzen und Anomalien, kann aber viele Joins erfordern, die leseintensive Workloads verlangsamen; Praktiker diskutieren, wann eine kontrollierte Denormalisierung zur Leistungssteigerung gerechtfertigt ist, im Vergleich dazu, wann sie genau die Inkonsistenzen hervorruft, die die Normalisierung verhindern sollte.
Key figures
- Edgar F. Codd
- Raymond F. Boyce
- Ronald Fagin
Related topics
Seminal works
- codd1972
- silberschatz2019
- garciamolina2008
Frequently asked questions
- Warum verursacht Redundanz Probleme, wenn ich vorsichtig bin?
- Die redundante Speicherung desselben Faktums in mehreren Zeilen führt zu Anomalien: Eine Aktualisierung kann einige Kopien ändern, andere jedoch nicht (Update-Anomalie), es kann unmöglich sein, ein Faktum ohne unzusammenhängende Daten aufzuzeichnen (Einfüge-Anomalie), oder das Löschen einer Zeile kann Informationen verlieren, die Sie behalten wollten (Lösch-Anomalie). Normalisierung beseitigt die Redundanz, die dies ermöglicht.
- Was ist der Unterschied zwischen BCNF und der dritten Normalform?
- Beide befassen sich mit Redundanz aus funktionalen Abhängigkeiten, aber BCNF ist strenger: Sie erfordert, dass die linke Seite jeder nichttrivialen Abhängigkeit ein Superschlüssel ist. Ein Schema kann in 3NF sein, aber nicht in BCNF. BCNF liefert immer eine verlustfreie Zerlegung, ist aber möglicherweise nicht abhängigkeitserhaltend, weshalb 3NF manchmal beibehalten wird.