范式(Normal Form)即设计关系数据库的规范要求,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的。
1NF : 数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。
2NF : 首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。(可能出现传递依赖)
3NF : 首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。
note:
非主属性(non-prime attribute): The attribute that does not belong to any candidate key of R.
候选键(candidate key):可选作主键的最小子集