设关系模式R(A,B,C,D,E,F),函数依赖集F={A->C,C->A,B->AC,D->AC,BD->A}.求R的

设关系模式R(A,B,C,D,E,F),函数依赖集F={A->C,C->A,B->AC,D->AC,BD->A}.求R的候选码及F的最小函数依赖.
将R分解为3NF,使其既有无损连接性又具有函数依赖保持性.
月明生夜寒 1年前 已收到1个回答 举报

huahua3 幼苗

共回答了27个问题采纳率:85.2% 举报

(1)R的候选码为BD
(2)
①将F中的函数依赖都分解为右部为单属性的函数依赖.
F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}
②去掉F中冗余的函数依赖.
判断A→C是否冗余.
设:G1={C→A,B→A,B→C,D→A,D→C,BD→A},得(A)G1+=A
∵C不属于(A)G1+   ∴ A→C不冗余
判断C→A是否冗余.
设:G2={A→C,B→A,B→C,D→A,D→C,BD→A},得(A)G2+=C
∵A不属于(C)G1+   ∴ C→A不冗余
判断B→A是否冗余.
设:G3={A→C,C→A,B→C,D→A,D→C,BD→A},得(B)G3+=BCA
∵A属于(B)G3+   ∴ B→A冗余
判断B→C是否冗余.
设:G4={A→C,C→A,D→A,D→C,BD→A},得(B)G4+=B
∵C不属于(B)G4+   ∴ B→C不冗余
判断D→A是否冗余.
设:G5={A→C,C→A,B→C,D→C,BD→A},得(D)G5+=DCA
∵A不属于(D)G5+   ∴ D→A冗余
判断A→C是否冗余.
设:G6={A→C,C→A,B→C,BD→A},得(D)G6+=D
∵C不属于(D)G6+   ∴ D→C不冗余
判断BD→A是否冗余.
设:G7={A→C,C→A,B→C,D→C},得(BD)G7+=BDCA
∵A不属于(BD)G7+   ∴ BD→A冗余
F={A→C,C→A,B→C,D→C}
③由于各函数依赖左部都为单属性,故:
Fm={A→C,C→A,B→C,D→C}
(3)τ={AC,BC,DC,BD}

1年前

11
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.019 s. - webmaster@yulucn.com