- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 关系数据库规范化理论 5.1 问题的提出 5.2 函数依赖 5.3 规范化 5.4 函数依赖的公理系统 5.5 关系模式的分解 5.1 问题的提出 关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式。即应该构造几个关系模式,每个关系模式应由哪些属性组成等。(不同处理,往往会导致数据管理的效率相差很远) 数据库逻辑设计的工具──关系数据库的规范化理论。 如何设计出“好”的关系模式呢?也即关系数据库规范化要讨论的问题 5.1 问题的提出(续) 一、概念回顾: 关系:描述实体、属性、实体间的联系。 关系模式:用来描述关系。 关系数据库:基于关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。 关系数据库的模式:定义这组关系的关系模式的集合。 5.1 问题的提出(续) 二、关系模式的形式化定义 关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F) R:关系名 U:组成该关系的属性名集合 D:属性组U中属性所来自的域的集合 DOM:属性向域的映象集合 F:属性间数据的依赖关系集合 5.1 问题的提出(续) 三、关系模式的简化表示 简化为一个三元组: RU, F 当且仅当U上的一个关系r 满足F 时,r 称为关系模式R(U, F)的一个关系 5.1.1 关系模型可能存在的异常 数据依赖 是通过一个关系中属性间值的相等(关联)与否体现出来的数据间的相互关系 是现实世界属性间相互联系的抽象 是数据内在的性质 是语义的体现 数据依赖的类型 函数依赖(Functional Dependency,简记为FD) 多值依赖(Multivalued Dependency,简记为MVD) 其他 5.1.1 关系模型可能存在的异常(续) 函数依赖普遍存在于现实生活中。 例如:设计一个用于学生管理的数据库,该数据库涉及的属性包括学号(Sno)、姓名(Sname)、所在系(Sdept)、住处(Loca)、课程号(Cno)、成绩(Grade)。 假设用一个单一关系模式 SLCU,F 来表示该数据库,则该关系模式为: U = {Sno,Sname,Sdept,Loca,Cno,Grade} 5.1.1 关系模型可能存在的异常(续) 假设有以下语义: (1)学生的学号是唯一的。 (2)一个系有若干个学生,但一个学生只能在一个系学习。 (3)同一个系的学生住在同一个区域。 (4)一个学生可以选修多门课程,每门课程可以被多个学生选修。 (5)每个学生选修一门课程有一个成绩。 5.1.1 关系模型可能存在的异常(续) 关系模式 SLCU,F U = { Sno,Sname,Sdept,Loca,Cno,Grade } F ={ Sno → Sname, Sno → Sdept, Sdept → Loca, (Sno, Cno) → Grade } 5.1.1 关系模型可能存在的异常(续) 上述关系存在以下几个方面的问题: ⒈ 数据冗余太大 ⒉ 更新异常 ⒊ 插入异常 ⒋ 删除异常 结论: SLC关系模式不是一个好的关系模式 好的关系模式:应该不会发生插入异常、更新异常和删除异常,并且数据库的冗余要尽可能地少。 5.1.2 异常原因分析 在关系模式SLC中,(Sno,Cno)为主键。SLC中U上的一组函数依赖F: F = {Sno → Sname, Sno → Sdept, Sdept → Loca, (Sno, Cno) → Grade } 可表示成如图5.1所示: 5.1.2 异常原因分析(续) 在关系模式SLC中: Grade完全由主键(Sno,Cno)决定 Sname、Sdept的值由Sno(主键的一部分)决定 Loca的值由Sdept决定,与Sno无直接联系 关系SLC中存在的这些函数依赖就是问题的根本所在,即关系模式中的属性并非完全是由主键确定,有一部分属性只与键的一部分有关。把无直接联系的属性放在一起构成关系模式,必然会产生上述的异常情况。 5.1.2 异常原因分析(续) 将SLC改造为以下3个关系模式: S(Sno,Sname,Sdept,Sno→Sname,Sno→Sdept) L(Sdept,Loca,Sdept→Loca) SC(Sno,Cno,Grade,(Sno,Cno)→Grade) 这3个关系模式都不会发生插入异常、更新异常和删除异常的情况,并且数据的冗余也得到了较好的控制。 5.2.1 函数依赖的定义 定义5.1 设R(U)是属性集U上的关系模式。X和Y是U的子集。若对于R(U)上的任意一个可能的关系r,如果 r 中不可能存在两个元组,它们在 X 上的属性值相等,而在 Y 上的属性值不等,则称
您可能关注的文档
- 旅游资源开发与规划课件作者陈兴中方海川汪明林第五章节旅游资源调查与评价.ppt
- 数字通信原理课件作者李文海毛京丽石方文第1章节.ppt
- 计算机组装与维修课件作者张兴明第8章节使计算机最优化.ppt
- 数字通信原理课件作者李文海毛京丽石方文第2章节.ppt
- 数字通信原理课件作者李文海毛京丽石方文第3章节.ppt
- 计算机组装与维修课件作者张兴明第10章节批量安装与系统复原.ppt
- 数字通信原理课件作者李文海毛京丽石方文第5章节.ppt
- 民用航空法基础课件作者赵旭望 秦永红第9章节.ppt
- 三维动画设计与制作——Maya教学课件作者刘声远张国峰第四章节.ppt
- 民用航空法基础课件作者赵旭望 秦永红第11章节.ppt
文档评论(0)