- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主要内容 回顾:关系模型的形式化定义 问题:针对一个具体问题,应该如何构造一个适合于它的数据模式,即应该构造几个关系模式,每个关系由哪些属性组成等。 对数据依赖的描述 (1) 由于“U中属性所来自的域D”和“属性到域的映射dom”对模式设计关系不大,因此我们这里将关系模式看作一个三元组: RU,F。 当且仅当U上的一个关系r满足F时,r称为关系模式RU,F的一个关系。 (2) 对关系的基本要求:每一个分量必须是不可分的数据项。满足了这个条件的关系模式就属于第一范式(1NF)。 (3) 题目:在模式设计中,假设已知一个模式S?,它仅由单个关系模式组成,问题是要设计一个模式SD,它与S?“等价”,但在某些指定的方面“更好”一些。 对数据依赖的描述 函数依赖 (1) X?Y,但Y?X且Y?X,则称X?Y是非平凡的函数依赖 (2) X?Y,但Y?X,则称X?Y是平凡的函数依赖 (3) 若X?Y,Y?X,则记作X??Y (4) 若Y不依赖于X,则记作X \? Y 码 范式 关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。满足最低要求的叫第一范式(简称1NF),在第一范式中满足进一步要求的为第二范式,其余以此类推 所谓“第几范式”,是指符合某一级别的关系模式的集合,R为第几范式就可以写成R?xNF 各种范式之间的联系:5NF?4NF?BCNF?3NF?2NF?1NF 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化 2NF [反例] 关系模式S_L_C(SNO, SDEPT, SLOC, CNO, G) 其中,SLOC为学生的住处,且每个系的学生住在同一个地方 函数依赖有: (SNO, CNO) F?G SNO ? SDEPT, (SNO, CNO) P?SDEPT SNO ? SLOC, (SNO, CNO) P?SLOC SDEPT ? SLOC 2NF 2NF 解决办法:用投影分解 问题在于非主属性有两种,一种如G,它对码是完全函数依赖;另一种如SDEPT、SLOC,对码是部分函数依赖。 解决办法是用投影分解把关系模式S_L_C分解为两个关系模式:SC(SNO, CNO, G)和S_L(SNO, SDEPT, SLOC),使得非主属性对码都是完全函数依赖。 3NF BCNF BCNF 多值依赖 [例1]学校中某一门课程由多个教员讲授,他们使用一套相同的参考书。每个教员可以讲授多门课程,每种参考书可以供多门课程使用。 多值依赖 多值依赖 多值依赖 多值依赖与函数依赖相比,有下面两个基本的区别: (1)多值依赖的有效性与属性集的范围有关 若X??Y在U上成立,则在W (XY?W?U)上一定成立。反之则不然,即X??Y在W (W?U)上成立,在U上不一定成立。这是因为多值依赖的定义中不仅涉及属性组X和Y,而且涉及U中其余属性Z。 但在关系模式R(U)中函数依赖X?Y的有效性仅决定于X、Y这两个属性集的值。只要在R(U)的任何一个关系r中,函数依赖X?Y成立,则X?Y在任何属性集W(XY?W?U)上也成立。 (2)若函数依赖X?Y在R(U)上成立,则对于任何Y’?Y均有X?Y’成立。而多值依赖X??Y若在R(U)上成立,却不能断言对于任何Y’?Y有X??Y’成立 4NF 规范化小结 (1) 规范化的目的:在关系数据库中,对关系模式的基本要求是1NF。但人们发现有些关系模式存在插入异常、删除异常、修改复杂、数据冗余等毛病。规范化就是寻求解决这些问题的方法。 (2) 规范化的基本思想:逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”。让一个关系描述一个概念、一个实体或者实体间的一种联系。若多余一个概念就把它们“分离”出去。 (3) 规范化理论为数据库设计提供了理论的指南和工具。我们必须结合应用的具体环境和现实世界的具体情况合理地选择数据库模式。 规范化小结 (4) 关系模式的规范化过程是通过对关系模式的分解来完成的。把低一级的关系模式分解为若干个高一级的关系模式。 习题 建立一个关于系、学生、班级、学会等诸信息的关系数据库。 描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系名、系号、系办公室地点、人数。 描述学会的属性有:学会名、成立年份、地点、人数。 有关语义如下:一个系有若干专业,每个专业只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的函数依赖集。 指出各关系的候选码、外部码。 习题 (1)由语义可以得到如下的函数依赖 专业名?系号 (专业
文档评论(0)