一.设计范式目的
1.1 范式是为了减少数据冗余
二.范式有哪些
2.1一范式
2.2二范式
2.3三范式
tip:三范式包含二范式,二范式包含一范式
三.各个范式含义
3.1
一范式:各个表都应含有主键,且每一字段都不可再分具有原子性
3.2
二范式:满足一范式的前提下,所有非主键值都要完全依赖于主键,可以由主键定位到非主键的值,而不是由主键一部分定位到非主键字段,这里主要针对联合主键。
总结:非主键字段不部分依赖主键
多对多,三张表
eg:(学号, 姓名, 年龄, 课程名称, 成绩, 学分)
3.3
三范式:满足二范式的前提下,所有非主键字段都要直接依赖于主键,不产生传递依赖
一对多,两张表
表:(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话)
eg:
实际开发中有时候为了提升查询效率,会用冗余换效率