Differenz zwischen BCNF und 3NF

BCNF vs. 3NF

Die normale Form von Boyce Codd (auch bekannt als BCNF) ist eine normale Form. Dies ist ein Formular, das Kriterien zur Bestimmung des Grades der Anfälligkeit einer Tabelle für logische Inkonsistenzen und Anomalien enthält. Diese normale Form wird bei der Datenbanknormalisierung verwendet. Es ist ein bisschen stärker als sein Vorgänger, die dritte Normalform (auch bekannt als 3NF). Es wird angenommen, dass eine Tabelle genau dann in BCNF enthalten ist, wenn für jeden, dessen nicht-triviale funktionale Abhängigkeiten eine Grenze sind, die zwischen zwei Gruppen von Attributen in einer aus einer Datenbank entnommenen Beziehung gesetzt wird, ein Superkey (eine Menge von Attribute einer relationalen Variablen, die postuliert, dass in allen Beziehungen, die dieser spezifischen Variablen zugewiesen sind, keine zwei verschiedenen Zeilen vorhanden sind, die denselben Wert für die Attribute in dieser bestimmten Menge enthalten). BCNF postuliert, dass jede Tabelle, die die Kriterien nicht erfüllt, die als BNCF zuerkannt werden, anfällig für logische Inkonsistenzen ist.

3NF ist eine normale Form, die auch bei der Datenbanknormalisierung verwendet wird. Es wird angenommen, dass eine Tabelle genau dann in 3NF ist, wenn 1) die Tabelle in der zweiten normalen Form vorliegt (oder 2NF, das ist ein erster normaler Code oder 1NF, der die Kriterien erfüllt, um eine 2NF zu werden) und 2) Jedes nicht-primäre Attribut der Tabelle ist nicht-transitiv von jedem Schlüssel der Tabelle abhängig (was bedeutet, dass es nicht direkt von jedem Schlüssel abhängig ist). Es gibt eine weitere Postulierung von 3NF, die auch verwendet wird, um die Unterschiede zwischen 3NF und BCNF zu definieren.

Dieser Satz wurde 1982 von Carlo Zaniolo entwickelt. Er besagt, dass eine Tabelle genau dann in 3NF ist, wenn für jede funktionale Abhängigkeit, bei der X â '' A, mindestens eine von drei Bedingungen gelten muss Entweder ist X ein Superkey, oder A ist ein primäres Attribut (was bedeutet, dass A innerhalb eines Kandidatenschlüssels enthalten ist - oder ein minimaler Superkey für diese Relation). Diese neuere Definition unterscheidet sich vom Satz eines BCNF darin, dass das letztere Modell die letzte Bedingung einfach eliminieren würde. Auch wenn es sich um eine neuere Version des 3NF-Theorems handelt, gibt es eine Ableitung des Zaniolo-Theorems. Es besagt, dass X → A nicht trivial ist. Wenn das wahr ist, sei A ein Mitteltastenattribut und sei auch Y ein Schlüssel von R. Wenn das gilt, dann gilt Y → X. Dies bedeutet, dass A nicht transitiv von Y abhängig ist, wenn und nur wenn X → 'Y (oder wenn X ein Superkey ist.

Zusammenfassung:

1. BCNF ist eine normale Form, in der für jede der nicht-trivialen funktionalen Abhängigkeiten einer Tabelle ist ein Superkey, 3NF ist eine normale Form, in der die Tabelle in 2NF steht und jedes Nicht-Prim-Attribut nicht-transitiv von jedem Schlüssel in der Tabelle abhängig ist.