第3章关系数据库规范化理论答题.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
说明: 章节名称前打 ‘*’ 的部分不做要求! 序: 前面章节介绍了数据模型的基本知识,并重点介绍了“关系模型”。 关系是元组的集合,是笛卡尔积的一个子集。一个关系数据库包含一组关系。 关系模式是用来定义关系的。一组关系模式的全体构成关系数据库的“模式”。 随之而来的问题是:面对现实问题所涉及的一大堆数据,如何构造“合适”的关系模式?——这涉及到“数据库逻辑设计”这个基本而重大的问题。对此,有一套相关理论,称为“关系数据库规范化理论”。 第3章 关系数据库规范化理论 3.1 问题的提出 3.2 范式 3.3 模式的分解 *3.4 数据依赖的公理系统 小结 3.1 问题的提出 前面章节曾指出“一个关系模式的每个属性必须是不可再分的”,但是这只是最低要求。 对于一个关系模式,还必须考虑它的属性间是否存在“合理的数据依赖”问题。 数据依赖是通过关系中属性间值的相等与否体现出来的数据间的相互关系。例如:一个对象的“住址”与它的“姓名”有没有依赖关系?即姓名相同的两个对象,其住址是否相同? 数据依赖是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。 如果一个关系模式中存在不合适的数据依赖,则该模式在数据存储上会出现各种问题。 关系模式的形式化定义 关系模式由五部分组成,即它是一个四元组: R(U, D, DOM, F) R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自的域 DOM:属性 到域的映像 F: 属性间数据的依赖关系集合 说明:其中U、D对模式设计关系不大,而F是数据库设 计的关键,因此,下面只把关系看作一个二元组 R(U,F) 数据依赖对关系模式的影响 例:学校数据库: 学生的学号(Sno)、所在系(Sdept) 系所在地(Sloc)、课程名(Cname) 成绩(Grade) 单一的关系模式 :Student U、F U ={ Sno, Sdept, Sloc, Cname, Grade } 数据依赖对关系模式的影响(续) 学校数据库的语义描述: ⒈ 一个系有若干学生, 一个学生只属于一个系; ⒉ 一个系只有一个办公地点(大楼),多个系可以在一个大楼; ⒊ 一个学生可以选修多门课程, 每门课程有若干学生选修; ⒋ 每个学生所学的每门课程都有一个成绩。 数据依赖对关系模式的影响(续) 属性组U上的一组数据依赖F: F ={ Sno → Sdept, Sdept → Sloc, (Sno, Cname) → Grade } 数据依赖对关系模式的影响(续) 关系模式StudentU, F中存在的问题: ⒈ 数据冗余太大,维护困难 一方面,浪费大量的存储空间;另一方面,系统要会出很大代价来维护数据完整性。 例如,每一个系主任的姓名重复出现。某系更换系主任后,系统必须修改与该系学生有关的每一个元组。假如某个元组更新时被遗漏,则出现数据异常。 数据依赖对关系模式的影响(续) 2. 插入异常(Insertion Anomalies) 该插的数据插不进去 例如,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。 3. 删除异常(Deletion Anomalies) 不该删除的数据不得不删 例如,如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。 数据依赖对关系模式的影响(续) 结论: Student关系模式不是一个好的模式。“好”的模式不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。 原因:模式中的某些数据依赖引起的。 解决方法:通过分解关系模式来消除其中不合适的数据依赖。尽量避免将没有关系的数据杂凑在一起。 3.2 范式 对一个关系模式,根据其属性间的数据依赖程度的不同,将该关系模式归类于 不同的“范式”。通过对关系模式的分解,逐步消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。 在1971年,E.F.Codd就提出了这一理论。 相关内容: 3.2.1 数据依赖 3.2.2 函数依赖 3.2.3 范式 1NF 2NF 3NF * BCNF * 3.2.4 多值依赖 * 4NF 3.2.1 数据依赖 如前所述,数据依赖就是一个关系内部 属性间的相互关联,是现实世界实体属性相互联系的抽象表现,是数据内在性质,是语义的体现。 数据依赖分为: 函数依赖( Functional Dependency ,FD) 多值依赖(Multivalued Dependency

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档