1NF:数据库表中的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
2NF:关系模型R满足INF,消除部分依赖,每一个非主属性完全依赖于任何一个候选码。举个例子,选课关系表(学号,课程号,分数,学分),其中(学号,课程号)是关键码,但是存在学分依赖于课程号这样部分依赖的关系就不符合第二范式的要求。
3NF:关系模型R满足第二范式,消除非主属性传递依赖,每个非主属性既不部分依赖也不传递依赖于主码。
BCNF:关系模型满足第二范式,消除所有属性传递依赖(包括主属性)。例如:(S,J)->T,(S,T) ->J,T -> J, (S,J)、(S,T)、T三个都是候选码,但是其中存在传递依赖,所以不属于BCNF
4NF:符合BCNF,消除多值依赖。例如,职工表(职工编号,职工孩子姓名,职工选修课程),在这个表中,同一个职工可能会有多个职工孩子姓名,同样,同一个职工也可能会有多个职工选修课程,即这里存在着多值事实,不符合第四范式。如果要符合第四范式,只需要将上表分为两个表,使它们只有一个多值事实,例如职工表一(职工编号,职工孩子姓名),职工表二(职工编号,职工选修课程),两个表都只有一个多值事实,所以符合第四范式。