Der Zerlegungsalgorithmus Normalform überführt einen Datenbankentwurf in ein Relationenschema der Boyce-Codd-Normalform (BCNF).
Dabei können allerdings funktionale Abhängigkeiten verloren gehen.
Eingabe: universelles Schema R=(U,F)
Ausgabe: verbundstreue ("lossless-join") BCNF-Zerlegung D=(R,.)
1
2 done:=false
3 while not done
4 if
not in BCNF and insb.
5
6
7
8
9
10 else
11 done:=true
In einfachen Worten:
- Die Menge R wird so lange bearbeitet, bis alle Elemente in BCNF sind.
- Wenn ein
noch nicht in BCNF ist, dann wird dieses wie folgt in zwei Teile zerlegt
Durch minimale Anpassungen kann der Algorithmus auch für die 4. Normalform (siehe Normalisierung) verwendet werden.
- Fasse funktionale Abhängigkeiten
und mehrwertige Abhängigkeiten
zu einer Menge
zusammen
- Verwende an Stelle von
die durch
implizierte Menge 
Oben stehender Algorithmus ist sodann analog anwendbar:
1
2 done:=false
3 while not done
4 if
not in 4NF and insb.
5
6 else
7 done:=true
Dieser Artikel oder Abschnitt bedarf einer grundsätzlichen Überarbeitung. Näheres sollte auf der
Diskussionsseite angegeben sein. Bitte hilf mit, ihn zu
verbessern, und entferne anschließend diese Markierung.