目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF),在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。
一般说来,数据库只需满足第三范式(3NF)就行了。BCNF是在3NF基础上的改进式,BCNF比3NF更为严格。3NF——只消除非主属性对主属性的传递依赖;BCNF——消除所有属性对主属性的传递依赖。
3NF的规则是:在满足第2NF的规则的基础上,非主键字段必须直接依赖于主键。
而BCNF的规则是:非主键字段必须依赖于整个主键字!
也就是说,要想达到BCNF的标准,还要在3NF的基础上基础拆分表。