- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch4关系数据理论.ppt
Copyright: Silberschatz, Korth and Sudarshan 数据库系统原理 第四章 关系数据理论 教师: 毕远伟 BiYuanwei@ 为什么要研究规范化理论? 应该如何构造一个适合于某个具体问题的数据模式, 几个关系模式? 每个关系又由哪些属性组成? 这是数据库逻辑设计问题,数据库逻辑设计的一个有力工具——关系数据库的规范化理论。 本章要点 函数依赖 多值依赖 范式 规范化 4.1 数据依赖 关系模型的形式化定义。 一个关系模式应当是一个五元组。 R(U, D, DOM, F) 关系名R,它是符号化的元组语义; 一组属性U; 属性组U中属性所来自的域D; 属性到域的映射DOM; 属性组U上的一组数据依赖F。 由于D和DOM对模式设计关系不大,因此我们在本章中把关系模式看作是一个三元组: R〈U,F〉 4.1 数据依赖 当且仅当U上的一个关系r满足F时,r称为关系模式R〈U,F〉的一个关系。 关系,作为一张二维表,我们对它有一个最起码的要求:每一个分量必须是不可分的数据项。满足了这个条件的关系模式就属于第一范式(1NF)。 4.1 数据依赖 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。 现在人们已经提出了许多种类型的数据依赖,其中最重要的是 函数依赖(Functional Dependency简记为FD) 多值依赖(Multivalued Dependency简记为MVD)。 4.1 数据依赖 完整性约束Integrity constraint 关系自身 属性自身 主码:不重复、不为空(实体完整性) 域约束 CHECK 属性间 数据依赖 关系间 主外码(参照完整性) 断言(Assertion)、触发器(Trigger) 4.1 数据依赖 函数依赖 描述一个学生的关系,可以有学号(SNO),姓名(SNAME),系名(SDEPT)等几个属性。 由于一个学号只对应一个学生,一个学生只在一个系学习。因而当“学号”值确定之后,姓名和该生所在系的值也就被唯一地确定了。就象自变量x确定之后,相应的函数值f(x)也就唯一地确定了一样, 我们说SNO函数决定SNAME和SDEPT, 或者说SNAME,SDEPT函数依赖于SNO, 记为∶SNO→SNAME, SNO→SDEPT。 4.1 数据依赖 4.2 问题的提出 建立一个数据库来描述学生的一些倩况 : 学生(用学号SNO描述), 系(用系名SDEPT描述), 系负责人(用其姓名MN描述), 课程(用课程名CNAME描述) 成绩(G)。 现实世界的已知事实告诉我们∶ 1.一个系有若干学生,但一个学生只属于一个系; 2.一个系只有一名(正职)负责人; 3.一个学生可以选修多门课程,每门课程有若干学生选修; 4.每个学生学习每一门课程有一个成绩; 4.2 问题的提出 如果只考虑函数依赖这一种数据依赖, 描述学校的数据库模式S〈U,F〉,它由一个单一的关系模式构成: U = { SNO,SDEPT,MN,CNAME,G } F = { SNO→SDEPT, SDEPT→MN, (SNO,CNAME)→G } 4.2 问题的提出 这个模式有下述三个“毛病”: 1.插入异常 2.删除异常 3.冗余太大 4.2 问题的提出 为什么会发生插入异常和删除异常呢 ? 这是因为这个模式中的函数依赖存在某些不好的性质。 单一的模式改造一下,分成三个关系模式: S〈SNO,SDEPT, SNO→SDEPT〉; SG〈SNO,CNAME,G, (SNO,CNAME)→G〉; DEPT〈SDEPT,MN, SDEPT→MN〉; 这三个模式都不会发生插入异常、删除异常的毛病,数据的冗佘也得到了控制。 数据模型的联系 4.2 问题的提出 ER图设计是一个复杂的、主观的过程,而且有些约束不能用ER图表示出来,所以ER设计所产生的模式通常是冗余的。 一个模式的函数依赖会有哪些不好的性质? 如何改造一个不好的模式 ? 4.3 函数依赖 定义4.1 设R(U)是属性集U上的关系模式。 X,Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等, 则称X函数确定Y或Y函数依赖于X,记作X→Y。 4.3 函数依赖 X→Y,但Y X则称X→Y是非平凡的函数依赖。若不特别声明,我们总是讨论非平凡的函数依赖。 X→Y,但Y X 则称X→Y是平凡的函数依赖。 若X→Y,则X叫做决定因素(Determinant)。 若X→Y,Y→X,则
文档评论(0)