【答案解析】R的候选码为BD
①将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) C5+=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+
