多值依赖

多值依赖:

   比如:学校中某一门课程由多个教员讲授,他们使用相同的一套参考书。每个教员可以讲授多门课程,每种参考书可以供多门课程使用。我们可以用一个非规范化的关系来表示教员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 为平凡的多值依赖。

多值依赖具有以下性质:

  1. 多值依赖具有对称性。即若X→→Y,则X→→Z,其中Z=U-X-Y。
  2. 多值依赖的传递性。即若X→→Y,Y→→Z, 则X→→Z-Y。
  3. 函数依赖可以看作是多值依赖的特殊情况。即若X→Y,则X→→Y。这是因为当X→Y时,对X的每一个值x,Y有一个确定的值y与之对应,所以X→→Y。
  4. 若X→→Y,X→→Z,则X→→YZ。
  5. 若X→→Y,X→→Z,则X→→Y∩Z。
  6. 若X→→Y,X→→Z,则X→→Y-Z,X→→Z-Y。

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

  1. 多值依赖的有效性与属性集的范围有关。
    若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)上成立。
  2. 若函数依赖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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值