范式是指符合某一种级别的关系模式的集合,在数据库中常见的方式有以下五种:
(1)第一范式(1NF)
如果关系模式R的每个关系r的属性值都是不可分割的原子值,那么称R为第一范式的模式。r是规范化的关系,关系数据库研究的关系都是规范化的关系。同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性,也就是无重复的列。
(2)第二范式(2NF)
如果关系模式R是1NF,且每个非主属性完全依赖于候选键,那么称R为第二范式的模式。要求数据库表中的每个实例或行必须可以被唯一地区分。属性完全依赖于主键[消除部分子函数依赖]。
(3)第三范式(3NF)
如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选码,则称R为第三范式的模式。要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。属性不依赖于其它非主属性[消除传递依赖]。
(4)巴斯科德范式(BCNF)
如果关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R为巴斯科德范式的模式。BCNF是第三范式的一个子集,即满足巴斯科德范式必须满足第三范式,在3NF基础上消除对主码子集的依赖。
(5)第四范式(4NF)
如果关系模式R是1NF,如果对于R的每个非平凡多值依赖X→→Y(YX) ,X都含有候选码,那么称R为第四范式的模式。第四范式的定义很简单:已经是BC范式,并且不包含多值依赖关系。在BCNF基础上消除了非平凡且非函数依赖的多值依赖。