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号→姓名。
参考资料来源:百度百科-完全函数依赖
百度百科-部分函数依赖
百度百科-传递函数依赖
Z,Y都是属性集的意思,Z-Y表示属性集属于Z但是不属于Y;YZ表示两个属性集的并集。如果您是对于数据库软考的话,不用掌握的这么深,您可以看数据库工程师教程的P378最上面的图帮您理解。比如A决定B,B决定C,则A决定C就是传递依赖。传递函数依赖定义3:在R (U)中,如存在X,Y,Z包含于U 且满足:X—>Y ,Y—>Z,则称Z传递函数依赖于X,否则,则称为非传递函数依赖。(个人理解:X,Y,Z相当于数据库表中的字段,“决定”的意思是根据某一列的内容能够唯一确定另一列的内容。比如有个student表,包含学号,姓名,年龄字段,则一个学号能唯一确定一个姓名,就是学号决定姓名,反过来如果存在重名的,则姓名不能决定学号,因为一个姓名可能对应两个学号。同样假如姓名决定年龄,则我们就说学号决定年龄,年龄传递依赖于学号。这个道理就像两个字段本身看起来没什么关系,但是中间通过另一个字段使得这两个字段存在间接的约束关系,则这两个字段就是传递依赖。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)