问题 多项选择题

设关系模式R(A,B,C,D,E,F),函数依赖集F=A→C,C→A,B→AC,D→AC,BD→A。
1)求出R的候选码及F的最小函数依赖集。
2)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。

答案

参考答案:R的候选码为BD
①将F中的函数依赖都分解为右部为单属性的函数依赖
F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}
②去掉F中冗余的函数依赖
判断A→C是否冗余
设:GA={C→A,B→A,B→C,D→A,D→C,BD→A},得(A) GA+=A[*]C不属于(A) GA+ [*]A→C不冗余判断C→A是否冗余
设:GB={A→C,B→A,B→C,D→A,D→C,BD→A},得(A) GB+=C
[*]A不属于(C) GA+ [*]C→A不冗余判断B→A是否冗余
设:GC={A→C,C→A,B→C,D→A,D→C,BD→A},得(B) GC+=BCA
[*]A属于(B) GC+ [*]B→A冗余判断B→C是否冗余
设:GD={A→C,C→A,D→A,D→C,BD→A},得(B) GD+=B
[*]C不属于(B) GD+ [*]B→C不冗余判断D→A是否冗余
设:GE={A→C,C→A,B→C,D→C,BD→A},得(D) CE+=DCA
[*]A属于(D) GE+ [*]D→A冗余判断A→C是否冗余
设:GF={A→C,C→A,B→C,BD→A},得(D) GF+=D
[*]C不属于(D) GF+ [*]D→C不冗余判断BD→A是否冗余
设:GG={A→C,C→A,B→C,D→C},得(BD) GG+=BDCA
[*]A属于(BD) GG+ [*]BD→A冗余F={A→C,C→A,B→C,D→C}
由于各函数依赖左部都为单属性,故:
Fm={A→C,C→A,B→C,D→C}
B)τ={AC,BC,DC,BD}tu/AB0I/j/DsBGIADE.jpgtu/AB0I/j/DsBHGH0B.jpgtu/AB0I/j/DsBGIADE.jpgtu/AB0I/j/DsBHGH0B.jpgtu/AB0I/j/DsBGIADE.jpgtu/AB0I/j/DsBHGH0B.jpgtu/AB0I/j/DsBGIADE.jpgtu/AB0I/j/DsBHGH0B.jpgtu/AB0I/j/DsBGIADE.jpgtu/AB0I/j/DsBHGH0B.jpgtu/AB0I/j/DsBGIADE.jpgtu/AB0I/j/DsBHGH0B.jpgtu/AB0I/j/DsBGIADE.jpgtu/AB0I/j/DsBHGH0B.jpg

解析: 主要考查了关系数据库规范化处理等一系列工作。

单项选择题 A1型题
单项选择题 A1/A2型题