多值依赖的第一种形式定义

课本定义

设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。

理解

在这里插入图片描述

  • 如图所示课程C可以推出教师T和参考书B多个值,其中(C,T)->B,但是B与T的取值没有任何关系,则称为C->->B,这里的C,T,B不再代表当个值了,而是代表一个集合.
  • (C,B)->T,但是T与B没有任何关系,则C->->T

多值依赖的第二种等价形式定义

课本定义

在R(U)的任一关系r中,如果存在元组t,s使得t[X]=s[X],那么就必然存在元组w,v∈r,(w,v可以与s,t相同), 使得w[X]=v[X]=t[X],而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z](即交换s,t元组的Y值所得的两个新元组必在r中则Y多值依赖于X,记为X→→Y。这里X,Y是U的子集,Z=U-X-Y。

理解

如图所示规范化二维表Teaching
在这里插入图片描述

  • 在R(U)的任一关系r中,如果存在元组t,s使得t[X]=s[X]
    在这里插入图片描述

如图所示t[x]=s[x],其中的t,s就是相当于图中的t,s行,t[x]就是代表x列,表示t行和s行的x列的值相等.

  • 那么就必然存在元组w,v∈r,(w,v可以与s,t相同), 使得w[X]=v[X]=t[X].
    在这里插入图片描述
    这句的意思就是存在w,v行的第x列的值也会与t[x]相等.

  • 而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z](即交换s,t元组的Y值所得的两个新元组必在r中则Y多值依赖于X,记为X→→Y。这里X,Y是U的子集,Z=U-X-Y。
    在这里插入图片描述
    这句话就是如图所示,Y就代表教员T这一列,将t行的李勇和s行的王军交换之后,在集合U中存在与交换值后的t行和s行相等的元组.
    这就称为X->->Y

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐