请问FD是什么意思?

如题所述

FD:函数依赖
1. FD的定义

定义:R(U),X、Y为属性集,t1、t2为元组,若t1[X]=t2[X],则t1[Y]=t2[Y],称X函数决定Y函数或Y依赖于X,记作X→Y。

例3-22 对实例3-21“学生选课”关系模式R,如果规定每个学生只能有一个姓名,每个课程号只能对应一门课程,则有以下FD:

sno→sname

cno→cname

由于每个学生每选修一门课程只能有一个成绩,则有以下FD:

(sno,cno)→score

当然,还有以下FD:

sno→sex

sno→(sname,sex)

例3-23 设关系模式R(ABCD),假设A与B为一对多联系,而C与D为一对一联系,试写出相应的FD。

由于A与B为一对多联系,即每个A值有多个B值与之对应,即B值决定A值,可写出FD:B→A。

同理,由于C与D为一对一联系,可写出FD:D→C和C→D。

注意一对一、一对多联系(如学号和性别为一对多联系)的FD。

2. FD和关键码的关系

定义:R(U),若X→U,则称X是R的超键。如果X任一子集X1,有X1→U不成立,则称X是R的候选键。

例3-24 对例3-22的关系模式R进行分析,有以下FD:

(sno,cno)→(sno,sname,sex,cno,cname,score)

即(sno,cno)为关系模式R(U)的候选键。

虽然有以下FD:

(sno,sname,cno)→(sno,sname,sex,cno,cname,score)

但(sno,sname,cno)只是关系模式R(U)的超键而非候选键,因为(sno,sname,cno)包含多余的属性sname。

结论:·若X是R的候选键,则对于任意Y,均有X→Y。eg. “学生选课”。

·若X→Y,而X非超键,则R一定有冗余。eg. 例3-21,有cno→cname。

·函数依赖表示数据的完整性约束。

3. FD推理规则

定义:若X→Y,且Y X,则称X→Y是“平凡的FD”,反之称为“非平凡的FD”。

结论:平凡的FD是不可能不满足的FD(如X→X),要研究的是非平凡的FD。

规则:·自含律 X→X。

·自反律 若Y X,则X→Y。

·增广律 若X→Y,则XZ→YZ。

·传递律 若X→Y且WY→Z,则XW→Z。

·分解规则 若X→YZ,则X→Y且X→Z。

·合并规则 若X→Y且X→Z,则X→YZ。

·复合规则 若X→Y且Z→W,则XZ→YW。
温馨提示:答案为网友推荐,仅供参考
相似回答