1、范数的定义
在设计数据库时,为了使其冗余较小、结构合理,设计数据库时必须遵循一定的规则。在关系型数据库中,这种规则被称为范数。范数是符合某一设计规则的总结。
2、实际开发中的常见范式
(1)第一范式
定义:
数据库表中的所有字段值都是不可分割的原子值。
非第一范式举例:
原因:高三年1班含有年级和班级信息,可继续拆分,为非原子信息。
改:
(2)第二范式:
定义:
数据库表中的每一列都与主键完全相关,而不能只与主键的部分相关。
例子:
假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),主键为属性组(学号, 课程名称),因为存在如下决定关系
(学号, 课程名称) → (姓名, 年龄, 成绩, 学分)
这个数据库表不满足第二范式,因为存在如下决定关系:
(课程名称) → (学分)