数据库的关系模式范式就是数据库设计要满足的规范,满足这些规范的数据库是简洁的,结构清晰的。
第一范式(1NF):所有的列不可再分
第一范式就是指所有的列都是不可再分的基本数据项,即表中的每一列都不能有多个值。
说明:在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库不是关系数据库。
第二范式(2NF):非主属性完全依赖于主键(消除部分主函数依赖)
如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键, 则称为第二范式模式。
关于完全依赖:比如有非主属性P,复合主键(A,B),P完全依赖(A,B)的一个必要条件是P不依赖A且P不依赖B。否则,只能叫局部依赖。
第三范式(3NF):不存在非主属性对主键的传递依赖
满足第三范式必须先满足第二范式。第三范式要求一个数据库表中不包含其它表中的非主关键字。
所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。
BCNF:不存在主属性对主键的传递依赖
若关系模式R是第三范式,且每个属性都不传递依赖于R的候选键。这种关系模式就是BCNF模式。即在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合鲍依斯-科得范式。
四种范式有如下关系:
参考文章 http://www.cnblogs.com/GISerYang/archive/2012/05/09/2491996.html