Was ist Boyce-Codd-Normalform (BCNF)?

Das Ziel der Boyce-Codd Normal Form ist die Steigerung Datenintegrität durch Organisieren der Spalten und Tabellen einer relationalen Datenbank, um eine Datenbanknormalisierung zu erreichen. Datenbanknormalisierung tritt auf, wenn Beziehungen zwischen Tabellen bestehen und die Tabellen definierte Regeln haben, um die Datenbank flexibler zu machen und die Daten zu erhalten.

Nahaufnahmeseitenansicht der blonden schwarzen Frau Mitte 20, die ihr Softwareentwicklungsprojekt tut. Sie sitzt vor einem Desktop-Computer und nippt an einem Kaffee, während sie am Computer arbeitet.
 gilaxia/Getty Images

Die Ziele der Datenbanknormalisierung bestehen darin, redundante Daten zu eliminieren und sicherzustellen, dass Datenabhängigkeiten sinnvoll sind. Eine Datenbank wird normalisiert, wenn dieselben Daten nicht in mehr als einer Tabelle gespeichert sind und wenn nur zusammenhängende Daten wird in einer Tabelle gespeichert.

Ursprung der Boyce-Codd Normalform

Die Befolgung einer Reihe von Richtlinien stellt sicher, dass Datenbanken normalisiert sind. Diese Richtlinien werden bezeichnet als normale Formen und sind von eins bis fünf nummeriert. Eine relationale Datenbank wird beschrieben als normalisiert wenn es die ersten drei Formen erfüllt: 1NF, 2NF und 3NF.

BCNF wurde 1974 von Raymond Boyce und Edgar Codd als Erweiterung der dritten Normalform oder 3NF entwickelt. Die Männer arbeiteten daran, Datenbankschemata zu erstellen, die Redundanzen minimieren, mit dem Ziel, die Rechenzeit zu reduzieren. Die dritte Normalform entfernt Spalten, die nicht vom Primärschlüssel abhängig sind, zusätzlich zur Erfüllung der Richtlinien in der ersten und zweiten Normalform. BCNF, das manchmal als 3.5NF bezeichnet wird, erfüllt alle Anforderungen von 3NF und erfordert, dass Kandidatenschlüssel keine Abhängigkeit von anderen Attributen in einer Tabelle haben.

Zum Zeitpunkt der Gründung von BCNF war Boyce einer der Hauptentwickler der Structured English Query Language, die später als SQL standardisiert wurde und die Datenabfrage mithilfe des relationalen Modells von Codd verbesserte. In diesem Modell postulierte Codd, dass die strukturelle Komplexität von Datenbanken reduziert werden könnte, was bedeutet, dass Abfragen leistungsfähiger und flexibler werden könnten.

Mit seinen Erkenntnissen aus relationalen Datenbanken definierte Codd 1NF-, 2NF- und 3NF-Richtlinien. Er hat sich mit Boyce zusammengetan, um BCNF zu definieren.

Kandidatenschlüssel und BCNF

EIN Kandidatenschlüssel ist eine Spalte oder eine Kombination von Spalten in einer Tabelle, die einen eindeutigen Schlüssel in der Datenbank bildet. Die Kombination von Attributen identifiziert einen Datenbankeintrag, ohne auf andere Daten zu verweisen. Jede Tabelle kann mehrere Kandidatenschlüssel enthalten, von denen jeder als Primärschlüssel qualifizieren kann. Eine Tabelle enthält nur einen Primärschlüssel.

Kandidatenschlüssel müssen eindeutig sein.

Eine Relation liegt in BCNF vor, wenn jede Determinante ein Kandidatenschlüssel ist. Stellen Sie sich eine Datenbanktabelle vor, die Mitarbeiterinformationen speichert und die Attribute hat >,, , und .

In dieser Tabelle bestimmt das Feld Vorname und Nachname. In ähnlicher Weise bestimmt das Tupel (, ) .

Mitarbeiter-ID Vorname Letzte id="mntl-sc-block_1-0-25">
Der Kandidatenschlüssel für diese Datenbank ist der, da er der einzige Wert ist, der nicht von einer anderen Zeile verwendet werden kann.

FAQ

  • Was sind die Anforderungen für Boyce-Codd Normalform?

    Eine Tabelle erfüllt die Anforderungen der Boyce-Codd-Normalform (BCNF), wenn alle Determinanten Kandidatenschlüssel sind und die Beziehung in < Spanne>Dritte Normalform (3NF). 3NF erfüllt die Regeln für die erste Normalform (1NF) und die zweite Normalform (2NF) und alle Spalten sind von der Primärform abhängig Schlüssel.

  • Was ist der Unterschied zwischen Vierte Normalform und Boyce-Codd Normalform?

    Die vierte Normalform (4NF) ist eine Level nach Boyce-Codd Normalform (BCNF) bei der Datenbanknormalisierung. 4NF erfüllt die Anforderungen von 3NF genauso wie BCNF. 4NF-Tabellen haben jedoch keine mehrwertigen Abhängigkeiten oder viele-zu-eins-Beziehungen, während BCNF-Tabellen möglicherweise haben diese Abhängigkeiten.