范式

1)1NF:无重复的列
数据库表的每一列都是不可分割的基本数据项。

2)2NF:非主属性完全依赖于主键
消除部分子函数依赖。整个主键完全决定非主属性,而不能由主键的一部分来决定。

3)3NF:属性不依赖于其它非主属性
消除传递依赖

4)BCNF:3NF的改过
每个属性都不传递依赖于候选键

 5)结论
满足范式要求的数据库设计是结构清晰的,同时可避免数据冗余和操作异常。这并意味着不符合范式要求的设计一定是错误的,在数据库表中存在1:1或1:N关系这种较特殊的情况下,合并导致的不符合范式要求反而是合理的。