(1) 函数依赖
1)定义
设R(U)是属性集合U={A1,A2,…,An}上的一个关系模式,X, Y是U上的两个子集,若对R(U)的任意一个可能的关系r, r中不可能有两个元组满足在X中的属性值相等而在Y中的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”,记作X∈Y。
示例:U={学号,姓名,年龄,班号,班长,课号,成绩}
学号→{姓名,年龄}
班号→班长
{学号,课号}→成绩
注:函数依赖的分析取决于对问题领域的限定和分析,取决于对业务规则的正确理解。例如:问题领域中,学生是没有重名的,则有:“年龄”和“家庭住址”都函数依赖于“姓名”。而在另一个问题领域中,学生是有重名的,则上述函数依赖是不成立的。
2)函数依赖的特性
(1)对X→Y,但Y ∉ X, 则称X→Y为非平凡的函数依赖;
如:上例中{学号,课号}→成绩 就属于非平凡的依赖。{学号,课号} →学号;就属于平凡的依赖。
所谓的平凡依赖就是依赖对象属于被依赖对象的一部分。
(2)若X→Y,则任意两个元组,若X上值相等,则Y上值必然相等,则称X为决定因素;
(3)若X→Y ,Y→X, 则记作X←→Y;
如:省份→省份代码 省份代码→省份 则其相互依赖
4)若Y不函数依赖于X,则记作X -/→ Y;
(5)X→Y,有基于模式R的,则要求对任意的关系r成立;有基于具体关系r的,则要求对某一关系r成立
(6)如一关系r的某属性集X, r中根本没有X上相等的两个元组存在,则X→Y恒成立;
练习:请分析下列属性集上的函数依赖
学生(学号,姓名,班级,课号,课程名,成绩,教师,教师职务)
学号 决定姓名、班级、
课号 决定课程名
学号和课号 决定成绩
课号 决定 教师
教师 决定 教师号
{学号,课号} 是候选码
员工(员工码, 姓名, 出生日期, 联系电话, 最后学历, 毕业学校, 培训日期,培训内容,职务变动期,变动后职务)
图书(书号,书名,出版日期,出版社,书架号,房间号)
客户(客户号,客户名称,类别,联系电话,产品编码,产品名称,数量,
要货日期)
完