Zerlegungsalgorithmus Normalform

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 28. September 2006 um 17:50 Uhr durch Riedel~dewiki (Diskussion | Beiträge) (besser formatiert). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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:

  1. Die Menge R wird so lange bearbeitet, bis alle Elemente in BCNF sind.
  2. Wenn ein noch nicht in BCNF ist, dann wird dieses wie folgt in zwei Teile zerlegt

Erweiterung für 4. Normalform

Durch minimale Anpassungen kann der Algorithmus auch für die 4. Normalform (siehe Normalisierung) verwendet werden.

  1. Fasse funktionale Abhängigkeiten   und mehrwertige Abhängigkeiten   zu einer Menge   zusammen
  2. 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