第6章 关系数据理论优秀PPT.ppt
《第6章 关系数据理论优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第6章 关系数据理论优秀PPT.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 关系数据理论现在学习的是第1页,共109页 网状、层次模型的数据库设计,主要凭设计者的经验直观地选网状、层次模型的数据库设计,主要凭设计者的经验直观地选择和确定实体集、属性以及实体间的联系。哪些实体应该合并或分择和确定实体集、属性以及实体间的联系。哪些实体应该合并或分解以及如何合并和分解、每个实体中应该包括哪些属性为宜、属性解以及如何合并和分解、每个实体中应该包括哪些属性为宜、属性间的联系如何确定和处理等一系列问题的解决是没有什么固定规则间的联系如何确定和处理等一系列问题的解决是没有什么固定规则和理论可循的。和理论可循的。一个基本的问题:一个基本的问题:给出一组数据,如何构造一个合适的
2、数据模式给出一组数据,如何构造一个合适的数据模式?例如:对关系模型,给了一组数据,应该构造几个关系?每个例如:对关系模型,给了一组数据,应该构造几个关系?每个关系由哪些属性组成?关系由哪些属性组成?这就是数据库逻辑设计问题这就是数据库逻辑设计问题1 问题的提出问题的提出现在学习的是第2页,共109页关系数据库的规范化理论关系数据库的规范化理论数据库逻辑设计的有力工具数据库逻辑设计的有力工具 要考虑的几个问题:要考虑的几个问题:为什么要规范化?为什么要规范化?怎样规范化?怎样规范化?规范化到什么程度后最合适?规范化到什么程度后最合适?这就是本章的主题这就是本章的主题 本节首先用一个例子来说明对关
3、系模式为什么要规范化,本节首先用一个例子来说明对关系模式为什么要规范化,不经过规范化会产生什么样的结果。不经过规范化会产生什么样的结果。关系数据库的设计是借助近代数学工具而提出来的,关系数据库的设计是借助近代数学工具而提出来的,形成了一整形成了一整套定义、公理、定理及各种实用算法套定义、公理、定理及各种实用算法,产生了确定、评价关系数据,产生了确定、评价关系数据库模式的好方法。库模式的好方法。现在学习的是第3页,共109页例:假设车间考核职工完成生产定额的关系模式如下:例:假设车间考核职工完成生产定额的关系模式如下:W(工号,日期,姓名,工种,定额,超额,车间,车间主任)(工号,日期,姓名,工
4、种,定额,超额,车间,车间主任)比如设某工号某年月超额完成定额的比如设某工号某年月超额完成定额的20%,其记录的内容为:,其记录的内容为:(1001,05年年11月,张三,车工,月,张三,车工,180,20%,金工车间,李四),金工车间,李四)该关系的主键为?该关系的主键为?工号工号 日期日期该关系模式存在以下该关系模式存在以下四个严重问题四个严重问题:对同一个人来说,其姓名、工种、车间、车间主任等多次重复对同一个人来说,其姓名、工种、车间、车间主任等多次重复 1001,05年年08月,月,张三,车工,张三,车工,180,20%,金工车间,李四金工车间,李四1001,05年年09月,月,张三,
5、车工,张三,车工,180,15%,金工车间,李四金工车间,李四1001,05年年10月,月,张三,车工,张三,车工,180,18%,金工车间,李四金工车间,李四1001,05年年11月,月,张三,车工,张三,车工,180,20%,金工车间,李四金工车间,李四 (1)数据冗余大)数据冗余大现在学习的是第4页,共109页(2)插入异常)插入异常 若新调来一个职工并将他分配到某个车间,根据上述关系模若新调来一个职工并将他分配到某个车间,根据上述关系模式,在对该职工统计工作之前,他的信息是装不进数据库中的。式,在对该职工统计工作之前,他的信息是装不进数据库中的。因为他的日期值是空值,而日期是主键的属性
6、之一,不允许为空。因为他的日期值是空值,而日期是主键的属性之一,不允许为空。(1005,NULL,天然,车工,天然,车工,NULL,NULL,金工车间,李四),金工车间,李四)应该存储的信息无法存储应该存储的信息无法存储(3)删除异常)删除异常不该删除的信息被删除不该删除的信息被删除 若想删除某人的所有定额完成情况,则该职工的其他信息若想删除某人的所有定额完成情况,则该职工的其他信息也都被删除。也都被删除。比如在比如在05年初要删除年初要删除04年以前的所有定额完成信息,则年以前的所有定额完成信息,则05年年由于种种原因未参加现实工作的职工的所有信息全部被删除。由于种种原因未参加现实工作的职工
7、的所有信息全部被删除。现在学习的是第5页,共109页(4)修改困难,容易造成数据的不一致性)修改困难,容易造成数据的不一致性若某车间换了主任,则该车间所有职工的上述记录都要修改;若某车间换了主任,则该车间所有职工的上述记录都要修改;又如某人换了车间,则其工种、车间、车间主任等信息都要修改。又如某人换了车间,则其工种、车间、车间主任等信息都要修改。一方面,修改工作量大;一方面,修改工作量大;另一方面,可能漏改或该错,会造成数据的不一致性;另一方面,可能漏改或该错,会造成数据的不一致性;(也称更新异常)(也称更新异常)上例充分说明对关系模式若随意设计,其后果是严重的。上例充分说明对关系模式若随意设
8、计,其后果是严重的。本章将要讨论产生上述问题的原因以及解决办法,即如何改造本章将要讨论产生上述问题的原因以及解决办法,即如何改造一个不好的关系模式。这就是规范化理论要解决的主要问题。一个不好的关系模式。这就是规范化理论要解决的主要问题。现在学习的是第6页,共109页 比如,对于上述关系模式,若分解成下面三个关系,则前面提到比如,对于上述关系模式,若分解成下面三个关系,则前面提到的几个问题将全部或部分地得到解决:的几个问题将全部或部分地得到解决:职工关系(工号,姓名,工种,车间号)职工关系(工号,姓名,工种,车间号)车间关系(车间号,车间名,车间主任)车间关系(车间号,车间名,车间主任)定额关系
9、(工号,日期,定额,超额)定额关系(工号,日期,定额,超额)本节开头下一节本章开头现在学习的是第7页,共109页 数据模型中我们讨论了实体间的联系,同时提到实体内部属性数据模型中我们讨论了实体间的联系,同时提到实体内部属性间也有联系。事实上上一节中的问题都是间也有联系。事实上上一节中的问题都是由于属性间的联系引起的由于属性间的联系引起的。一、数据依赖一、数据依赖1、属性间的联系、属性间的联系:也是也是1:1,1:n,m:n三种三种 1:1联系联系:设:设A、B为某实体集中的两个属性的值集,如为某实体集中的两个属性的值集,如 果对于果对于A中的任一值,中的任一值,B中至多有一个值与之中至多有一个
10、值与之 对应,且反之亦然。对应,且反之亦然。1:n联系联系:设:设A、B为某实体集中的两个属性的值集,如为某实体集中的两个属性的值集,如 果对于果对于A中的任一值,中的任一值,B中有多个值(包括中有多个值(包括0个)个)与之对应;而对于与之对应;而对于B中的任一值,中的任一值,A中至多有中至多有 一个值与之对应。一个值与之对应。2 数据依赖数据依赖如:车间如:车间-主任主任如:班级如:班级-学号学号现在学习的是第8页,共109页 m:n联系联系:设:设A、B为某实体集中的两个属性的值集,为某实体集中的两个属性的值集,如果对于如果对于A中的任一值,中的任一值,B中有多个值(包中有多个值(包 括括
11、0个)与之对应,且反之亦然。个)与之对应,且反之亦然。如:学号如:学号-课程号课程号实体间的联系表示实体之间相互依赖又相互制约的关系;实体间的联系表示实体之间相互依赖又相互制约的关系;属性间的联系表示属性之间相互依赖又相互制约的关系。属性间的联系表示属性之间相互依赖又相互制约的关系。2、数据依赖、数据依赖 通过一个关系中属性间值的相互关联(主要体现于值的相等通过一个关系中属性间值的相互关联(主要体现于值的相等与否)体现出来的数据间的相互联系。与否)体现出来的数据间的相互联系。两类最重要的数据依赖两类最重要的数据依赖函数依赖函数依赖多值依赖多值依赖(是数据内在的性质,语义的体现)(是数据内在的性
12、质,语义的体现)现在学习的是第9页,共109页二、关系的形式化定义二、关系的形式化定义1、关系的两个主要方面、关系的两个主要方面 语法:属性的描述语法:属性的描述 语义:数据依赖语义:数据依赖2、关系模式、关系模式:R 关系名关系名属性组属性组U上的一组数据依赖上的一组数据依赖3、关系:、关系:对关系模式对关系模式 R,当且仅当,当且仅当U上的一个关系上的一个关系r满足满足F时,称时,称r为关系模式为关系模式 R的一个关系。的一个关系。现在学习的是第10页,共109页三、函数依赖三、函数依赖 不严格地讲,函数依赖指的是一组属性值唯一决定另一组不严格地讲,函数依赖指的是一组属性值唯一决定另一组属
13、性值的这种数据依赖。属性值的这种数据依赖。如学生关系中,当学号确定后,其姓名也就唯一确定了。如学生关系中,当学号确定后,其姓名也就唯一确定了。选课关系中,当学号和课程号确定后,其成绩也就唯一确定了。选课关系中,当学号和课程号确定后,其成绩也就唯一确定了。1、函数依赖、函数依赖(Functional Dependency,缩写,缩写FD):):设设 R(U)是属性集是属性集U上的关系模式,上的关系模式,X、Y是是U的子集。若对于的子集。若对于R中的任意关系中的任意关系 r,对于,对于 r中的任意两个元组中的任意两个元组u、v都有都有 uX=vX uY=vY成立,则称成立,则称X函数决定函数决定Y
14、,或称,或称Y函数依赖于函数依赖于X,记作,记作XY。称。称X为为决决定因素定因素。现在学习的是第11页,共109页 说明:说明:函数依赖类似于变量间的单值函数关系(一个自变量只能对应函数依赖类似于变量间的单值函数关系(一个自变量只能对应一个一个 函数值),因此也称为函数值),因此也称为单值函数依赖;单值函数依赖;若若XY且且YX,则记作,则记作 XY;若若Y不函数依赖于不函数依赖于X,则记作,则记作 X例:对学生关系例:对学生关系 S(Sno,SName,SDept,SAge),有),有 Sno SName,Sno SDept,Sno SAge 对选课关系对选课关系 SC(Sno,Cno,G
15、rade),),有(有(Sno,Cno)GradeYFD要求关系模式的任何一个实例都满足,而不是部分实要求关系模式的任何一个实例都满足,而不是部分实例满足。例满足。FD由具体问题的语义和人为强制约定共同决定。由具体问题的语义和人为强制约定共同决定。现在学习的是第12页,共109页3、函数依赖分类、函数依赖分类 (1)非平凡的函数依赖非平凡的函数依赖:XY,但,但Y X。(2)平凡的函数依赖平凡的函数依赖:XY,但,但Y X。(3)完全函数依赖:完全函数依赖:XY,且对任意的,且对任意的X X,都有,都有 记作记作 X Yf2、函数依赖与属性间的联系之关系、函数依赖与属性间的联系之关系 (1)若
16、)若X、Y之间是之间是“1:1联系联系”,则存在函数依赖则存在函数依赖XY和和 YX,即即XY.(2)若若X、Y之间是之间是“m:1联系联系”,则存在函数依赖关系则存在函数依赖关系XY。(3)若若X、Y之间是之间是“m:n联系联系”,则则X、Y之间不存在函数依赖关系。之间不存在函数依赖关系。如在如在 SC(Sno,Cno,G)中,()中,(Sno,Cno)G,Y。XG,cnoG,因此(,因此(Sno,Cno)fG。但但sno现在学习的是第13页,共109页(4)部分部分函数依赖函数依赖:XY,但,但Y不完全函数依赖于不完全函数依赖于X,即存在即存在X X,有,有XY。记作记作 X Yp如在如在
17、 S(sno,SN,SD,SA)中,因为)中,因为 snoSD,(sno,SN)SDp所以所以(5)传递函数依赖传递函数依赖:若:若XY,Y X,YZ,且且Z(X Y)=,则称,则称Z对对X是是传递函数依赖。传递函数依赖。例如,在学生关系模式例如,在学生关系模式 S(Sno,SName,SD,SAge)中,增加属性中,增加属性SL(系的位置),则(系的位置),则 SnoSD,SDSL,SD Sno,所以,所以 Sno SL。传递传递又如:又如:(Sno,Cno)Sdept是部分函数依赖是部分函数依赖注注:如果如果YX,即即XY,则,则Z直接依赖于直接依赖于X。现在学习的是第14页,共109页四
18、、多值依赖四、多值依赖(教材(教材P178)1、例子、例子:设学校中一门课由多位教员讲授,他们使用相同:设学校中一门课由多位教员讲授,他们使用相同 的参考书,比如:的参考书,比如:“物理物理”,教员为汪洋、大海,参考书为,教员为汪洋、大海,参考书为普通物理学普通物理学、光学原理光学原理、物理习题集物理习题集;“数学数学”,教员为大海、白云,参考书为,教员为大海、白云,参考书为数学分析数学分析、微分方程微分方程、高等代数高等代数;“计算计算”,教员为蓝天、白云,参考书为,教员为蓝天、白云,参考书为数学分析数学分析、现在学习的是第15页,共109页用模式为用模式为 TEACH(C,T,B)的关系表
19、示上述数据:)的关系表示上述数据:课程课程C 教师教师T 参考书参考书B物理物理 汪洋汪洋 普通物理学普通物理学物理物理 汪洋汪洋 光学原理光学原理物理物理 汪洋汪洋 物理习题集物理习题集物理物理 大海大海 普通物理学普通物理学物理物理 大海大海 光学原理光学原理物理物理 大海大海 物理习题集物理习题集数学数学 大海大海 数学分析数学分析数学数学 大海大海 微分方程微分方程数学数学 大海大海 高等代数高等代数数学数学 白云白云 数学分析数学分析数学数学 白云白云 微分方程微分方程数学数学 白云白云 高等代数高等代数计算计算 白云白云 数学分析数学分析 该关系模式中,任该关系模式中,任何两个属性
20、都不能函何两个属性都不能函数决定第三个属性。数决定第三个属性。该关系模式存在该关系模式存在冗余大、增删不方便冗余大、增删不方便等问题。等问题。没有函数依赖,需要另行分析现在学习的是第16页,共109页课程课程C 教师教师T 参考书参考书B物理物理 汪洋汪洋 普通物理学普通物理学物理物理 汪洋汪洋 光学原理光学原理物理物理 汪洋汪洋 物理习题集物理习题集物理物理 大海大海 普通物理学普通物理学物理物理 大海大海 光学原理光学原理物理物理 大海大海 物理习题集物理习题集数学数学 大海大海 数学分析数学分析数学数学 大海大海 微分方程微分方程数学数学 大海大海 高等代数高等代数数学数学 白云白云 数
21、学分析数学分析数学数学 白云白云 微分方程微分方程数学数学 白云白云 高等代数高等代数计算计算 白云白云 数学分析数学分析 在该关系模式中,对于在该关系模式中,对于一个(物理,普通物理学),一个(物理,普通物理学),有一组教师有一组教师汪洋,大海汪洋,大海,而,而对于另一个(物理,光学原理)对于另一个(物理,光学原理),对应的教师仍是,对应的教师仍是汪洋,大汪洋,大海海。因此,所对应的教员只。因此,所对应的教员只与课程的值有关而与参考书与课程的值有关而与参考书的值无关。的值无关。这是产生问题的原因吗?现在学习的是第17页,共109页2、多值依赖、多值依赖(MultiValued Depende
22、ncy,缩写为,缩写为MVD)设设 R(U)是属性集是属性集U上的关系模式,上的关系模式,X、Y、Z是是U的子集,且的子集,且Z=U X Y,多值依赖,多值依赖XY成立当且仅当对成立当且仅当对R(U)的任一关系的任一关系r,任给,任给的一对(的一对(x,z)值有一组)值有一组Y的值,这组值仅仅取决于的值,这组值仅仅取决于x值而与值而与z值无关。值无关。称称X多值决定多值决定Y或或Y多值依赖于多值依赖于X。例如,在关系模式例如,在关系模式TEACH中中 有有 CT物理物理 汪洋汪洋 普通物理学普通物理学物理物理 汪洋汪洋 光学原理光学原理物理物理 汪洋汪洋 物理习题集物理习题集物理物理 大海大海
23、 普通物理学普通物理学物理物理 大海大海 光学原理光学原理物理物理 大海大海 物理习题集物理习题集数学数学 大海大海 数学分析数学分析数学数学 大海大海 微分方程微分方程数学数学 大海大海 高等代数高等代数数学数学 白云白云 数学分析数学分析计算计算 白云白云 数学分析数学分析 直观上看,若直观上看,若XY,则则X的一个值唯一决定一组的一个值唯一决定一组Y值,且这组值与值,且这组值与X、Y之外之外的属性值无关的属性值无关课程课程C 教师教师T 参考书参考书B现在学习的是第18页,共109页多值依赖的另一等价定义多值依赖的另一等价定义:多值依赖多值依赖XY成立当且仅当对成立当且仅当对R(U)的任
24、一关系的任一关系r,若存在元,若存在元组组s、t使得使得sX=tX,则必存在元组,则必存在元组w、v r(w、v可以与可以与s、t相同)相同),使得,使得wX=vX=tX,而,而wY=tY,wZ=sZ,vY=sY,vZ=tZ。X Y ZtswvwYsYtYvYtZvZsZwZ左图直观显示,左图直观显示,x决定一组决定一组y值,值,这组值与这组值与z无关无关交换s、t的Y值所得新元组仍在r中现在学习的是第19页,共109页由前面例子,可看出由前面例子,可看出X、Y、Z之间有下述关系:之间有下述关系:物理物理汪洋汪洋 大海大海普通物理学普通物理学 光学原理光学原理 物理习题集物理习题集数学数学大海
25、大海 白云白云数学分析数学分析 微分方程微分方程 高等代数高等代数完全二分图现在学习的是第20页,共109页 3、多值依赖的性质:、多值依赖的性质:(1)对称性:若)对称性:若 XY,Z=U X Y,则,则 XZ。(2)函数依赖可看成是多值依赖的特例:若)函数依赖可看成是多值依赖的特例:若 XY,则,则 XY(3)若)若U=XY(表示(表示X Y),则),则 XY显然成立。显然成立。(这种多值依赖无任何实际意义,故称为(这种多值依赖无任何实际意义,故称为 平凡的多值依赖平凡的多值依赖 )4、多值依赖与函数依赖的区别、多值依赖与函数依赖的区别 (1)函数依赖)函数依赖XY的有效性仅取决于的有效性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 关系数据理论优秀PPT 关系 数据 理论 优秀 PPT
限制150内