Unterschied zwischen 3NF und BCNF

Unterschied zwischen 3NF und BCNF
Unterschied zwischen 3NF und BCNF

Video: Unterschied zwischen 3NF und BCNF

Video: Unterschied zwischen 3NF und BCNF
Video: Worin liegt der Unterschied? | HDD vs. SSD 2024, Juli
Anonim

3NF gegen BCNF

Normalisierung ist ein Prozess, der durchgeführt wird, um Redundanzen zu minimieren, die in Daten in relationalen Datenbanken vorhanden sind. Dieser Prozess teilt hauptsächlich große Tabellen in kleinere Tabellen mit weniger Redundanzen auf. Diese kleineren Tabellen werden durch gut definierte Beziehungen miteinander in Beziehung stehen. In einer gut normalisierten Datenbank erfordert jede Änderung oder Modifizierung von Daten die Änderung nur einer einzigen Tabelle. Die Third Normal Form (3NF) wurde 1971 von Edgar F. Codd eingeführt, der auch der Erfinder des relationalen Modells und des Konzepts der Normalisierung ist. Die Boyce-Codd-Normalform (BCNF) wurde 1974 von Codd und Raymond F. Boyce.

Was ist 3NF?

3NF ist die dritte Normalform, die bei der Normalisierung relationaler Datenbanken verwendet wird. Gemäß der Definition von Codd soll eine Tabelle genau dann in 3NF sein, wenn sich diese Tabelle in der zweiten Normalform (2NF) befindet und jedes Attribut in der Tabelle, das nicht zu einem Kandidatenschlüssel gehört, direkt davon abhängen sollte jeden Kandidatenschlüssel dieser Tabelle. 1982 erstellte Carlo Zaniolo eine anders ausgedrückte Definition für 3NF. Tabellen, die der 3NF entsprechen, enth alten im Allgemeinen keine Anomalien, die beim Einfügen, Löschen oder Aktualisieren von Datensätzen in der Tabelle auftreten.

Was ist BCNF?

BCNF (auch als 3.5NF bekannt) ist eine weitere Normalform, die bei der Normalisierung relationaler Datenbanken verwendet wird. Es wurde eingeführt, um einige der Anomalien zu erfassen, die von der 3NF nicht behandelt werden. Eine Tabelle heißt in BCNF genau dann, wenn für jede der nicht-trivialen Abhängigkeiten der Form A → B A ein Superschlüssel ist. Das Zerlegen einer Tabelle, die nicht in der BCNF-Normalform vorliegt, garantiert nicht die Erzeugung von Tabellen in der BCNF-Form (unter Beibeh altung der Abhängigkeiten, die in der ursprünglichen Tabelle vorhanden waren).

Was ist der Unterschied zwischen 3NF und BCNF?

Sowohl 3NF als auch BCNF sind normale Formen, die in relationalen Datenbanken verwendet werden, um Redundanzen in Tabellen zu minimieren. In einer Tabelle, die in der BCNF-Normalform vorliegt, ist A für jede nicht triviale funktionale Abhängigkeit der Form A → B ein Superschlüssel, während eine Tabelle, die 3NF entspricht, in der 2NF und jeder Nicht-Primzahl enth alten sein sollte -Attribut sollte direkt von jedem Kandidatenschlüssel dieser Tabelle abhängen. BCNF wird als stärkere Normalform als 3NF angesehen und wurde entwickelt, um einige der Anomalien zu erfassen, die von 3NF nicht erfasst werden konnten. Um eine Tabelle zu erh alten, die dem BCNF-Formular entspricht, muss eine Tabelle zerlegt werden, die sich in der 3NF befindet. Diese Zerlegung führt zu zusätzlichen Join-Operationen (oder kartesischen Produkten) beim Ausführen von Abfragen. Dadurch erhöht sich die Rechenzeit. Andererseits hätten die BCNF-konformen Tabellen weniger Redundanzen als Tabellen, die nur 3NF-konform sind. Darüber hinaus ist es meistens möglich, eine Tabelle zu erh alten, die 3NF entspricht, ohne die Beibeh altung der Abhängigkeit und das verlustfreie Verbinden zu behindern. Aber das ist mit BCNF nicht immer möglich.

Empfohlen: