目前关系数据库有六种范式,这里只介绍第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。
1 第一范式(1NF)无重复的列
数据库表中的字段都是单一属性的,不可再分。第一范式仅限于列出所有需求的字段(不重复)。
2 第二范式(2NF)属性完全依赖于主键[消除非主属性对主码的部分函数依赖]
要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。这个唯一属性也就是主键。
3 第三范式(3NF)属性不依赖于其它非主属性[消除传递依赖]
要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。目的是为了减少数据冗余。
这里是指多个表之间的关系问题,要求多个表内都不存在数据冗余。