数据库系统原理DatabaseSystemPrinciples.pptVIP

数据库系统原理DatabaseSystemPrinciples.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库系统原理DatabaseSystemPrinciples

《数据库系统概论》- 第6章 数据库系统原理 Database System Principles 四川大学计算机学院 段 磊 leiduan@scu.edu.cn 2011.9 第六章 关系数据库理论 意义 提供分析和判断数据库模式好坏的准则 指导设计好的数据库模式 难易度 本章是本书最难的部分之一 对于应用设计十分有用 本章目录 6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 6.4 模式的分解 6.1 问题的提出--什么是不好的数据库设计 我们目前为止掌握的知识尚无法解决大量的具体设计问题,即关系模式该如何选择。 应用数据库应该由多少个表组成? 每个表有哪些字段? 本章从理论上解决关系数据库的逻辑设计问题。 关系模式 一个关系模式应当是一个五元组。 R(U, D, DOM, F) F是本章开始引入的数据依赖集。 由于D和DOM对模式设计关系不大,因此我们在本章中把关系模式看作是一个三元组:RU, F 当且仅当U上的一个关系r满足F时,r称为关系模式RU, F的一个关系。 关系,作为一张二维表,我们对它有一个最起码的要求:每一个分量必须是不可分的数据项。满足了这个条件的关系模式就属于第一范式(1NF)。 数据依赖 我们的任务是研究模式设计,研究设计一个“好”的(没有“毛病”的)关系模式的办法。 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。现在人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖(Functional Dependency, FD)和多值依赖(Multivalued Dependency, MVD)。 函数依赖 函数依赖极为普遍地存在 例如,描述学生的关系,可以有学号(SNO),姓名(SNAME),系名(SDEPT)等几个属性。 由于一个学号只对应一个学生,一个学生只在一个系学习。因而当“学号”值确定之后,姓名和该生所在系的值也就被唯一地确定了。 上述值的确定就象数学函数:自变量x确定之后,相应的函数值f(x)也就唯一地确定。 我们说SNO函数决定SNAME和SDEPT,或者说SNAME,SDEPT函数依赖于SNO,记为:SNO→SNAME,SNO→SDEPT。 例:学生选课模型的关系模式 例如,前面介绍的学生选课模型,可以用一个关系模式表示: SC(Sno,Sname,Sage,Sgendar,Sdept,Cno,Cname,Grade) 一个可能的关系为: S1 赵一 18 男 CS 1 C语言 80 S1 赵一 18 男 CS 2 数据库原理 82 S2 钱二 19 男 CS 1 C语言 80 …… 可以看出,该模式存在的主要问题是冗余。 冗余带来的问题 冗余是不可避免的。在一定程度内也是合理的。但是,过度的冗余则会给数据库带来三类大的问题: 插入异常(学生不选课,其基本信息就无法插入) 删除异常(删除学生选课信息,其基本信息也被删除) 修改复杂(修改某学生的基本信息,要随选课多次被修改) 解决冗余的方法 解决的方法 一个大关系分解为若干个小关系。 感性经验:多用小关系,少用字段。 如前面的SC大关系分解为第三章的 Student,SC和Course三个小关系,即可消除三类异常。 问题的引出 为什么小关系比大关系好呢?现在我们要讨论的就是这个问题。 从上面的分解观察到:如果在一个关系模式内,函数依赖形式上如果只有: 码 → 非主属性 的形式,冗余就较小,三类异常就没有了。 本章目录 6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 6.4 模式的分解 6.2 规范化 目的 将具有不合适性质的关系转换为更合适的形式。 要求 掌握函数依赖的定义及判定; 掌握1NF到BCNF的定义及判定; 了解多值依赖,理解4NF的定义。 6.2.1 函数依赖 (注意:现在还不能用到码的概念。) 定义6.1 设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R的任何一个可能的关系r,r中不可能存在两个元组在X属性值上相等而在Y属性值上不等,则称X函数确定Y或Y函数依赖于X,记作:X→Y。 6.2.1 函数依赖 X→Y,且Y?X,则称X→Y是非平凡的函数依赖。若不特别声明,我们总是讨论非平凡的函数依赖。 X→Y,但Y?X 则称X→Y是平凡的函数依赖。 理解为:整体一致,部分一致,没有特殊意义(过于“平凡”)。 6.2.1 函数依赖 若X→Y,则X叫做决定因素(Determinant)。 若X→Y,Y→X,则记作X←→Y。 在这种情况下,X和Y在R(U)中地位相同。 若Y不

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档