日期:2014-05-16  浏览次数:20577 次

数据库设计的三范式

数据库设计的三范式

数据库及设计?2009-07-04 15:56:39?阅读42?评论0??字号:?订阅

http://blog.csdn.net/sky_northwolf/archive/2009/06/29/4305700.aspx

数据库设计有6大范式,但是第4,5,6范式往往难以实现,也并非必要,现在来介绍一下前三范式:

第一范式(1NF):要求数据是原子级的,数据不可再分。

第二范式(2NF):要求在符合第一范式的标准之上,数据元素应该被分素,以便消除冗余性。每个组包含一个主键和一组非关键数据,非关键数据在功能上依赖于主键。

第三范式(3NF):要求元素符合第二范式,同时非关键数据部能包含依赖。

所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如
员工信息表中