扫一扫二维码
进群一起备考
查看更多
当前 - 选择题 - 数据库理论简单
单选题
2015年5月第36题
收藏
分享
#数据库系统
#数据库理论
#第二版教材
#凯恩建议必须掌握
给定关系模式R(A1,A2,A3,A4),R上的函数依赖集F={A1A3→A2,A2→A3},则R(问题1)。若将R分解为p={(A1,A2),(A1,A3)},那么该分解(问题2)。
正确答案C
凯恩解析
本题考察的是候选码判定、无损分解与函数依赖保持。
问题1:由F={A1A3→A2,A2→A3}可知,A1与A4不被任何依赖决定,因此想要成为候选码,必须包含A1与A4。
检验A1A4的闭包仅能得到A1、A4,无法推出A2或A3,不是码;检验A1A3A4:因A1A3→A2,得出A2,进而由A2→A3(已含),故能推出A1A2A3A4,为候选码;
检验A1A2A4:由A2→A3得A3,再由A1A3→A2(已含),同样能推出全属性,为候选码;其真子集均不足以推出全属性,故有且仅有A1A3A4、A1A2A4两组候选码。
A选项A1A3缺少A4,不能覆盖A4;
B选项A1A4不能推出A2、A3;
D选项列出的三个都不满足或不全。
故选C。
问题2:分解p={R1(A1,A2), R2(A1,A3)}。
无损判定依据是R1∩R2→R1-R2或R1∩R2→R2-R1成立。此处R1∩R2={A1},但由F并不能推出A1→A2(R1-R2)或A1→A3(R2-R1),故不是无损,为有损分解。
依赖保持性:原依赖A1A3→A2跨越R1与R2,投影到R1或R2均不可直接表示;A2→A3在R1缺少A3、在R2缺少A2,同样无法保留,故不保持函数依赖。
因此选择D。
