定义:设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x的值而与z值无关。
定义看起来很抽象,但实际上理解起来一点也不简单。这里还是采用王珊老师的《数据库系统概论第五版》中的例子来帮助理解。
如上图所示,对于表6.3,只有课程C能决定教师T,只要课程发生变化则教师T的集合取值也会发生变化。而参考书B的取值无论是取普通物理学或者光学原理都改变不了教师T集合的取值,这就叫这组值仅仅取决于课程C的值而与参考书B的值无关。
实际上多值依赖中“多值”的概念应该是指集合,即一个属性能对应另一个属性的集合,而不是指多个属性。而函数依赖指的是一个属性能决定另一个属性的取值,所以也说函数依赖是特殊的多值依赖。