基本概念
1.函数依赖
函数依赖是关系模式中属性之间的一种逻辑依赖关系。
设在关系R中,X、Y为R的两个属性子集,如果每个X值只有一个Y值与之对应(即对于R的任意两个元组T1和T2,只要T1[X]=T2[X],就有T1[Y]=T2[Y]),则称属性Y函数依赖于属性X;或称属性X惟一确定属性Y,记作X→Y。
如果X→Y,同时Y不是X的子集,则称X→Y是非平凡的函数依赖。
如果一个关系模式设计得不好,说明在它的某些属性之间存在“不良”的函数依赖。
2.完全函数依赖
设在关系R中,X、Y为R的两个属性子集,若X→Y,且对于X的任何一个真子集X’,都有X’ ↛ Y, 则称Y完全函数依赖于X。
记作:
x → f y x\overset{f}{\rightarrow}y x→fy
若X’→Y,则称Y部分函数依赖于X。
记作: x → p y x\overset{p}{\rightarrow}y x→py
3.传递函数依赖
设在关系R中,X、Y、Z为R的三个属性子集,若X→Y,但Y↛X