三大范式
设计范式指数据库设计时要遵循的原则。三大范式分别从数据表的列,数据表的行以及数据表之间的关系进行规范。
第一范式
在关系模型中,对数据列的一个规范要求,所有的列都应该是原子性的,即数据表的每一列的都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。 即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的列。
第二范式
满足第二范式必须先满足第一范式。第二范式要求数据库表中的每个实例或记录必须可以被唯一的区分,即每一行代表一个不同的实体。
一行存在多个用户,是不符合第二范式的。
第三范式
第三范式是第二范式的一个子集,即满足第三范式必须满足第二范式。简而言之,第三范式要求一个关系中不包含已在其它关系已包含的非主关键字信息。
01 第一范式,针对数据表的列。设计数据表时,每一个字段都是用户实体的最小的属性,最小取决于业务的需要。
02 第二范式,针对数据表的行。数据表一行里只能是一个实体,而不能代表多个实体。
03 第三范式,如果一行里的数据包含其它实体的信息,可以将它拆分为两张表,然后将两张表关联起来。