Functional Dependencies
什么是函数依赖?
举些例子:
员工所属部门:员工编号→部门名称
一个部门有一个经理:部门名称→经理编号
员工只有一个经理:员工编号→经理编号
学生一次注册一个科目:学号、科目代码→注册日期
一个员工在一个办公室的一栋楼里:员工号→楼号,办公室号
大楼里的办公室有一间员工:楼号,办公室号→员工号
如何发现关系表中的函数依赖关系?
要发现关系表中的函数依赖关系,我们必须使用关系表名的语义和属性名。
例如,考虑一个关系模式关系表:
TRIP(rego#, license#, tdate),其中包含
在给定的日期(tdate)使用该卡车(rego#)的司机( license#)的行程信息。
一辆卡车只能用一次吗?如果是,则rego#→ tdate
司机只能开一次车吗?如果是,license#→ tdate
一个司机能使用多辆卡车吗?如果是,则license#→rego#
一辆卡车能被一个以上的司机使用吗?如果是,则rego#→license#
函数依赖关系与对象的类
一类对象:学生
包含以下函数依赖:
s# → fname
s# → lname<