sql数据库习题,规范化过程中的范式及模式分解问题

请证明以下两题:

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不是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)

温馨提示:答案为网友推荐,仅供参考
相似回答