数据库问题:什么是非平凡函数依赖?
发布网友
发布时间:2022-04-29 23:23
我来回答
共2个回答
热心网友
时间:2022-06-25 19:00
所谓函数依赖是指关系中一个或一组属性的值可以决定其它属性的值。函数依赖正象一个函数y
=
f(x)一样x的值给定后,y的值也就唯一地确定了。
举几个例子,在学生表中(学号,姓名,年级),(学号,姓名)可以推出学号和姓名其中的任何一个,这就是平凡函数依赖.
通过(学号,姓名)可以推出这个学生所在的年级,这是非平凡函数依赖.((学号,姓名)就是一个x,学号或者姓名就是一个x')
通过属性学号就可以推出年级,说明年级完全依赖于学号,这就是完全函数依赖.
而(学号,姓名)虽然也可以推出年级,但是它的真子集姓名却推不出年级,这就是部分函数依赖,也叫不完全函数依赖.
热心网友
时间:2022-06-25 19:00
定义:设一个关系为R(U),X和Y为属性集U上的子集,若X→Y且X不包含Y,则称X→Y为非平凡函数依赖,否则若XY则必有X→Y,称此X→Y为平凡函数依赖。
例如:在一个职工关系中,职工号总能函数决定它本身,记作“职工号→职工号”,对于任一个给定的职工号,都有它本身的职工号值唯一对应,此为平凡函数依赖。又如:职工号和性别构成的属性子集总是能够函数决定其中的职工号或性别属性,可分别记作为“(职工号,性别)→职工号”和“(职工号,性别)→性别”,因为对于任何给定的一个元组中的职工号和性别的组合值,都唯一对应一个职工号值或性别值,不可能出现其他的职工号值或性别值,此种也为平凡函数依赖。
通常,主要讨论的是非平凡函数依赖,即X→Y且XY。如在职工关系中,职工号函数决定其他每个属性都是非平凡函数依赖,另外“(职工号,姓名)→性别”也是非平凡函数依赖,虽然在这里由决定因素中所含的职工号单属性就能够函数决定性别,而带有的姓名属性有些多余。