主要内容:
- 数据库设计的要求
简洁,结构清晰,减少冗余,节省存储空间。 - 第一范式
要求单个表中每个列必须是原子列(每一列都是不可分割的最小数据单元体)列不存在重复属性,每个实体的属性也不存在多个数据项。
注意:数据表的主键可以使用联合主键,避免重复属性的出现;对年龄属性来说,可以将一个人的年龄设置成出生日期,数据类型为Date型,可以通过日期之间的计算来获得年龄的大小。 - 第二范式
第二范式是在满足第一范式的基础上,要求数据里的所有数据都要和该数据表的主键有完全的依赖关系。 - 第三范式
第三范式是在满足第二范式的 基础上,每一个列主键列都直接依赖主键列,不依赖其他非主键列,即数据库中不能存在传递函数依赖关系;一个列的值不能依赖于其他列的值。
- 范式的优点
范式化的数据库更新起来更加快;
范式化后,只有很少的重复数据,只需要修改更少的数据;
范式化的表更小,可以在内存中执行;
很少的冗余数据,在查询的时候需要更少的distinct或者group by语句。