数据库之多值依赖与4NF

数据库之多值依赖与4NF多值依赖的定义:     设R(U)是一个属性集合U上的一个关系模式,X,Y,和Z是U的子集,并且Z=U-X-Y,多值依赖X–Y成立当且仅当对R的任一个关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关。     若X–Y,而Z=空集,则称X–Y为平凡的多值依赖。否则,称X–Y为非平凡的多值依赖。可以看出,如果把上面的一

大家好,欢迎来到IT知识分享网。数据库之多值依赖与4NF

多值依赖的定义:

      设R(U)是一个属性集合U上的一个关系模式,X, Y, 和Z是U的子集,并且Z=U-X-Y,多值依赖X->->Y成立当且仅当对R的任一个关系r,r在(X,Z)上的每个值对应一Y的值,这组值仅仅决定于X值而与Z值无关。

      若X->->Y,而Z=空集,则称X->->Y为平凡的多值依赖。否则,称X->->Y为非平凡的多值依赖。

可以看出,如果把上面的一改为一,那么多值依赖就变成了函数依赖。当然一个值组成的组也是组,所以说,函数依赖是多值依赖的特殊情况。

如下表:

                    课程C                                   教师T                              参考书B

                    数学                                      邓军                                数学分析

                    数学                                      邓军                                高等代数

                    数学                                      邓军                                微分方程

                   

表中,U = C+T+B,(C,T)确定一组B,但是这组B其实与T无关,仅由C确定,所以(C,T)->->B。又因为T不是空集,所以(C,T)->->B为非平凡多值依赖。

要想消除多只依赖,可以分解为:(C,T), (C,B)及

表1:

                  课程C                  教师T

                  数学                     邓军

表2:

                课程C                    参考书B

                数学                      数学分析

                数学                      高等代数

                数学                      微分方程

对于R中的每个非平凡多值依赖X->->Y(Y不属于X),X都含有候选码,则R属于4NF。

分析:对于每一个非平凡多值依赖X->->Y,X若含有候选码,也就是X->Y,所以4NF所允许的非平凡多值依赖是函数依赖。

本文转载自:http://blog.csdn.net/smstong/article/details/5599490

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21839.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信