Esempio 3
Sia assegnata una copertura minima di un insieme di d.f. F e le chiavi candidate di R insieme al grafo delle dipendenze.
Determinare una decomposizione BCNF.
Fmin=(AB→CC→DF→BAC→EG→HD→GE→AFC→FH→G)
Keys(g)={AB,E,AF,AC}

R(ABCDEFGH)
⏞X=FY=F+−F=BZ=AECDGH
R1(FB)
F→B
R2(FAECDGH)
AF→CAC→EE→AFC→DH→GG→HC→F


R2(FAECDGH)
⏞X=DY=D+−D=GHZ=AECF
R3(DAECF)
AF→CC→DAC→EE→AF


R4(DGH)
D→GG→HH→G


R3(DAECF)
⏞X=CY=C+−C=DFZ=AE
R5(CDF)
C→DF
R6(CAE)
AC→E
R4(DGH)
⏞X=GY=G+−G=HZ=D
R7(GH)
G→HH→G
R8(GD)
D→G
References
[1] - Jeffrey D. Ullman, Basi di dati e basi di conoscenza,
Gruppo Editoriale Jackson S.p.a, Milano 1991, pagg. 430-481
[2] - R. Ramakrishnan - J. Gehrke, Sistemi di basi di dati,
McGraw Hill, Milano 2004, pagg. 157-165, 175.