数据库原理与SQL Server教程 第2版 教学课件 ppt 作者 谢日星 第8章 数据库规范化—应用关系数据理论

上传人:E**** 文档编号:89376549 上传时间:2019-05-24 格式:PPT 页数:26 大小:884.50KB
返回 下载 相关 举报
数据库原理与SQL Server教程 第2版  教学课件 ppt 作者  谢日星 第8章  数据库规范化—应用关系数据理论_第1页
第1页 / 共26页
数据库原理与SQL Server教程 第2版  教学课件 ppt 作者  谢日星 第8章  数据库规范化—应用关系数据理论_第2页
第2页 / 共26页
数据库原理与SQL Server教程 第2版  教学课件 ppt 作者  谢日星 第8章  数据库规范化—应用关系数据理论_第3页
第3页 / 共26页
数据库原理与SQL Server教程 第2版  教学课件 ppt 作者  谢日星 第8章  数据库规范化—应用关系数据理论_第4页
第4页 / 共26页
数据库原理与SQL Server教程 第2版  教学课件 ppt 作者  谢日星 第8章  数据库规范化—应用关系数据理论_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《数据库原理与SQL Server教程 第2版 教学课件 ppt 作者 谢日星 第8章 数据库规范化—应用关系数据理论》由会员分享,可在线阅读,更多相关《数据库原理与SQL Server教程 第2版 教学课件 ppt 作者 谢日星 第8章 数据库规范化—应用关系数据理论(26页珍藏版)》请在金锄头文库上搜索。

1、第八章 数据库规范化应用关系数据理论,数据库原理与SQL Server教程(第2版),2019年5月24日星期五,数据库原理与SQL Server教程,第八章 数据库规范化 应用关系数据理论,8.1 关系模式规范化的作用 8.2 函数依赖及其关系范式 8.3 多值依赖及第四范式 8.4 规范化小结,2019年5月24日星期五,数据库原理与SQL Server教程,8.1 关系模式规范化的作用,我们在进行数据库设计的时候,无论是关系的还是非关系的,都要考虑应该如何构造一个适合的数据模式,也就是应该构造几个关系模式,每个关系由哪些属性组成等。这就涉及到了关系数据库的逻辑设计问题。由于关系模型有严格

2、的数学理论基础,因此,人们就以关系模型为背景来讨论这个问题,形成了数据库逻辑设计的有力工具关系数据库的规范化理论。,2019年5月24日星期五,数据库原理与SQL Server教程,8.2 函数依赖及其关系范式,8.2.1 函数依赖 8.2.2 关系的1NF、2NF、3NF 8.2.3 BCNF,2019年5月24日星期五,数据库原理与SQL Server教程,8.2 函数依赖及其关系范式,要学习关系数据库的规范化理论,首先要了解函数依赖和范式的概念,所谓范式(Normal Form)是指规范化的关系模式。由规范化程度不同,就产生了不同的范式。 从1971年起,EFodd相继提出了第一范式、第

3、二范式、第三范式,Codd与Boyce合作提出了Boyce-Codd范式。在1976-1978年间,Fagin、Delobe以及Zaniolo又定义了第四范式。到目前为止,已经提出了第五范式。每种范式都规定了一些限制约束条件。,2019年5月24日星期五,数据库原理与SQL Server教程,8.2.1 函数依赖,关系模式是用来描述关系的,它可以用一个五元组来表示: R(U, D, DOM, F) R表示关系的名称,U 表示组成该关系的属性名集合,D 表示属性组U中属性所来自的域,DOM表示属性向域的映像集合,F表示属性间数据的依赖关系集合 由于属性U和DOM对模式设计关系不大,因此可以把关系

4、的五元组表示简化的看做一个三元组表示: R(U, F) 当且仅当U上的一个关系满足F时,称r为关系模式R(U, F)的一个关系。,2019年5月24日星期五,数据库原理与SQL Server教程,8.2.1 函数依赖,F数据依赖集是关系数据库设计理论的中心问题,所谓数据依赖是实体属性值之间相互联系和相互制约的关系,是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。函数依赖(Functional Dependency,简称为FD)和多值依赖(Multivalued Dependency,简称为MVD)是与数据库设计理论中最重要的两种数据依赖类型,2019年5月24日星期五,数据库原

5、理与SQL Server教程,8.2.1 函数依赖,函数依赖普遍的存在于现实生活中。比如一个“学校图书管理”数据库,在这个数据库涉及到的对象包括图书的书号(Bid)、读者借书卡号(Cid)、借书时间(Bdate)、还书时间(Sdate)、读者类别(Class)和允许最多的可借书的数量(Mcount)。则该图书关系模式的属性集合可以表示为:U= Bid , Cid , Bdate , Sdate , Class , Mcount ,2019年5月24日星期五,数据库原理与SQL Server教程,从现实世界可以得知: (1)一个读者只属于一个类型,但一个类型一般对应有多名读者。 (2)读者类别决

6、定允许最多可以借书的数量。 (3)一个读者可以同时借阅多本图书,但一个图书不能在同一时间被同一个读者借多次。 (4)一个读者对一本图书的借阅时间被确定之后就会有一个惟一的还书时间。 从以上分析可以得到属性组U上一组函数依赖F(如图所示):,2019年5月24日星期五,数据库原理与SQL Server教程,FCidClass, ClassMcount,(Bid, Cid, Bdate)Sdate,2019年5月24日星期五,数据库原理与SQL Server教程,如果仅仅考虑函数依赖这一种数据依赖,还不足以得到一个规范的关系模式,2019年5月24日星期五,数据库原理与SQL Server教程,从

7、表中的数据情况可以看出,该关系存在以下问题: (1)存在较大数据冗余(Date Redundancy)每一个系名存储的次数等于该系学生人数乘以每个学生选修的课程门数。 (2)更新异常(Update Anomalies)若某学生转系,系名要更换,数据库中该学生所在的系名要全部修改。如有失误,某些记录漏改了,则会使数据库中的数据发生不一致的错误,出现更新异常。,2019年5月24日星期五,数据库原理与SQL Server教程,(3)插入异常(Insertion Anomalies)若学校开设一个新系还没有招生,使得sno和cname无值,而在此关系模式中(sno,cname)为键,所以在插入数据时

8、关系数据库将无法操作,引起了插入异常。 (4)删除异常(Deletion Anomalies)当某个系的学生都毕业了而又没有招新生时,删除了全部学生记录,随之也删除了系名记录,使得一个在现实世界中存的系,在数据库中不存在了,即出现了删除异常。,2019年5月24日星期五,数据库原理与SQL Server教程,要解决以上问题可以采用模式分解,模式分解是关系规范化的主要方法。 例如,上述不规范的教学关系模式可以分解为“学生表”Student、“教学系表”Depart“选课表”Study,其关系模式可以表示为: Student (sno, sname, sage, ssex, sdept) Depa

9、rt (sdept) Study (sno, cname, grade),2019年5月24日星期五,数据库原理与SQL Server教程,教学关系分解后的三个关系,2019年5月24日星期五,数据库原理与SQL Server教程,下面给出函数依赖的定义: 定义8.1:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作XY。,2019年5月24日星期五,数据库原理与SQL Server教程,函数依赖相关概念: (1)XY,但Y X则称XY是非平凡的函数依

10、赖。若不特别声明,总讨论非平凡的函数依赖。 (2)XY,但Y X则称XY是平凡的函数依赖 (3)若XY,则X叫做决定因素(Determinant) (4)若XY,YX,则叫做X,Y相互决定,记作XY (5)若Y不函数依赖于X,则记作X Y,2019年5月24日星期五,数据库原理与SQL Server教程,定义8.2:在R(U)中,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y对X完全函数依赖 记作:X Y 若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖, 记作:X Y 传递 定义8.3:在R(U)中,如果XY,(Y X),Y X,YZ,则称Z对X传递函 数依赖,记作:X Z,

11、F,P,传递,2019年5月24日星期五,数据库原理与SQL Server教程,8.2.2 关系的1NF、2NF、3NF,定义8.4:如果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式( First Normal Form),简称1NF,记作R1NF。 简而言之,第一范式就是要求关系中的属性必须是原子项,严禁出现“表中有表”的情况。,2019年5月24日星期五,数据库原理与SQL Server教程,定义8.5:若R1NF,且每一个非主属性完全依赖于键,则R2NF。 定义8.6:关系模式R中若不存在这样的键X、属性组Y及非主属性Z(Z Y)使XY、Y X、YZ

12、成立,则称R3NF。 若R3NF,则每一个非主属性既不部分函数依赖于键,也不传递函数依赖于键。,2019年5月24日星期五,数据库原理与SQL Server教程,8.2.3 BCNF,BCNF比3NF又进了一步,通常认为BCNF是修正的第三范式。 定义:关系模式R1NF。若XY且Y X时X必含有键,则 RBCNF。 简而言之,关系模式R1NF,若每一个决定因素都包含键,则R BCNF。,2019年5月24日星期五,数据库原理与SQL Server教程,8.3 多值依赖及第四范式,定义8.7:设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且ZUXY,多值依赖XY成产当且仅当对

13、R的任一关系r,r在(X,Z)上的每个值对应一组确定Y的值,这组Y值仅仅决定于X而与Z值无关。 若XY,而Z即Z为空,则称XY为平凡的多值依赖。,2019年5月24日星期五,数据库原理与SQL Server教程,8.3 多值依赖及第四范式,多值依赖具有以下性质: (1)多值依赖具有对称性。 (2)多值依赖具有传递性。 (3)函数依赖可以看作是多值依赖的特殊情况。 (4)若XY,XZ,则XYZ。 (5)若XY,XZ,则XY-Z,XZ-Y。 (6)多值依赖的有效性与属性集的范围有关 (7)若多值依赖XY在R(U)上成立,对于YY,并不一定有XY成立。,2019年5月24日星期五,数据库原理与SQL

14、 Server教程,8.3 多值依赖及第四范式,定义8.8:关系模式RU,F1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有候选键,则R4NF。 简而言之,一个关系模式如果已满足BCNF,且没有非平凡且非函数依赖的多值依赖,则关系模式属于4NF。一个关系模式R4NF,则必有RBCNF。4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。,2019年5月24日星期五,数据库原理与SQL Server教程,8.4 规范化小结,在关系数据库中,只要是满足第一范式要求的关系模式都可以认为是合法、允许的。但是有些关系模式存在插入异常、删除异常、修改复杂、数据冗余等问题。人们寻求解决这些问题的方法就是规范化的目的。 关系模式的规范化过程是通过对关系模式的分解来实现的。把低一级的关系模式分解为若干高一级的关系模式。这种分解不是唯一的。各种范式及规范化过程如图所示:,2019年5月24日星期五,数据库原理与SQL Server教程,8.4 规范化小结,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号