第一范式(1NF):无重复的列
每一个属性都是原子项,不可分割。1NF是关系模型应具备最起码的条件,如果数据库设计不能满足第一范式,就不称为关系数据库。
第二范式(2NF):属性完全依赖主键
第二范式要满足以下的条件:首先要满足第一范式,其次每个非主属性要完成函数依赖与候选健,或者主键。也就是说,每个非主属性都是由整个主键函数决定的,而不能由主键的一部分来决定。第二范式要求数据库表中的每个实例或行必须可以被唯一的区分。简而言之,第二范式就是属性完全依赖于主键。
第三范式(3NF):属性不依赖于其他非主属性
满足第三范式必须先满足第二范式。简而言之,第三范式要求一个数据库表中不包含已在其他表中已包含的非关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门标号后就不能再将部门名称、部门简介等与部门有关的信息再加如员工信息表中。如果不存在部门信息表,则根据第三范式也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其他非主属性。