sql数据库习题,规范化过程中的范式及模式分解问题
请证明以下两题:1.设关系模式R(ABCD),F是R上成立的FD集,F={AB→CD,A→D}。(1)试说明R不是2NF模式的理由。(2)试把R分解成2NF模式集。2.设...
请证明以下两题:
1.设关系模式R(ABCD),F是R上成立的FD集,F={AB→CD,A→D}。
(1) 试说明R不是2NF模式的理由。
(2) 试把R分解成2NF模式集。
2.设关系模式R(ABC),F是R上成立的FD集,F={C→B,B→A}。
⑴ 试说明R不是3NF模式的理由。
⑵ 试把R分解成3NF模式集。
(本人菜鸟,请尽可能详细,谢谢!) 展开
1.设关系模式R(ABCD),F是R上成立的FD集,F={AB→CD,A→D}。
(1) 试说明R不是2NF模式的理由。
(2) 试把R分解成2NF模式集。
2.设关系模式R(ABC),F是R上成立的FD集,F={C→B,B→A}。
⑴ 试说明R不是3NF模式的理由。
⑵ 试把R分解成3NF模式集。
(本人菜鸟,请尽可能详细,谢谢!) 展开
1个回答
展开全部
(1) 试说明R不是2NF模式的理由。
存在部分依赖,所以R不是2NF
(2) 试把R分解成2NF模式集。
R1(ABC),R2(AD) 说明:消除部分依赖关系
2.(1)R存在传递依赖。
(2)R1(CB),R2(BA) 说明:消除传递依赖关系
追问
大神,你好,谢谢回答,请问可否更具体一些。第一小问请告诉我谁和谁存在部分依赖,第二小问麻烦写出具体的分解过程。请按论述题的程度来回答,万分感谢!如果够详细一定会采纳的!
追答
1.
(1)关系的主码为(AB),D对主码存在部分依赖关系。所以R不是2NF
(2)分解过程(消除部分依赖关系):将主码的各个子集组成新的关系,以决定因子作为主码:
分解:R1(ABC),主码为(AB),
R2(AD)主码为(A)
2.
(1)关系的主码为(C),因为C→B,B→A,所以A对主码(C)存在传递依赖,所以不是第三范式
(2)分解过程(消除传递依赖关系):
将每个不直接依赖于主码的属性,从关系中取出来,组成一个新的关系,将决定因子作为主码。
A的决定因子为B,所以分解为 R2(BA),主码为(B),B的决定因子为C,所以分解为R1(CB),主码为(C)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询