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.

ReNr ArtNr LagerOrt Anzahl
100100 1010 22 1
100100 1020 15 2
100100 1030 9 5
100103 1040 13 10
100104 1040 13 6

Die zusammengesetzten Schlüsselkandidaten sind ReNrArtNr und ReNrLagerOrt.

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“

ReNr ArtNr Anzahl
100100 1010 1
100100 1020 2
100100 1030 5
100103 1040 10
100104 1040 6

Neue Tabelle: „Artikel-Lagerort“

ArtNr LagerOrt
1010 22
1020 15
1030 9
1040 13
1050 5

Weiterführende Artikel

Autor: Markus
76 Bewertungen 1 Stern2 Sterne3 Sterne4 Sterne5 Sterne
Loading...
0