国开《数据库基础与应用》第三章 3-2-1:变换规则
3-2-1:变换规则
若属性或属性集X能够函数决定相应的属性或属性集Y,则称X函数决定Y,或者说Y函数依赖于X,记作X→Y。可以是完全依赖、部分依赖、平凡依赖、非平凡依赖、传递依赖等5种。
1.变换规则
2.最小函数依赖集
3.求侯选码
4.给关系添加候选码
5.侯选码应用举例
变换规则:
函数依赖之间的变换规则:
设一个关系为R(U),其中X、Y、Z、W是U上的子集,则函数依赖存在着以下一些常用的变换规则:
(1)自反性:若X⊇Y,则存在X→Y。
如(学生号,课程号)→学生号,(学生号,课程号)→课程号。
(2)增广性:若X→Y,则存在XZ→YZ。
如学生号→系号,则“(学生号,课程号)→(系号,课程号)”。
(3)传递性:若X→Y和Y→Z,则存在X→Z。
因为X惟一对应Y,Y惟一对应Z,所以X也惟一对应Z,X到Z存在着依赖关系。如教工号→职称,职称→职务工资,则存在教工号→职务工资。
(4)复合性:若X→Y和Z→W,则存在XZ→YW。
如学生号→姓名,课程号→课程名是两个独立的函数依赖,把它们左、右对应组合后,变为(学生号,课程号)→(姓名,课程名)仍然是一对函数依赖。
(5)自增性:若X→Y,则存在WX→Y。
如学生号→姓名,则存在:(学生号,课程号)→姓名,不过由原来的直接依赖变为现在的部分依赖。
(6)伪传递性:若X→Y和WY→Z,则存在WX→Z。
如把WY→Z中的Y替换成它的决定因素X属性后,函数依赖WX→Z仍然成立。因为X→Y,根据增广性,两边同时添加W,所以WX→WY,又因为WY→Z,根据传递性,所以存在WX→Z。又如教工号→职称,(职称,工龄)→基本工资,则存在(教工号,工龄)→基本工资的传递依赖。
(7)合并性:若X→Y和X→Z,则存在X→YZ。
如学生号→姓名,学生号→性别,则学生号→(姓名,性别)。
(8)分解性:若X→Y,且Y⊇Z,则存在X→Z
如学生号→(姓名,性别),则存在学生号→姓名,学生号→性别。