Unterschied zwischen BCNF und 3NF

BCNF vs. 3NF

Die normale Form von Boyce Codd (auch als BCNF bezeichnet) ist eine Normalform. Hierbei handelt es sich um eine Form, die Kriterien zum Bestimmen des Grads der Verwundbarkeit einer Tabelle für logische Inkonsistenzen und Anomalien liefert. Diese Normalform wird bei der Datenbanknormalisierung verwendet. Es ist etwas stärker als sein Vorgänger, die dritte Normalform (auch als 3NF bekannt). Es wird angenommen, dass sich eine Tabelle in BCNF befindet, und zwar nur dann, wenn für jede Tabelle eine nicht triviale funktionale Abhängigkeit besteht, dh eine Grenze zwischen zwei Attributgruppen in einer aus einer Datenbank entnommenen Beziehung Attribute einer relationalen Variablen, die postuliert, dass in allen dieser bestimmten Variablen zugewiesenen Beziehungen keine zwei unterschiedlichen Zeilen vorhanden sind, die denselben Wert für die Attribute in dieser bestimmten Gruppe enthalten. BCNF postuliert, dass jede Tabelle, die die Kriterien für die Zuweisung als BNCF nicht erfüllt, 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 nur dann in 3NF vorliegt, wenn 1) die Tabelle in der zweiten normalen Form vorliegt (oder 2NF, was ein erster normaler Code ist, oder 1NF, der die Kriterien erfüllt, um eine 2NF zu werden) und 2) Jedes Nicht-Primat-Attribut der Tabelle hängt nicht von jedem Schlüssel der Tabelle ab (dh es ist nicht direkt von jedem Schlüssel abhängig). Es gibt eine weitere Postulation von 3NF, die auch zur Definition der Unterschiede zwischen 3NF und der BCNF verwendet wird.

Dieser Satz wurde 1982 von Carlo Zaniolo konzipiert. Er besagt, dass sich eine Tabelle nur dann in 3NF befindet, wenn für jede funktionale Abhängigkeit, bei der X '' A gilt, mindestens eine der drei Bedingungen erfüllt sein muss: entweder X '' A, X ist ein Superkey, oder A ist ein Hauptattribut (was bedeutet, dass A in einem Kandidatenschlüssel enthalten ist - oder ein minimaler Superkey für diese Beziehung). Diese neuere Definition unterscheidet sich von dem Satz einer BCNF darin, dass das letztere Modell die letzte Bedingung einfach beseitigen würde. Obwohl er als neuere Version des 3NF-Theorems fungiert, gibt es eine Ableitung des Zaniolo-Theorems. Es besagt, dass X A A nicht trivial ist. Wenn dies wahr ist, sei A ein Mittagsschlüsselattribut und auch Y ein Schlüssel von R. Wenn dies gilt, dann ist Y → X. Dies bedeutet, dass A nicht transitiv von Y abhängig ist, und zwar nur dann, wenn X… 'Y (oder wenn X ein Superkey ist.

Zusammenfassung:

1. BCNF ist eine Normalform, bei der für jede der nicht trivialen funktionalen Abhängigkeiten einer Tabelle ein Superkey ist. 3NF ist eine Normalform, in der sich die Tabelle in 2NF befindet und jedes Nicht-Primat-Attribut nicht transitiv von jedem Schlüssel in der Tabelle abhängt.