To solve the Database Anomaly problem.
1NF:属性不可分割。
例如 关系模式:学生(姓名,住址),而住址又包含(区,街道),所以该模式不符合 1NF2NF:不存在非主属性对候选码的部分依赖。
例如 已知候选码是 BC,非主属性是 D,函数依赖中除了 BC→D,还有 B→D 或者 C→D,该模式不符合 2NF3NF:不存在非主属性对候选码的传递依赖。
例如 已知候选码是 AB,非主属性是 D,函数依赖中有 AB→C 和 C→D,所以该模式不符合 3NFBCNF:不存在主属性对候选码的部分依赖和传递依赖。
1.检查 R 中元素的 闭包,也就是哪些元素或者元素组合可以根据 F 中函数依赖关系得到完整的 R,这些元素或者元素组合就是候选码。这里 AB 的闭包是 ABC,记作 (AB)+=ABC,所以 AB 是候选码。
2.通过候选码确定主属性和非主属性。这里 A,B 是主属性,剩下的 C 就是非主属性。
3.判断范式标准:1NF,2NF,3NF,BCNF,4NF