关系理论
无特殊说明下,均讨论非平凡的函数依赖。即X可以推出Y,但Y不是X的子集。
因为一般某个集合总能推出其子集(这种情况就是平凡的函数依赖),没啥
用。
(1)非平凡的函数依赖:X Y,Y X
(2)平凡的函数依赖:X Y,Y X
1、函数依赖
(3)完全函数依赖:X Y,并且对于X的任意真子集X,都有X Y。则称Y完全
函数依赖于X。记作X Y。
(4)部分函数依赖:Y不完全函数依赖于X。记作X Y。例如A C,又有AB C,
那么C就是部分函数依赖于AB的,这种情况会造成数据冗余。
2、码
(1)候选码:是一个属性组(或者属性),通过该属性组能推出所有的属
性,并且该属性组的任意子集都不能再推出所有属性了。即在满足完全函数
依赖的前提下,还得是最小的属性组。
求所有候选码的方法:
【Step 1】
找出一定属于候选码的属性,可能属于候选码的属性,以及不属于候选码的
属性。方法如下:
一定属于候选码的属性:只出现在左边,或者左右都没出现
可能属于候选码的属性:左右都出现
不属于候选码的属性:只出现在右边
例:集合U={A,B,C,D,E,G}。函数依赖集F={AB C,CD E,E A,A G}
【例题分析】
只出现在左边的是B和D,没有左右都没出现的属性,所以BD一定是属于候选
码的属性。
左右都出现的有A,C,E,因此这三个是可能属于候选码的属性,即待定的备
选。
只出现在右边的有G,因此G是不属于候选码的属性,可以不管了。
-
→
¢
→
E
→
'
必
与
上
→
→
→
→
→
→
→
→
评论0