5.2.4 2NF
- 定义5.6 2NF
若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF
- 2NF 在 1NF基础上消除了非主属性对码的部分函数依赖
- 换种叙述:
若R∈1NF,对R的每一个非平凡的函数依赖X→Y,要么Y是主属性,要么X不是任何码的真子集,则R∈2NF
- 例: SCG(Sno,Cno,Cname,Grade)
- 分析:
(Sno,Cno)是码
(Sno,Cno) F→Grade
(Sno,Cno)→Cname
∵Cno F→Cname
∴(Sno,Cno) P→Cname
∴SCG不是2NF
- 三问题
- 插入异常:(无法存放没有选的课)
- 删除异常:(删除选课信息时,丢失课程信息)
- 修改复杂:(如修改课程名称)
- 解决:
- SC(Sno,Cno,G)
- Course(Cno,Cname)
NEXT