🏠 » Datenmodellierung » Normalisierung » Boyce Codd Normalform (BCNF)

Boyce Codd Normalform (BCNF)

Die Boyce-Codd-Normalform (BCNF) ist eine Weiterentwicklung der Dritten Normalform (3NF). In der Dritten Normalform kann es vorkommen, daß ein Teil eines Schlüsselkandidaten funktional abhängig ist von einem Teil eines anderen Schlüsselkandidaten. Die Boyce-Codd-Normalform verhindert diese funktionale Abhängigkeit.

Als Schlüsselkandidat wird ein Attribut oder eine Attributkombination bezeichnet, die einen Datensatz eindeutig identifizieren (also einen Primärschlüssel bilden).

Die BCNF braucht nur dann angewendet zu werden, wenn mehrere Schlüsselkandidaten vorhanden sind und sich diese teilweise überlappen. Ist in der Relation nur ein Kandidatenschlüssel vorhanden oder es liegt keine Überlappung bei mehreren Kandidatenschlüsseln vor, befindet sich die Relation automatisch in der BCNF.

Boyce Codd Normalform Definition

Ein Relationstyp ist genau dann in Boyce-Codd Normalform (BCNF), wenn jede Determinante vom Relationstyp ein Kandidatenschlüssel ist. Die Boyce-Codd Normalform ist die höchste Normalform auf der Basis funktioneller Abhängigkeiten. Eine Relation (Tabelle), die sich Boyce-Codd Normalform (BCNF) befindet ist auch gleichzeitig in der dritten Normalform (3NF).

Boyce-Codd-Normalform (BCNF) Beispiel

Ausgangspunkt der folgenden Betrachtung ist die Tabelle, die das Rechnungsbeispiel wieder aufgreift und um die Spalte LagerOrt erweitert ist. Der LagerOrt gibt an wo der Artikel im Lager abgelegt wurde.

ReNrArtNrLagerOrtAnzahl
1001001010221
1001001020152
100100103095
10010310401310
1001041040136

Die zusammengesetzten Schlüsselkandidaten sind ReNr-ArtNr und ReNr-LagerOrt.

Zwischen ArtNr und LagerOrt besteht eine funktionale Abhängigkeit, die nichts mit der Rechnungsnummer zu tun hat, daher ist die Relation zwar in 3. NF, aber nicht in der Boyce-Codd-Normalform.

Das Attribut ArtNr ist hier die Determinante für den Lagerort, aber das Attribut LagerOrt ist nur ein Teil eines Schlüsselkandidaten und somit funktional abhängig zum Attribut ArtNr. Das gleiche gilt für die umgekehrte Richtung, da auch über den Lagerort die Artikelnummer bestimmt werden kann.

Die Abhängigkeit wird durch eine Aufteilung der Daten in zwei Tabellen gelöst. Aus der Ausgangstabelle entstehen so zwei neue Tabellen, die über einen Primärschlüssel verbunden sind.
ddd

Neue Tabelle: "Rechnung-Artikel"

ReNrArtNrAnzahl
10010010101
10010010202
10010010305
100103104010
10010410406

Neue Tabelle: "Artikel-Lagerort"

ArtNrLagerOrt
101022
102015
10309
104013
10505

Weiterführende Artikel