数据库设计之范式
- 第一范式
1NF
定义1:
若关系中所有属性是不可再分的基本项(原子项),及关系中的属性不能是组合属性,称关系属于或服从第一范式
定义2:
关系模式R中不能含有任何重复的数据项
特别地:只要是二维表,就一定符合第一范式 - 第二范式
2NF
定义:
关系属于第一范式并且每一个非主属性完全依赖于码,则称关系属于第二范式
- 3NF及对实践的指导意义
定义:
关系属于第一范式且关系中不存在非主属性Z传递函数依赖于码,则称关系属于第三范式
第三范式是在关系中去除非主属性对码的传递函数依赖
例:
学生选课(学号,课程号,课程名)不符合2NF但符合3NF,因为我们找不到属性组Y,使唯一的非主属性“课程名”传递函数依赖于码(学号,课程号),即(学号,课程号) →Y→课程名。而定义条件放宽后,可取Y=“课程号”