函数依赖:FD(function dependency)
设有关系模式R(U),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,
由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。
为了抠定义,我试图用一些数据来理解 这个函数依赖的定义:
关系模式R(U)
假设属性集U{学号,姓名,年龄,性别,住址}
假设子集X{学号,姓名}
假设子集Y{年龄,性别}
具体关系r:
学号 姓名 年龄 性别住址
001张三 18 F GZ==>假设这条记录是元组t1
002李四 19 M BJ==>假设这条记录是元组t2
现在,我的问题是,请解释定义里的这句话:“由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。” 重点是解释由t1[X]=t2[X]导致t1[Y]=t2[Y]这个定义想表达什么意思,
按照我对t1[X]=t2[X]这个符号的理解 就是
{学号:001,姓名:张三}={学号:002,姓名:李四} ,这明显是不对。 那么t1[X]=t2[X]具体是什么意思?
1、传递函数依赖
设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。
2、完全函数依赖
设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。
3、部分函数依赖
设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
扩展资料所谓函数依赖是指关系中一个或一组属性的值可以决定其它属性的值。函数依赖正象一个函数 y = f(x) 一样,x的值给定后,y的值也就唯一地确定了。
如果属性集合Y中每个属性的值构成的集合唯一地决定了属性集合X中每个属性的值构成的集合,则属性集合X函数依赖于属性集合Y,计为:Y→X。属性集合Y中的属性有时也称作函数依赖Y→X的决定因素(determinant)。例:身份z号→姓名。
参考资料来源:百度百科-完全函数依赖
百度百科-部分函数依赖
百度百科-传递函数依赖
1.F={A->B,C->D,AE->F,F->G}已经是F的最小函数依赖集 2.R的候选码:ACE 3.R分解为:R1(AB),R2(CD),R3(AEF),R4(FG)和R5(ACE)均满足BCNF范式欢迎分享,转载请注明来源:内存溢出
评论列表(0条)