数据库系统系统原理,关系模式方面问题

设有关系模式R(学号 Sno, 课程号 Cno,成绩 G,任课教师 TN, 教师工作单位 TD),基于R的函数依赖集F={(Sno, Cno)-->G, Cno-->TN, TN-->TD}根据上述规定
1).写出模式R的关键码;
2).判断R最高为第几范式?为什么?
3).若R不为3NF,试将R分解成等价的3NF模式。

问第三题具体是该如何实现的?

第三题问题将R分解成等价的3NF,是不是说R分解出来的所有关系模式都必须是3NF的?

第一范式,第二范式都能理解,那么第三范式是在第二范式的基础上,增加了什么条件?不传递依赖不是很懂,希望可以讲具体点。以R1(Sno, Cno, G)为例,由于(Sno,Cno)-->G,但是并不能确定G就一定不能决定(Sno,Cno),所以R1就是第三范式。这样理解对不对?

求各路大神帮忙解答一下,小弟在此先行谢过。

Q1:问第三题具体是该如何实现的?

A1:第三题可采用保持函数依赖的分解算法。

Q2:第三题问题将R分解成等价的3NF,是不是说R分解出来的所有关系模式都必须是3NF的?

A2:可以说模式分解后的关系模式一定是3NF的,其中:

1.保持函数依赖的分解一定是3NF,但不一定是BCNF。

2.既保持函数依赖又有无损连接性的分解一定是3NF,但不一定是BCNF。

3.具有无损连接性的分解,一定可达到4NF。

Q3:第一范式,第二范式都能理解,那么第三范式是在第二范式的基础上,增加了什么条件?

A3:第三范式是在第一模式的基础上,消除了每一个非主属性与码的传递依赖,比如X→Y,Y→Z,这里就是Z传递依赖于X。

Q4:以R1(Sno, Cno, G)为例,由于(Sno,Cno)-->G,但是并不能确定G就一定不能决定(Sno,Cno),所以R1就是第三范式。这样理解对不对?

A4:以R1(Sno, Cno, G)为例,由于(Sno,Cno)-->G,这里只有(Sno,Cno)决定G这一个函数依赖,此例G完全依赖于(Sno,Cno),并不存在传递依赖,决定因素也只有码(Sno,Cno)一个,所以R1是BCNF范式,自然也是第三范式。(ps:4NF多值依赖这一块我还在理解,如果仅仅R(Sno,Cno,G),F={(Sno,Cno)-->G}这个条件的话我认为是属于4NF的,等我理解了再来补答~)

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答