1.函数依赖
设R(U)是属性集U.上的关系模式,X, Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X集合上的属性值相等,而在Y上的属性值不等,
则称X函数确定Y或Y函数依赖于X,记作X→Y。
理解:X,Y为两个集合,对于集合X中的所有元素,在Y集合中都能找到对应。
当X值不同时:X既可以对应Y的相同元素,也能对应不同元素。
当X值相同时:X只能对应Y中的相同元素。
简单来说可以看做:y=x^2 x=1/-1时 y都等于1,这个方法理解下去就会渐渐明白了函数依赖。
几条性质:
A1(自反性,Reflexivity):若Y包含于X包含于U,则X→Y在R上成立。
A2(增广性,Augmentation):若X→Y在R上成立,且Z包含于U,则XZ→YZ在R上成立。
A3(传递性,Transitivity):若X→Y和Y→Z在R上成立,则X→Z在R上成立。
A4(合并性,Union):{ X→Y,X→Z }⊨X→YZ。
A5(分解性,Decomposition):{X→Y,ZY }⊨ X→Z 。
A6(伪传递性):{ X→Y,WY→Z }⊨ WX→Z。
A7(复合性,Composition): {X→Y,W→Z } ⊨ XW→YZ
定义2: 设F是在关系模式R上成立的函数依赖的集合,X→Y是一个函数依赖。如果对于R的每个满足F的关系r也满足X→Y,那么称F逻辑蕴涵X→Y,记为F ⊨X→Y。
定义3:对于FD X→Y,如果Y包含于X,那么称X→Y是一个平凡的FD,否则称为非平凡的FD。
定义4:设F是属性集U上的FD集。若Fmin是F的一个最小依赖集,那么Fmin满足下列四个条件:
⑴ F+min =F+;
⑵ 每个FD的右边都是单属性;
⑶ Fmin中没有冗余的FD;(即F中不存在这样的函数依赖X→Y,使得F与F-{X→Y }等价)
⑷ 每个FD的左边没有冗余的属性。(即F中不存在这样的函数依赖X→Y,X有真子集W,使得F-{ X→Y}∪{ W→Y }与F等价)