精华内容
下载资源
问答
  • 关系规范化

    千次阅读 2020-07-04 21:24:15
    关系规范化目的 关系规范化目的是为了消除储存异常,减少数据冗余,以保证数据的完整性,正确性,一致性和储存效率,一般讲关系规范到III范式即可 1NF范式 一个关系的每个属性都是不可再分的基本数据项,则该...

    关系规范化的目的

    关系规范化的目的是为了消除储存异常,减少数据冗余,以保证数据的完整性,正确性,一致性和储存效率,一般讲关系规范到III范式即可

    1NF范式

    一个关系的每个属性都是不可再分的基本数据项,则该关系是I范式

    2NF范式

    II范式首先要满足I范式,而且关系中的每一个非主属性完全函数依赖于主关键字,则该关系是II范式

    个人理解:就是表中除主键其他的所有属性都要完全依赖主键,不能不完全

    实例:
    在这里插入图片描述

    将非II范式规范为II范式的方法

    将部分函数依赖关系中的主属性(决定方)和非主属性从关系中提取出来,单独构成一个关系

    实例分析: 学生成绩表主关键字/主键(学号,课程名称),成绩完全依赖主关键字。姓名不完全依赖主键,只依赖学号,所以讲学号和姓名单独构建成一个表

    3NF范式

    III范式首先要满足II范式,且关系中的每一个非主属性都不完全函数传递依赖主关键字,则此关系是III范式

    在这里插入图片描述

    展开全文
  • 关系规范化实验,1. 实验目的 1) 了解函数依赖的基本概念。 2) 能正确判断某一关系是属于第几范式。 3) 掌握规范化范式的方法。 2. 实验内容 1) 复习函数依赖,数据规范化,范式的基本概念以及各级范式的判别...
  • 数据库关系规范化

    千次阅读 2019-05-26 14:18:10
    关系数据库中,所有的数据文件都以 二维表的形式...这种分解的过程就叫做规范化。 第一范式1NF 第一范式的目标是确保每列的原子性 如果每列都是不可再分的最小数据单元(也称为最小的原子单 元),则满足第一范...
    • 在关系数据库中,所有的数据文件都以 二维表的形式存在,这些二维表之间通常会 产生数据冗余,这样容易造成数据的不一致 或不完整,从而使数据的检索、插入、删除 和更新和等操作可能会出现错误。解决这种 问题的一个办法就是将这些关系进一步的分 解。这种分解的过程就叫做规范化。
    第一范式1NF
    • 第一范式的目标是确保每列的原子性 如果每列都是不可再分的最小数据单元(也称为最小的原子单 元),则满足第一范式(1NF)
    第二范式2NF
    • 如果一个关系满足1NF,并且除了主键以外的其他列,都依赖于该主键,则满足第二范式(2NF)第二范式要求每个表只描述一件事情
    • 这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主键
    第三范式3NF
    • 如果一个关系满足2NF,并且除了主键以外的其他列 都不传递依赖于主键列,则满足第三范式(3NF)
    • 这种关系不仅满足第二范式,而且它的任何一个 非主属性都不传递依赖于任何主关键字。
    展开全文
  • 关系模式的规范化理论

    千次阅读 2019-05-11 19:43:44
    关系模式规范化的定义 到目前为止,规范化理论已经提出了六类范式。范式级别可以逐级升高,而升高规范化的过程就是逐步消除关系模式中不合适的数据依赖...关系模式规范化目的和原则 一个关系只要其分量都是不可...

    关系模式规范化的定义

    到目前为止,规范化理论已经提出了六类范式。范式级别可以逐级升高,而升高规范化的过程就是逐步消除关系模式中不合适的数据依赖的过程,使模型中的各个关系模式达到某种程度的分离。一个低一级范式的关系模式,通过模式分解转为若干个高一级范式的关系模式的集合,这种分解过程叫作关系模式的规范化(Normalization)。

     

    关系模式规范化的目的和原则

    一个关系只要其分量都是不可分的数据项,就可称它为规范化的关系,但这只是最基本规范化。规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、最除和更新。
    规范化的基本原则就是遵循“一事一地”的原则,即一个关系只描述一个实体或者实体间的联系。若多于一个实体,就把它“分离”出来。因此,所谓规范化,实质上是概念的单一化,即个关系表示一个实体。

     

    关系模式规范化的步骤

    规范化就是对原关系进行投影,消除决定属性不是候选键的任何函数依赖。具体可以分为以下几步。
    (1)对1NF关系进行投影,消除原关系中非主属性对键的部分函数依赖,将1NF关系转换成若干个2NF关系。
    (2)对2NF关系进行投影,消除原关系中非主属性对键的传递函数依赖,将2NF关系转换成若干个3NF关系。
    (3)对3NF关系进行投影,消除原关系中主属性对键的部分函数依赖和传递函数依赖,也就是说,使决定因素都包含一个候选键,得到一组BCNF关系。
    (4)对BCNF关系进行投影,消除原关系中的非平凡且非函数依赖的多值依赖,得到一组4NF的关系。

    关系规范化的基本步骤如图所示。

     

    规范化过程

     

     

    一般情况下,我们说没有异常弊病的数据库设计是好的数据库设计,一个不好的关系模式也总是可以通过分解转换成好的关系模式的集合。但是在分解时要全面衡量,综合考虑,视实际情况而定。对于那些只要求查询而不要求插入、删除等操作的系统,几种异常现象的存在并不影响数据库的操作。这时便不宜过度分解,否则当对系统进行整体查询时,需要更多的多表连接操作,这有可能得不偿失。在实际应用中,最有价值的是3NF和BCNF,在进行关系模式的设计时,通常分解到3NF就足够了。

     

    关系模式规范化的要求

    关系模式的规范化过程是通过对关系模式的投影分解来实现的,但是投影分解方法不是唯的,不同的投影分解会得到不同的结果。在这些分解方法中,只有能够保证分解后的关系模式与原关系模式等价的方法才是有意义的。
    判断对关系模式的一个分解是否与原关系模式等价可以有三种不同的标准。
    (1)分解要具有无损连接性;
    (2)分解要具有函数依赖保持性;
    (3)分解既要具有无损连接性,又要具有函数依赖保持性。

     

     


    参考资料:[1]陈志泊,王春玲,许福,范春梅.数据库原理及应用教程(第3版)[M].北京:人民邮电出版社,2014:159-160.
     

     

     

    展开全文
  • 关系数据库的规范化设计的目标是生成一组合适的、性能良好的关系模式,以减少系统中信息存储的冗余度,但可以方便地获取信息。
  • 关系模式的规范化

    万次阅读 多人点赞 2016-09-29 13:27:42
    原文路径:...了解关系模式规范化的作用 掌握第一范式-重点 掌握第二范式-重点 掌握第三范式-重点 回顾关系

    原文路径:http://wenku.baidu.com/link?url=KzN3v3voao4ovz_izsiujMN8vMZMiArzgYbrue8tVL5L_ydc1B_6_1eEy7vfoSiO2-ORTXAXzVBxzWAaXJxiR68z6g4GMD_1AlZWzx46MSG

     

    了解关系模式规范化的作用

    掌握第一范式-重点

    掌握第二范式-重点

    掌握第三范式-重点

    回顾关系模式

    关系模式:关系模式相当于一张二维表的框架,在这个框架下填入数据,称为关系模式的一个实例,或者叫关系(R)

    R(A1,A2,A3..Ai):R是关系名,Ai是关系的属性名。一个关系名对应一张表,关系名对应表名,属性对应表中的列名。

    关系模型的简化表示法: R<U,F>

     

    关系模式规范化的作用

    关系型数据库的设计主要是关系模式的设计。关系模式设计的好坏直接影响关系型数据库设计的成败。将关系模式规范化是设计好关系型数据库的唯一途径。

    关系模式的规范化主要有范式来完成。

     

    关系模式

    所谓范式(Normal Form, NF)是指规范化的关系模式。由规范化程度不同而产生不同的范式。根据满足条件不同,经常称某一关系模式R为“第几模式”。

     

    为什么要设计规范化的数据库?

    未经规范化的数据库一般都有下述缺点:

    较大的数据冗余,数据一致性差,数据修改复杂,对表进行更新,插入,删除是会报异常。规范化的作用就在于尽量去除冗余,使数据保持一致,使数据修改简单,除去在表中进行插入、删除时产生的异常,规范化后的表一般都较小。

     

    第一范式(1NF)

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

    定义:在关系模型中的每一个具体关系R中,如果每个属性都是不可再分的,则称R属于第一范式(1NF),记作R属于1NF。

    第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。

    e.g.如下的数据库表是符合第一范式的:

    字段1   字段2   字段3   字段4

    而这样的数据库表是不符合第一范式的:

    字段1   字段2   字段3(字段3.1,字段3.2)   字段4

    如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话和一个家里的电话号码)规范成为1NF。

    总结:不能有重复的列,列不可再分。

    不满足第一范式条件的关系为非范式关系,在关系数据库中,凡非范式关系必须要化成范式关系。

     

    第二范式(2NF)

    第二范式是在第一范式的基础上建立起来的,即满足第二范式必须先满足第一范式(1NF)。

    定义:如果关系模式R属于1NF,且每一个非主属性都完全依赖于主码,则称关系R是属于第二范式的,记作R属于2NF。

    第二范式(2NF)说明:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖于主关键字的一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。

    e.g.

    假定选修课关系表为SelectCourse(学号,姓名,年龄,课程名称,成绩,学分),关键字为组合关键字(学号,课程名称),因为存在如下决定关系:

    (学号,课程名称)->(姓名,年龄,成绩,学分)

    这个数据库表不满足第二范式,因为存在如下决定关系:

    (课程名称)->(学分)

    (学号)->(姓名,年龄)

    即存在学分和姓名,年龄部分依赖于主关键字。

    由于不符合2NF,这个选课关系表会存在如下问题:

    (1)数据冗余:

    同一门课程会有N个学生选修,“学分”就会重复N-1次;同一个学生选修了M门课程,那姓名和年龄会重复M-1次。

    (2)更新异常:

    若课程的学分更新,那必须把表中所有的学分值都更新,不然会出现同一课程出现不同的学分。

    (3)插入异常:

    假设要开设一门新的课程,但是目前还没有学生选修这门课程,由于没有学号导致数据无法录入到数据库中。

    (4)删除异常:

    假设一批学生已经完成课程的选修,这些选修记录就应该从数据库中删除,但是,同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。

    所以我们将设计修改了一下,把选课关系表SelectCourse改为如下三个表:

    学生:Student(学号,姓名,年龄)

    课程:Course(课程名称,学分)

    选课关系:SelectCourse(学号,课程名称,成绩)

    这样的数据库表是符合第二范式的,消除了数据冗余,更新,插入,删除异常。

    注:所有的单关键字的数据库表都符合第二范式,因为不可能存在组合关键字,也就不可能存在非主属性部分依赖于主关键字了。

     

    第三范式

    定义:如果关系模式R属于2NF,并且R中的非主属性不传递依赖与R的主码,则称关系R是属于第三范式的。(个人总结,非主属性必须直接依赖于主码,不能存在通过其他非主属性传递依赖于主码)

    所谓传递依赖,就是A依赖于B,B依赖于C,则A传递依赖于C。

    因此,满足第三范式的数据库表应该不存在如下依赖关系:

    关键字段->非关键字段x->非关键字段y

    e.g.

    假定学生关系表为Student(学号,姓名,年龄,所在学院,学院地点,学院电话),关键字为单一的学号,所以肯定符合第二范式,但是因为存在非关键字学院地点和学院电话依赖于所在学院,即传递依赖于学号,所以此关系表不符合第三范式。同样会导致数据冗余,DDL操作异常等问题。

    所以我们可以对其进行修改:

    学生:(学号,姓名,年龄,所在学院)

    学院:(学院,地点,电话)

    这样的数据库表就符合第三范式了。

     

    总结:

    a. 规范化目的是使结构更合理,消除存储异常,减少数据冗余,便于插入,删除,更新。

    b. 原则:遵从概念单一化“一事一地”原则,即一个关系模式描述一个实体或实体建的一种联系。

    c. 方法:将关系模式投影,分解成两个或两个以上的关系模式。

    d. 分解后的关系模式集合应当与原关系模式保持等价关系,即通过自然联接可以恢复原关系而不丢失信息,并保持属性间合理的联系。

    注意:一个关系模式结合分解可以得到不同关系模式集合,也就是说分解方法不是唯一的。最小冗余的要求必须以分解后的数据库能够表达原来数据库所有信息为前提来实现的。其根本膜表是节省存储空间,避免数据不一致性,提供对关系的操作效率,同事满足应用需求。实际上,并不一定要求全部模式都达到BCNF不可。有时候故意保留部分冗余可能更方便数据查询。尤其对于那些更新频度不高,查询频率极高的数据库系统更是如此。在关系数据库中,除了函数依赖之外还有多值依赖,联接依赖的问题,从而提出了第四范式,第五范式等更高一级的规范化要求。

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 关系数据库规范化理论

    千次阅读 2018-03-01 22:54:50
    1、关系规范化的作用所谓规范化,就是用形式更为简洁、结构更加规范的关系模式取代原有关系的过程。2、函数依赖2.1、属性间的联系实体间的联系有两类:一类是实体与实体之间的联系;另一类是实体内部各属性间的联系...
  • 关系模式规范化

    千次阅读 2018-05-16 22:21:49
    关系模式:关系模式相当于一张二维表的框架,在这个框架下填入数据,称为关系模式的一个实例...•未经规范化的数据库一般都有下述缺点: 较大的数据冗余,数据一致性差,数据修改复杂,对表进行插入、删除、更新时会...
  • 规范化会使实现变得更加复杂 逆规范化通常会降低灵活性 逆规范化会加快检索的速度,但却会降低更新的速度。(对数据库不需要经常更新,频繁检索的应用更合适!) 合并一对一联系 如果两个关系之间的联系是一对一,...
  • 在数据库的设计过程中对于同一个问题选用不同的关系模式其性能的优劣是大不相同的为了区分关系模式的优劣人们常常把关系模式分为各种不同等级的范式 满足特定要求的关系模式称为范式按其规范化程度从低到高可分为5级...
  • 数据库关系模式规范化

    千次阅读 2014-05-18 19:39:58
    第三范式的定义:如果关系模式R中的所有非主属性对任何候选关键字都不存在传递依赖,则称关系R是属于第三范式的。记作R 3NF。 如:学生关系模式S1(学号,姓名,系号,系名,系地址) (学号)为关键字,因是单属性...
  • 关系模式规范化(设计范式)

    千次阅读 2020-10-28 19:13:56
    关系数据库中的关系满足一定要求的,满足不同程度要求的为不同的范式。满足最低要求的叫第一范式,简称1NF;在第一范式的基础上满足进一步要求的称为第二范式,简称2NF,其余范式以此类推。对于各种范式之间有如下...
  • 关系数据库设计是对数据进行组织和结构的过程,核心问题是关系模型的设计。关系模型是数学的、用二维表格数据描述各实体之间的联系的模型;它是所有的关系模式、属性名和关键字的汇集,是关系模式描述的对象。...
  • 数据库的规范化与非规范化比较

    千次阅读 2014-10-02 18:36:54
    数据库设计的规范化与非规范化: ...规范化设计的过程就是按不同的范式,将一个二维表不断地分解成多个二维表并建立表之间的关联,最终达到一个表只描述一个实体或者实体间的一种联系的目标
  • 数据库规范化理论与范式

    千次阅读 2019-06-17 17:32:31
    1,数据库规范化理论的目的 1.消除冗余数据 2.确保数据的依赖性处于有效状态
  • 规范化关系满足的规范要求分为几级,满足要求最低的是第一范式(1NF),范数的等级越高,满足的约束集条件越严格。 针对数据 数据的规范化包括归一化标准化正则化,是一个统称(也有人把标准化作为统称)。 2....
  • 什么是数据库规范化 维基百科的定义如下: 数据库规范化,又称数据库或资料库的正规化、标准化,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。 数据库范式是埃德加·科德设计...
  • 为什么要学习关系数据库规范化理论?(1)基本概念回顾(2)关系模式的形式化定义(3)什么是数据依赖F?(4)数据依赖F对关系模式的影响1️⃣ 数据冗余(Data redundancy)2️⃣ 更新异常(update anomalies )3️⃣ ...
  • 数据库规范化

    千次阅读 2018-10-11 14:19:55
    码和属性的关系 函数依赖 f(X)→Yf(X)\rightarrow Yf(X)→Y,则YYY函数依赖于XXX。理解为知道XXX后,就可以推出YYY;而且,能且仅能推出唯一的YYY。这类似于数学上的函数。 平凡函数依赖:X→YX \rightarrow YX→...
  • 原文地址:数据的规范化,归一化,标准化,正则化作者:打湿井盖  数据的规范化,归一化,标准化,正则化,... 规范化理论把关系应满足的规范要求分为几级,满足最低要求的一级叫做第一范式(1NF),在第一范式的
  • 因为E-R模型就是根据每个实体画出来的,而范式最后的目的感觉也是把这些实体分离出来,所以觉得E-R模型转换为关系模型以后的范式都很高啊,为什么还要特意地再去规范化一下呢?
  • 数据库规范化(范式)(一)

    千次阅读 2018-04-01 15:45:58
    ——转自:https://blog.csdn.net/hbrqlpf/article/details/1887204关系数据库规范化理论一个...1、关系规范化的作用所谓规范化,就是用形式更为简洁、结构更加规范的关系模式取代原有关系的过程。2、函数依赖2.1...
  • 什么是标准化,规范化,系统化?

    千次阅读 2014-10-08 11:36:31
    在我们的日常生活和工作中,常会用到"标准化,规范化,系统化"这些词汇,我们在使用这些词汇时究竟有没有真正理解它们的含义?这些词都是动词,当我们在使用这些词汇时,是否知道究竟意味着要做什么? 下面...
  • 谈谈需求分析规范化

    千次阅读 2017-01-01 22:40:55
    通过需求工程化来降低需求工程的复杂度,让需求分析人员有章可循,与用户形成共同语义环境,也就是需求分析的规范化
  • 第三篇:更新异常与规范化设计

    千次阅读 2018-07-21 15:16:53
    ER建模,关系建模与规范化设计 小结 回到顶部 前言  在前两篇中,主要讲了ER建模和关系建模。在具体分析如何用数据库管理软件RDBMS(Relational Database Management System)实现这些关系前,我想有必要思考下面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 264,786
精华内容 105,914
关键字:

关系规范化的主要目的