第一范式(1NF)、第二范式(2NF)、第三范式(3NF)
• 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的
基本数据项,同一列中不能有多个值,即实体中的某个属性不
能有多个值或者不能有重复的属性。如果出现重复的属性,就
可能需要定义一个新的实体,新的实体由重复的属性构成,新
实体不原实体之间为一对多关系。在第一范式(1NF)中表的
每一行只包含一个实例的信息。
• 在任何一个关系数据库中,第一范式(1NF)是对关系模式的
基本要求,不满足第一范式(1NF)的数据库就丌是关系数据
库。
• 列不可分。
---------------------------------------------------------------------
• 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的
,即满足第二范式(2NF)必须先满足第一范式(1NF)。第
二范式(2NF)要求数据库表中的每个实例或行必须可以被惟
一的区分。为实现区分通常需要为表加上一个列,以存储各个
实例的惟一标识。要求实体的属性完全依赖于主关键字。
• 不能部分依赖。即:一张表存在组合主键时,其他非主键字
段不能部分依赖。
--------------------------------------------------------------------
• 满足第三范式(3NF)必须先满足第二范式(2NF)。简而
言之,第三范式(3NF)要求一个数据库表中不包含已在其它
表中已包含的非主关键字信息。
• 在第二范式的基础上,数据表中如果不存在非关键字段对任一
候选关键字段的传递函数依赖则符合第三范式。
• 不能存在传递依赖。即:除主键外,其他字段必须依赖主键
。