数据库范式

转载 2007年09月12日 15:16:00
   构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满 足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六 范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说 来,数据库只需满足第三范式(3NF)就行了。下面我们举例介绍第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。

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

 第二范式(2NF)
     第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表 中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如员工信息表中加上了员工编号(emp_id) 列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。这个惟一属性列被称为主关键字或主键、主码。
    第二范式(2NF)要求 实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个 新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖 于主关键字。

第三范式(3NF)
     满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例 如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、 部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第 三范式就是属性不依赖于其它非主属性。 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

第一范式:1.所有记录具有相同的字段个数 2.所有的字段只包含一个单一的数据项 3.没有重复的数据字段

第二范式:1.必须符合第一范式 2.表中不包含那些不含有与所有键相关信息的字段

第三范式:1.必须符合第二范式 2.表中不能包含与主键无关的字段

第四范式:1.必须符合第三范式 2.表不能包含一个实体的两个或多个相互独立的多值因子

第五范式:1.必须符合第四范式 2.表必须可以分解为更小的表,除非那些表在逻辑上拥有与原始表相同的主键

BC 范式: 1.多个候选键 2.复合候选键 3.候选键重叠

数据库3范式

  • 2015年09月23日 22:45
  • 57KB
  • 下载

数据库设计(范式理解知识)

数据库范式——通俗易懂【转】     数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库。甚至设计出错误的数据库。而想要理解并掌握范式却并不...

数据库范式讲解

  • 2012年12月22日 09:59
  • 38KB
  • 下载

数据库范式设计

  • 2012年09月05日 17:37
  • 686KB
  • 下载

数据库设计的---三大范式

第一范式数据库表中的所有字段值都是不可分解的原子值 '如下表' 编号 姓名 性别 年龄 省份 城市 地址 1 张红欣 男 26 0378-234598...

数据库3级范式

  • 2014年08月13日 15:43
  • 324B
  • 下载

数据库三大范式的一己之见

设计数据库时,通常需要遵从不同的规范,设计出合理的数据库,减少数据冗余,而这些规范称为数据库范式,一般来说,只需要实现前三大范式即可。 下面说说我对这三大范式的理解: 以下表为例: CREATE TA...

数据库三大范式

  • 2016年01月17日 18:44
  • 63KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库范式
举报原因:
原因补充:

(最多只允许输入30个字)