电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版

118页
  • 卖家[上传人]:E****
  • 文档编号:89115912
  • 上传时间:2019-05-18
  • 文档格式:PPT
  • 文档大小:999.50KB
  • / 118 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第9章 关系数据库理论,9.1 关系模式的规范化理论概述,关系数据库设计的核心是关系模式的设计。在设计关系模式时,必须考虑以下几个问题: 应该构造几个关系?每个关系由哪些属性组成? 关系模式中的所有关系应该满足哪些约束条件?如何体现这些约束条件? 评价关系模型好坏的依据是什么?如何将不好的关系模型改进为好的关系模型? 上述这些问题都可以从关系数据库设计理论中找到答案。,9.1.1 关系模式规范化的必要性,例9-1 学生-课程-教师关系如表9-1所示,其中包含学生、课程和教师实体的属性有:学号、课程号、成绩、教师姓名、职称等。,9.1.1 关系模式规范化的必要性,分析表9-1, 可以发现上述关系中存在许多问题。 数据冗余 同一信息重复出现。例如,教师的姓名、职称和所在系等信息重复出现,如果有100个学生选修张三丰老师的课,那么张三丰老师的相关信息要出现100次。 更新异常 对学生-课程-教师关系中的记录进行修改可能出现数据不一致的情况。例如,把第二个记录中属性职称的值改为教授,就会出现李丽萍老师的职称不一致的问题,除非把李丽萍老师的所有职称都改为同一值。 插入异常 某些信息无法正常插入。

      2、例如,课程C5由王路耀老师担任,但在还不知道哪些学生选修前,无法将王路耀老师的记录插入关系中。因为,在学生-课程-教师关系中(学号,课程号)是主码,当学号不确定时,根据关系模型的实体完整性规则,不允许主码为空值,因此不能插入该记录。 删除异常 某些信息被意外删除。例如,如果要删除某门课程的所有成绩,则会将教这门课的教师信息也删掉。例如,若要删除C4的记录,结果会丢失赵新朋老师的有关信息。显然,这是不希望发生的事情。,9.1.1 关系模式规范化的必要性,如果将学生-课程-教师关系分解为表9-2a所示的学生-课程、表9-2b所示的课程-教师和表9-2c所示的教师三个关系,则上述的4个异常问题就基本解决了。,9.1.2 关系模式规范化的概念,例9-1将学生-课程-教师关系分解为学生-课程、课程-教师和教师3个关系的过程就是关系模式规范化的过程。,9.2 函数依赖及范式,9.2.1 属性间的联系 1. 一对一联系 设X、Y是关系R的两个属性(集)。 如果对于X中的任一具体值,Y中至多有一个值与之对应,且反之亦然,则称X、Y两属性间是一对一联系,记为1:1。 在表9-1所示的学生-课程-教师关系

      3、中,课程号和课程名称之间就是一对一的联系,一个课程号唯一地决定一门课程名称,而一门课程名称只有唯一的一个课程号与之对应。,9.2.1 属性间的联系,2. 一对多联系 如果对于X中的任一具体值,Y中至多有一个值与之对应,而Y中的一个值却可以和X中的n个值(n0)相对应,则称Y对X是一对多联系,记为1:n。 在表9-1所示的学生-课程-教师关系中,教师和职称之间就是一对多的联系,一个教师只能有一个职称,而同一个职称可能对应多个教师。同理,(学号,课程号)与成绩之间,教师与所在系之间,都是一对多的联系。,3. 多对多联系 如果对于X中的任一具体值,Y中有m(m0)个值与之对应,而Y中的一个值也可以和X中的n个值(n0)相对应,则称Y对X是多对多关系,记为m :n。 在表9-1所示的学生-课程-教师关系中,学号和课程号之间就是多对多联系,一个学生可以选修多门课程,而一个课程也可以同时被多个学生选修。,9.2.1 属性间的联系,9.2.2 函数依赖,1. 函数依赖 用U表示属性集的全集A1,A2,.,An,设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的所有具体关系r都满足如

      4、下约束: 对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y,记作XY,X称作决定因素。,例9-2 设有读者-图书-借书关系如表9-3所示,其中(读者号,书号)是候选码。,9.2.2 函数依赖,表9-3中各属性之间的联系如下:,2. 平凡函数依赖与非平凡函数依赖 如果XY,并且Y不是X的子集,则称XY是非平凡函数依赖。如果XY,且Y是X的子集,则称XY是平凡函数依赖。 例9-2中的所有函数依赖都是非平凡函数依赖。,3. 完全函数依赖与部分函数依赖 设XY是关系模式R(U)的一个函数依赖,如果存在X的真子集X,使得XY成立,则称Y部分依赖于X,记作X Y。否则,称Y完全依赖于X,记作X Y。 在例9-2中,只有非主属性“借出日期”完全函数依赖于候选码(读者号,书号),即(读者号,书号)借出日期,而其他非主属性都是部分函数依赖于主码。,4. 传递函数依赖 在同一关系模式R(U)中,如果存在非平凡函数依赖XY,YZ而Y X,则称Z传递依赖于X。 在例9-2中,存在函数依赖:读者号单位,单位地址。根据传递函数依赖的定义,可知读者号地址是传递函数依赖。,9.2.3

      5、 第一范式(1NF),定义9-1 在关系模式R(U)中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R(U)是第一范式的关系,记为R(U)lNF。 例9-2中的读者-图书-借书关系是满足1NF的 .,9.2.4 第二范式(2NF),定义9-2 如果关系模式R(U)中的所有非主属性都完全函数依赖于主码,则称R(U)是第二范式的关系,记为R(U)2NF。,从图9-1可以发现,例9-2中的读者-图书-借书关系不满足2NF,因为其非主属性“姓名”、“单位”、“地址”、“书名”都没有完全函数依赖于候选码(读者号,书号)。作如图9-2所示的投影运算,就可将其分解为2NF的关系。,9.2.5 第三范式(3NF),定义9-3 如果关系模式R(U)中的所有非主属性对主码不存在传递函数依赖,则称R(U)是第三范式的关系,记为R(U)3NF。 3NF是一个可用的关系模式应该满足的最低范式。,3NF是一个可用的关系模式应该满足的最低范式。例9-2中的读者-图书-借书关系经过1NF,2NF和3NF的规范化后,就得到一个可用的关系模式,并包含4个关系:读者(读者号,姓名,单位名称),单位(单

      6、位名称,地址),图书(书号,书名),借书(读者号,书号,借出日期)。,满足3NF的关系就是一个可用的关系。但是,满足3NF的关系仍有可能存在缺陷,因为3NF只限制了非主属性对码的依赖关系,而没有限制码属性对码的依赖关系。,9.2.6 Boyce Codd范式,例9-3 有教务关系(学号,教工号,课程号),其中(学号,教工号)和(学号,课程号)为候选码,且具有下列的函数依赖关系:每位老师只教授一门课,即教工号课程号。某学生选定一位老师,就对应一门课,即(学号,教工号)课程号。某学生选定一门课,就对应一位老师,即(学号,课程号)教工号。 (学号,教工号)和(学号,课程号)两个候选码相交,有公共的属性学号。教务关系中不存在非主属性,也就不可能存在非主属性对码的部分依赖或传递依赖,所以教务关系3NF。但是,这个教务关系仍然存在许多问题: 插入异常:如果没有学生选修某位教师的任课,则该教师担任课程的信息就无法插入; 删除异常:删除学生选课信息,会删除相关教师的任课信息; 修改复杂:如果教师所教授的课程有所改动,则所有选修该教师课程的学生信息都要做改动; 数据冗余:每位学生都存储了有关教师所教授的

      7、课程的信息。 所以,仍需要进一步做规范化处理。这就需要用到BCNF范式。,定义9-4 如果关系模式R(U)中的所有属性都不传递函数依赖于R(U)的任何主码,则称R(U)是BCNF的关系。记为R(U)BCNF。 BCNF 是Boyce Codd范式的缩写。 与其等价的定义是,关系模式R(U)中,如果每个决定因素都包含主码(而不是被主码所包含),则R(U)BCNF。BCNF是对3NF的修正。在函数依赖的范畴内,BCNF能够完全消除一个关系模式中的数据插入和删除异常。,在例9-3中,教务关系之所以出现问题就是因为决定因素被主码包含:教工号课程号中教工号是决定因素,但又被包含在候选主码(学号,教工号)中。所以不满足BCNF。如果将教务关系分解为教学(学号,教工号)和教课(教工号,课程号)两个关系,那么这两个新关系就都满足BCNF。,9.3 多值依赖及范式,9.3.1 多值依赖的定义和性质 1. 多值依赖的定义 在关系模式R(U)中,X,Y,ZU且X+Y+Z=U。如果对R(U)中的任一关系r,给定一对(x,z)值,有一组Y的值,并且这组值仅由x值决定而与z值无关,那么关系模式R(U)中存在多值依

      8、赖XY。如果此时Z为空集(即 ),则XY被称为平凡多值依赖。,例9-4 设有满足BCNF的关系模式超市-助理-电话(超市名称,助理姓名,超市电话),其中一家超市可能有多个助理,并且有多个电话号码,此时,就有如表9-4所示的关系。,在表9-4中,U=超市名称,助理姓名,超市电话,X=超市名称,Y=助理姓名,Z=超市电话,且X+Y+Z=U,存在多值依赖:超市名称助理姓名和超市名称超市电话。根据平凡多值依赖的定义,本例中的两个多值依赖都是非平凡多值依赖。,2. 多值依赖的性质 1)多值依赖具有对称性:若XY,则XZ,其中ZUXY。多值依赖的对称性可以从例9-4中的两个多值依赖反映出来。 2)多值依赖具有传递性:若XY,YZ, 则XZY。 3)函数依赖可以看作是多值依赖的特殊情况:若XY,则XY。这是因为当XY时,对X的每一个值x,Y有一个确定的值y与之对应,所以XY。 4)若XY,XZ,则XY Z 5)若XY,XZ,则XYZ 6)若XY,XZ,则XYZ,XZY,9.3.2 第四范式(4NF),定义9-5 关系模式R(U)lNF, 如果对于R的每个非平凡多值依赖XY(YX),X都含有码,则称R

      9、(U)4NF。 4NF限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。因为根据定义,对于每一个非平凡的多值依赖XY,X都含有候选码,于是就有XY,所以4NF所允许的非平凡的多值依赖实际上是函数依赖。,在例9-4中,关系模式超市-助理-电话的候选码为(超市名称,助理姓名,超市电话),而X=超市名称,即X不包含码,所以不满足4NF。将超市-助理-电话解为超市-助理(超市名称,助理姓名)和超市-电话(超市名称,超市电话)两个关系。在超市-助理关系中,超市名称助理姓名,助理姓名不是超市名称的子集,而且超市名称是超市-助理关系的候选码,所以超市-助理关系满足4NF。同理,超市-电话关系也满足4NF。,9.4 连接依赖及范式,设R、R1、Rn是关系模式,U、U1、Un分别是R、R1、Rn的属性集合,而且U = U1Un。如果R的任意关系实例r满足: 则称R满足连接依赖,记作: 其中 是自然连接符号。 此时,如果某个Ui=U,则称该连接依赖是平凡连接依赖。,9.4.1 连接依赖的定义,例9-5 设有满足4NF的销售关系如表9-5所示,其中销售员代表汽车生产商(即单位),负责销售该生产商生产的汽车产品。,表9-5可以由表9-6所示的三个关系完全重建,即 因此销售关系中存在连接依赖。,9.4.2 第五范式(5NF),定义9-6 如果关系模式R(U)中的每一个连接依赖都是由R的候选码所蕴含, 则称R(U)5NF。,在例9-5中,销售关系的候选码是(销售员,单位,产品名称),销售关系的连接依赖: 都不由销售的候选码所蕴含,所以销售关系不满足5NF。但是,销售关系分解后的R1,R2和R3这三个关系都满足5NF。,9.4.3 小结,关系模式规范化的基本思想如图9-3所示,关系模式的规范化会带来以下好处: 由于关系中的各个数据项都是一个简单的数或符号串,故可以方便地进行存取。 由于模式的分解,可以简化检索操作,故加快了检索速率。 可消除对数据进行插入、修改和删除时的相互牵扯,便于保持数

      《数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版》由会员E****分享,可在线阅读,更多相关《数据库原理与应用第2版 蔡延光第9章 关系数据库理论_2版》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.