`

数据库设计中的四个范式

阅读更多

  在创建一个数据库的过程中,必须依照一定的准则,这些准则被称为范式,从第一到第六共六个范式,一般数据库设计只要遵循第一范式,第二范式,和第三范式就足够了。满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。

I、关系数据库设计范式介绍

1.1 第一范式(1NF)无重复的列

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

说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 

笔者曰:就是在一个不需要设立主键就能表中保证每一行都具有唯一性。不设立主键就能保证行唯一性的表就是第一范式。

1.2 第二范式(2NF)属性完全依赖于主键

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

者曰:就是在一个有唯一主键在表中保证每一行都具有唯一性。存在一个列被定义为唯一主键的表就是第二范式。

1.3 第三范式(3NF)属性不依赖于其它非主属性


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

1.4 第四范式(4NF)禁止主键列和非主键列一对多关系不受约束

第四范式用于处理由复杂的复合主键所导致的问题。如果将两个相互独立的属性与第三个属性一起组合为一个主键,并且如果没有第三个属性,仅靠这两个属性不能在实体中真正地起到唯一标识的作用,那么它就违反了第四范式;第四范式用来识别那些需要划分为多个不同的实体。通常,只有当很大的复合主键将过多的对象放到单个实体中的时候才会出现这样的问题。 
 
者曰:就是在一个没有单独列被定义为唯一主键的表中用多个列组合一起被定义为唯一主键(即:复合主键)。用复合列做主键的              表就是第四范式。
分享到:
评论

相关推荐

    数据库设计三范式

    关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四... 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手

    关系型数据库设计范式

    关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第... 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手。

    数据库设计范式.doc

    关系数据库的几种设计范式介绍 1 第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式 (1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列...

    据库四个范式

    目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多...

    数据库设计三大范式.pdf

    ⼀般数据库设计中,⼀般要求达到3NF,第四第五较少涉及。 ⽐如Student表(学号,姓名,年龄,性别,所在院校,院校地址,院校电话)这样⼀个表结构,就存在上述关系。 学号--> 所在院校 --> (院校地址,院校电话)。...

    数据库设计培训.pptx

    数据库设计方法 规范设计法 手工设计方法 基本思想:过程迭代和逐步求精 典型方法 新奥尔良(New Orleans)方法 将数据库设计分为四个阶段 基于E-R模型的数据库设计方法 概念设计阶段广泛采用 3NF(第三范式)的设计...

    建立数据库不一定要遵循三范式

    下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。

    数据库设计范式(实例).doc

    在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手。 第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单位,则称R是第一范式的关系。例:如职工号,...

    数据库设计原则.docx

    在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解): 第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF是...

    超市管理数据库课程设计大作业.doc

    《数据库原理与设计》课程设计 (含完整设计资料) 一、超市管理数据库 超市需建立一个管理数据库存储以下信息: *超市信息包括超市代号,超市名,经理名及超市运营开销。 *一个超市内有多个部门,每个部门有部门号...

    数据库范式5nf-第四范式(4NF)数据库管理系统.pdf

    数据库范式5nf_第四范式(4NF)数据库管理系统 数据库范式5nf Fourth normal form (4NF) Fourth normal form (4NF) is a normal form used in , in which there are no non-trivial multivalued dependencies except...

    数据库物理设计.docx

    在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解): 第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF是...

    数据库设计技巧.doc

    在数据库设计中,为了更好地应 用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准 确的理解): 第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF...

    详谈数据库泛型:第一、二、三、四和BCN范式

    5 BCN范式:每个表中只有一个候选键 6 第四范式:消除表中的多值依赖 7 详细举例 1 什么是数据库泛型? 数据库泛型就是数据库应该遵循的规则。数据库泛型也称作数据库范式。数据库范式是数据库设计需要满足的一些...

    数据库课程设计-链表的简单操作

    此次课程设计主要使用的软件是SQL Server,首先用企业管理器分配物理磁盘空间,然后用查询分析器完成概念结构设计、逻辑结构设计(符合第三范式)、物理结构设计及数据库的实施共四个步骤,后续还有数据库运行和维护...

    数据结构-范式.txt

    3.4.1 第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,...

    数据库设计思想.docx

    基本表: 基本表与中间表、临时表不同,因为它具有如下四个特性: (1) 原子性。基本表中的字段是不可再分解的。 (2) 原始性。基本表中的记录是原始数据(基础数据)的记录。 (3) 演绎性。由基本表与代码表中的数据...

    数据库设计原则(1).pdf

    在数据库设计中,为了更好地应⽤三个范式,就必须通俗地理解 三个范式(通俗地理解是够⽤的理解,并不是最科学最准确的理解): 第⼀范式:1NF是对属性的原⼦性约束,要求属性具有原⼦性,不可再分解; 第⼆范式:2NF...

    数据库课程设计报告-人事管理系统.doc

    事假天数) 职位表(职位编号 职位名称 所属部门) 婚姻表(员工编号 婚姻状况) 政治面貌表(员工编号 政治面貌) (说明:以上关系模式达到第三范式) 3 数据库关系图: 六:前台界面设计 1 创建项目 启动程序...

    数据库入门(一)范式理解:1NF,2NF,3NF,BCNF,4NF详析

    数据库入门(一)范式理解:1NF,2NF,3NF,BCNF,4NF详析引言范式种类第一范式(1NF)符合1NF的关系中的每个属性都不可再分存在问题第二范式(2NF)在1NF基础上消除了非主属性对码的部分函数依赖二范式判断步骤优缺点第...

Global site tag (gtag.js) - Google Analytics