多值依赖
例如:学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。每个教师可以讲述多门课程,没种参考书可以提供多门课程使用。
教师t
课程c
参考书b
如果对此规范化的二维表进行增删改很不方便,数据的冗余也十分的明显,仔细思考这类关系模式,发现它具有一种称为多值依赖的数据依赖。
设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,并且z=U-x-y。关系模式R(U)中的多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。
例如,在上述关系模式中,假设对于一个(物理,光学原理)有一组t值{李勇,王军},这组值仅仅决定了课程c上的值(物理),也就是说对于另一个(物理,普通物理学),它对应的一组t值仍是{李勇,王军},尽管这时参考书b值已经改变了,因此t值依赖于c,即c→→t。