Normalformen
Normalformen sind eine Hierarchie von Bedingungen für relationale Schemata – definiert in Bezug auf funktionale und multivalente Abhängigkeiten –, von denen jede eine bestimmte Klasse von Redundanz und die von ihr verursachten Anomalien ausschließt.
Definition
Eine Normalform ist eine Eigenschaft eines Relationsschemas, die in Bezug auf seine funktionalen oder multivalenten Abhängigkeiten ausgedrückt wird und deren Erfüllung das Fehlen einer spezifischen Art von Redundanz und damit verbundenen Update-, Einfüge- und Lösch-Anomalien garantiert.
Scope
Dieses Thema behandelt die Normalformen und die Redundanz, die jede beseitigt: die erste Normalform (atomare Attributwerte), die zweite und dritte Normalform (Eliminierung partieller und transitiver Abhängigkeiten von Kandidatenschlüsseln), die Boyce-Codd-Normalform (jede nichttriviale funktionale Abhängigkeit hat einen Superschlüssel auf ihrer linken Seite) und die vierte Normalform (Eliminierung nichttrivialer multivalenter Abhängigkeiten). Es wird erläutert, wie die Zugehörigkeit zu jeder Form mithilfe von Abhängigkeiten getestet werden kann. Die Mechanismen der Zerlegung eines Schemas, um eine Normalform zu erreichen, die unter Schema-Verfeinerung behandelt werden, sind ausgeschlossen.
Core questions
- Welche Bedingung legt jede Normalform fest und welche Redundanz eliminiert sie?
- Wie hängen partielle und transitive Abhängigkeiten mit der zweiten und dritten Normalform zusammen?
- Wann ist ein Schema in der Boyce-Codd-Normalform, aber nicht in niedrigeren Formen, oder umgekehrt?
- Wie motivieren multivalente Abhängigkeiten die vierte Normalform?
- Wie wird eine Relation auf Zugehörigkeit zu einer gegebenen Normalform getestet?
Key concepts
- erste Normalform (Atomarität)
- zweite Normalform (keine partiellen Abhängigkeiten)
- dritte Normalform (keine transitiven Abhängigkeiten)
- Boyce-Codd-Normalform
- Primär- und Nicht-Primärattribute
- multivalente Abhängigkeiten
- vierte Normalform
- Anomalie-Eliminierung
Key theories
- Erste bis dritte Normalform
- 1NF erfordert atomare Attributwerte; 2NF entfernt Abhängigkeiten von Nicht-Primärattributen von einem Teil eines Kandidatenschlüssels; 3NF entfernt zusätzlich transitive Abhängigkeiten, sodass Nicht-Primärattribute nur von Kandidatenschlüsseln abhängen.
- Boyce-Codd-Normalform
- Ein Schema ist in BCNF, wenn für jede nichttriviale funktionale Abhängigkeit X → Y, X ein Superschlüssel ist; BCNF entfernt alle Redundanz aufgrund funktionaler Abhängigkeiten, aber eine BCNF-Zerlegung kann die Erhaltung aller Abhängigkeiten nicht gewährleisten.
- Vierte Normalform und multivalente Abhängigkeiten
- Fagins vierte Normalform verallgemeinert BCNF auf multivalente Abhängigkeiten, indem sie erfordert, dass jede nichttriviale multivalente Abhängigkeit einen Superschlüssel auf ihrer linken Seite hat, wodurch Redundanz eliminiert wird, die funktionale Abhängigkeiten nicht beschreiben können.
Clinical relevance
Normalformen bieten Datenbankdesignern eine konkrete Checkliste zur Erstellung von Schemata, die frei von redundanzbedingten Anomalien sind; in der Praxis zielen die meisten operativen Datenbanken auf die dritte Normalform oder BCNF ab, während Designer diese Formen für die Performance bei Analyse- und Berichts-Workloads bewusst lockern.
History
Codd definierte 1NF, 2NF und 3NF in den frühen 1970er Jahren; die stärkere BCNF wurde kurz darauf von Boyce und Codd entwickelt. Ronald Fagin führte 4NF (1977) für multivalente Abhängigkeiten und später 5NF für Join-Abhängigkeiten ein und vervollständigte damit die klassische Hierarchie, die in Lehre und Praxis verwendet wird.
Key figures
- Edgar F. Codd
- Raymond F. Boyce
- Ronald Fagin
Related topics
Seminal works
- codd1972
- fagin1977
- silberschatz2019
Frequently asked questions
- Welche Normalform sollte ich anstreben?
- Die meisten Transaktionsdesigns zielen auf die dritte Normalform oder die Boyce-Codd-Normalform ab, die die durch funktionale Abhängigkeiten verursachte Redundanz beseitigen. Die vierte und fünfte Normalform befassen sich mit selteneren multivalenten und Join-Abhängigkeiten. Höher ist in der Praxis nicht immer besser: Designer halten manchmal bei 3NF an oder denormalisieren für die Leseleistung.
- Kann ein Schema in einer höheren Normalform sein, aber nicht in einer niedrigeren?
- Die klassischen Formen 1NF bis BCNF sind verschachtelt, sodass die Zugehörigkeit zu BCNF die Zugehörigkeit zu 3NF, 2NF und 1NF impliziert. Ein Schema kann jedoch 3NF erfüllen, während es BCNF nicht erfüllt, was der übliche Fall ist, in dem Designer zwischen BCNF und der Erhaltung aller funktionalen Abhängigkeiten wählen müssen.