数据依赖
关系内部属性与属性之间的一种约束关系,通过属性间值的相等与否体现。
好的模式应
避免插入、删除、更新异常,数据冗余尽量少。
函数依赖
R(U)是属性集U上的关系模式,X、Y是U的子集,在R中任意一个可能的关系r中,不可能存在两个元组,其在X上的属性值相等,而在Y上的属性值不等,
则称函数X确定Y 或 Y函数依赖于X 记作X→Y
平凡函数依赖:X→Y 且X包含Y
非平凡函数依赖:X→Y 且X不包含Y
完全函数依赖:X→Y,且对于X的任何一个真子集X´,都不能得到X´→Y
部分函数依赖:X→Y,但Y不完全依赖于X
传递函数依赖:若X→Y(X不包含Y),且无法得到Y→X,且Y→Z(Y不包含Z),则称Z对X传递函数依赖
范式
1NF
满足最低的要求:每个分量必须是不可分的数据量
2NF
在1NF的基础上,每个非主属性完全依赖于任何一个候选码,否则应将其投影分解。
3NF
每一个非主属性既不传递依赖于码,也不部分依赖于码。
属于3NF必属于2NF,反之未必成立
BCNF
在2NF,3NF的基础上,没有任何属性完全函数依赖于非码的任何一组属性。
例:(