一、第一范式
最核心,最重要。要求每一个表都具有主键,每个字段不可再分。
二、第二范式
建立在第一范式基础上,要求所有非主键字段完全依赖主键,不能产生部分依赖。也就是主键不能是复合主键。
多对多设计:多对多三张表,关系表两外键
三、第三范式
建立在第二范式基础上,要求所有非主键字段直接依赖主键,不能产生传递依赖。
以上案例是一对多,满足第一、第二范式,但不满足第三范式。因为班级编号和班级名称都依赖学生姓名,而学生姓名又依赖学生编号,产生了传递依赖。
应该拆分成两张表:
班级表
学生表
一对多两张表,多的表加外键。