您的位置:首页 > 其它

多值依赖

2015-05-31 23:25 218 查看
多值依赖:

比如:学校中某一门课程由多个教员讲授,他们使用相同的一套参考书。每个教员可以讲授多门课程,每种参考书可以供多门课程使用。我们可以用一个非规范化的关系来表示教员T,课程C和参考书B之间的关系:

课程C 教员T 参考书B

------------------------------

物理 李 勇 普通物理学

王 军 光学原理

物理习题集

------------------------------

数学 李 勇 数学分析

张 平 微分方程

高等代数

把其变成一个表格:

Teaching
课程C 教员T 参考书B

------------------------

物 理 李 勇 普通物理学

物 理 李 勇 光学原理

物 理 李 勇 物理习题集

物 理 王 军 普通物理学

物 理 王 军 光学原理

物 理 王 军 物理习题集

数 学 李 勇 数学分析

数 学 李 勇 微分方程

数 学 李 勇 高等代数

数 学 张 平 数学分析

数 学 张 平 微分方程

数 学 张 平 高等代数

. . .

. . .

. . .

关系模型TEACHING(C,T,B)的码是(C,T,B),即A1l_Key。因而TEACHING∈BCNF。但是当某一课程(如物理)增加一名讲课教员(如周英)时,必须插人多个元组: (物理,周英,普通物理学),(物理,周英,光学原理),(物理,周英,物理习题集)
对数据的增删改很不方便, 数据的冗余也十分明显。仔细考察这类关系模式,发现它具有一种称之为多值依赖(MVD)的数据依赖。
定义5.9 设R(U)是属性集U上的一个关系模式。X,Y,Z是的U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。
也就是说,一个实体中的A属性的数据不变,而对应的B属性却又很多不同的数据,而这个跟是实体中的C属性没有联系。
例如,在关系模式TEACHING中,对于一个(物理,光学原理)有一组T值{李勇,王军},这组值仅仅决定于课程C上的值(物理)。也就是说对于另一个(物理,普通物理学)它对应的一组T值仍是{李勇,王军},尽管这时参考书B的值已经改变了。因此T多值依赖于C,即C→→T。
若X→→Y,而Z = 即Z为空,则称X→→Y 为平凡的多值依赖。
多值依赖具有以下性质:
多值依赖具有对称性。即若X→→Y,则X→→Z,其中Z=U-X-Y。

多值依赖的传递性。即若X→→Y,Y→→Z, 则X→→Z-Y。

函数依赖可以看作是多值依赖的特殊情况。即若X→Y,则X→→Y。这是因为当X→Y时,对X的每一个值x,Y有一个确定的值y与之对应,所以X→→Y。

若X→→Y,X→→Z,则X→→YZ。

若X→→Y,X→→Z,则X→→Y∩Z。

若X→→Y,X→→Z,则X→→Y-Z,X→→Z-Y。

多值依赖与函数依赖相比,具有下面两个基本的区别:

多值依赖的有效性与属性集的范围有关。

若X→→Y在U上成立则在W(XY W U)上一定成立;反之则不然,即X→→Y在W(W U)上成立,在U上并不一定成立。这是因为多值依赖的定义中不仅涉及属性组X和Y,而且涉及U中其余属性Z。

一般地,在R(U)上若有X→→Y在W(W U)上成立,则称X→→Y为R(U)的嵌入型多值依赖。

但是在关系模式R(U)中函数依赖X→Y的有效性仅决定于X,Y这两个属性集的值。只要在R(U)的任何一个关系r中,元组在X和Y上的值满足定义5.l,则函数依赖X→Y在任何属性集W(XY W U)上成立。

若函数依赖X→Y在R(U)上成立,则对于任何Y' Y均有X→Y'成立。而多值依赖X→→Y若在R(U)上成立,我们却不能断言对于任何Y' Y有X→→Y'成立。

总之,多值依赖存在这明显的冗余。

来源:http://blog.sina.com.cn/s/blog_a637e97e01013220.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: