
答案
1)F={A→C,C→A,B→AC,D→AC,BD→A}。 候选码:BD 2)(1)单属性化 F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A} (2)无冗余化 A→C是否冗余? G1={C→A,B→A,B→C,D→A,D→C,BD→A} A的G1闭包:=A,而C不属于{A},所以:A→C不冗余 C→A是否冗余? G2={A→C, B→A,B→C,D→A,D→C,BD→A} C的G2闭包:=C,A不属于{C},所以:C→A不冗余 B→A是否冗余? G3= F={A→C,C→A, B→C,D→A,D→C,BD→A} B的G3闭包:BCA,而A属于{BCA},所以:B→A冗余 B→C是否冗余? G4={A→C,C→A,D→A,D→C,BD→A} B的G4闭包:=B,而C不属于{B},所以:B→C不冗余 D→A是否冗余? G5={A→C,C→A,B→C,,D→C,BD→A} D的G5闭包:=DCA,而A属于{DCA},所以:D→A冗余。 D→C是否冗余? G6={A→C,C→A, B→C, BD→A} D的G6闭包:=D,而C不属于{D},所以D→C不冗余 BD→A是否冗余? G7= F={A→C,C→A,B→C, D→C} BD的G7的闭包=:BDCA,A属于该闭包,所以:BD→A冗余。 既约化:由于依赖式子右边全部是单属性,故可以省略。 Fmin={A→C,C→A,B→C, D→C} 3) (1){A→C,C→A,B→C, D→C}, (2)是否存在在F中有一个函数依赖X→A,且X∪A=U,无此情况。 (3)把依赖集中的每一个依赖式子的属性组合,得到如下子模式:AC,BC,DC (4)BD加入 (5)消去子集依赖:无子集依赖。 最终分解为: T={AC,BC,DC,BD}解为:T={AC,BC,DC,BD}