目的:减少数据库中的数据冗余,以增加数据的一致性
泛化是在识别数据库中的数据元素、关系以及定义所需的表和各表中的项目这些初始工作之后的一个细化的过程。
常见的范式有:1NF、2NF、3NF、BCNF、4NF
1NF
第一范式是指数据库表的每一列都是不可分割的基本数据项,同一个列中不能有多个值,即实体中的每个属性不能有多个值或者不能有重复的属性。2NF
第二范式是在第一范式的基础上建立的。第二范式要求数据表中的每个实例或行必须可以被唯一的区分。
为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。
即非主属性完全依赖主属性,而不能是部分依赖。3NF
第三范式是在第二范式的基础上建立的。每个非主属性都不传递依赖于候选键,则是第三范式的模式。BCNF
在第三范式的基础上建立的。就是每个属性都不传递依赖于候选键(不是非主属性)。- 4NF
是指每个表只有一个多值事实。