关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式,下面介绍常见三种:
◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。
◆ 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
成绩表 |
学号、课程号、姓名、学分; |
这个表明显说明了两个事务:学生信息, 课程信息;由于非主键字段必须依赖主键,这里学分依赖课程号,姓名依赖与学号,所以不符合二范式。
扫描二维码关注公众号,回复:
5974640 查看本文章
◆ 第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。
选课表 |
学生 课程 教师 教师职称 教材 教室 上课时间 |
教师依赖于(学生,课程),而教师职称又依赖于(教师),存在传递依赖
修改后
教师表 |
教师 教师职称 |
选课表 |
学生 课程 教师 教室 上课时间 |
简单的说,
第一范式就是原子性,字段不可再分割;
第二范式就是完全依赖,没有部分依赖;
第三范式就是非主属性之间没有传递依赖。