`

关系数据库的三种设计模式

阅读更多
第一范式(1NF)

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

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

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

  第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。

  第三范式(3NF)

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

相关推荐

    数据库设计模式范式简介

    设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式...

    数据库的几种设计模式

    主扩展模式,通常用来将几个相似的对象的共有属性抽取出来,形成一个“公共属性表”;其余属性则分别形成“专有属性表”,且“公共属性表”与“专有属性表”都是“一对一”的关系

    数据库 关系数据库设计理论课件

    4.1.1 关系模式中的数据依赖 4.1.2数据依赖对关系模式的影响 4.1.3 有关概念 4.2 范式 4.2.1 第一范式( 1NF) 4.2.2 第二范式( 2NF) 4.2.3 第三范式( 3NF) 4.2.4 BC范式( BCNF) 4.3 关系模式的规范化

    第4章 关系数据库设计理论

    关系数据库设计理论,关于关系数据库模式的设计,关系数据库规范化理论、数据依赖的公理系统

    关系数据库设计

    数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。 数据库设计通常是在一个通用的DBMS支持下进行,...

    关系数据库设计理论

    关系数据库设计理论ppt 针对一个具体问题,设计一个好的关系数据库系统,关键是要构造一个适合于它的数据模式(数据库逻辑设计问题) 数据库逻辑设计主要解决的问题: 应该构造几个关系模式 每个关系模式包括哪些...

    数据库系统工程师分析-关系数据库的模式设计

    数据库系统工程师分析-关系数据库的模式设计

    数据库三大范式详解

    设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的...

    owl本体关系数据库存储模式设计

    本体合理有效的存储是保证本体共享利用的前提,现有的关系数据库本体存储模式在存储OWL 本体后会出现查 询推理效率低、维护困难等问题。文中在分析现有模式的基础上,针对OWL 本体类和属性的特点,通过单独设立类关系 ...

    狂学数据库之关系模式的设计问题及数据的函数依赖

    关系模式的设计问题及数据的函数依赖一....关系模式是用来定义关系的, 一个关系数据库包含一组关系,定义这组关系的关系模式的全体就构成了该数据库的模式。 关系模式的核心问题是数据依赖性.数据依赖是对可能成

    数据库-关系模式的设计-规范化.doc

    关系数据库是由一组关系组成,所以关系数据库的设计归根到底是如何构造关系,即如何把具体的客观事物划分为几个关系,而每个关系又有哪些属性组成。在我们构造关系时,经常会发现数据冗余和更新异常等现象,这是由于...

    数据库设计与关系理论

    资源名称:数据库设计与关系理论内容简介:《数据库...如果你非常熟悉数据库的关系模式,并且你希望深入了解数据库设计,那么此书就完全适合你。资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    关系数据库设计与规范化

    数据库模式直接决定和影响了数据的...在进行关系数据库设计时,一般是通过设计满足某一范式的模式来获得一个好的数据 库模式,通常认为3NF在性能、扩展性和数据完整性方面达到了最好的平衡,故一般数据库设计要求达到3NF。

    SQL 第04章 关系数据库的模式设计.ppt

    SQL 第04章 关系数据库的模式设计

    西南交通大学数据库关系数据库设计.docx-少年交作业啦

    在设计关系模式时,将各种有关联的实体即联系集集中于一个关系模式中,不仅造成关系结构冗余、包含的语义过多,也使得其中的数据依赖变得错综复杂,不可避免的要违背某个或多个限制,从而引起异常。 2. 数据依赖的...

    关系数据库的模式设计习题及答案.doc

    关系数据库的模式设计习题及答案.doc

    数据库系统讲义07(关系数据库设计.pdf

    物理结构 S(S#, SN, SD, DEAN, C#, G) SC(S#, C#, G) S_SD(S#, SN, SD, DEAN) 分解 3/61 第七章 关系数据库设计 第七章 关系数据库设计 7.1 关系数据库设计中存在的问题 7.2 关系模式规范化 7.3 关系数据库设计过程 ...

    数据库编程技术3——关系数据库设计核心

    2、关系数据库设计理论有三个方面的内容:函数依赖、范式和模式设计。函数依赖起核心作用, 它是模式分解和模式设计的基础,范式是模式分解的标准。 【例1】设计一个学生课程数据库,其关系模式SDSC(Sno, Sname, Age...

Global site tag (gtag.js) - Google Analytics