- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 关系数据理论-new
第六章 关系数据理论 问题的提出 规范化 数据依赖的公理系统 关系模式的分解 本章主要内容 本章讨论的核心问题 如何判断一个关系模式是否存在问题 如何构造一个好的数据库模式 6.1问题的提出 一个关系模式应当是一个五元组。 R(U,D,DOM,F) 这里: (1)关系名R,它是符号化的元组语义; (2)一组属性U; (3)属性组U中属性所来自的域D; (4)属性到域的映射DOM; (5)属性组U上的一组数据依赖F。 由于(3),(4)对模式设计关系不大,因此在本章中把关系模式看作是一个三元组: RU,F 6.1问题的提出 数据依赖是一个关系内部属性与属性之间的一种约束关系。这种约束关系是通过属性间值的相等与否体现出来的数据间相关联系。它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。 6.1问题的提出 某一时刻关系模式Student的一个实例,即数据表。 S1 CS 李洪 C1 90 S2 CS 李洪 C1 90 S3 CS 李洪 C1 90 S4 CS 李洪 C1 90 S5 MA 张力 C1 90 S5 MA 张力 C1 90 存在的问题 冗余太大:每一个系的系主任姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同,这将浪费大量存储空间。 删除异常: 删除某系学生的选课将删除系信息 插入异常: 系刚成立, 无学生,就无法把这个系及其系主任的信息存入数据库。 更新异常:某系更换系主任后,必须修改与该系学生有关的每一个元组。 6.1问题的提出 结论: 关系模式Student(Sno, Sdept, Mname, Cno, Grade)不是好的关系模式, 好的关系模式不会发生插入异常、删除异常并且冗余尽可能少。 为什么会发生这些问题? 这是因为这个模式中的函数依赖存在某些不好的性质。 假如把这个单一的模式改造一下,分成3个关系模式: S(Sno,Sdept,Sno→Sdept) SC(Sno,Cno,Grade,(Sno,Cno)→Grade) DEPT(Sdept,Mname,Sdept→Mname) 这3个模式都不会发生插入异常、删除异常的毛病,数据的冗余也得到 了控制。 一个模式的数据依赖会有哪些不好的性质,如何改造一个不好的模式,这就是下一节规范化理论讨论的内容。 6.2规范化 根据属性间依赖情况来判定关系是否具有某些不合适的性质。通常按属性间依赖情况来区分关系规范化的程度分为第一范式、第二范式、第三范式和第四范式等。 6.2 规范化 定义6.1 函数依赖: 设RU是属性集U上的关系模式, X, Y是U的子集, 若对于RU的任意一个可能的关系r, r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于X”, 记作X?Y。 函数依赖和别的数据依赖一样是语义范畴的概念。 函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。 6.2 规范化 一些记号和术语: 若X?Y, 但Y X则称X→Y是非平凡的函数依赖。 若X?Y, 但Y X则称X→Y是平凡的函数依赖。对于任一关系模式,平凡函数依赖都是必然成立的,它不反应新的语义。若不特别声明,总是讨论非平凡的函数依赖。 若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素。 若X→Y,Y→X,则记作X←→Y。 若Y不函数依赖于X,则记作X Y 6.2 规范化 定义6.2 完全函数依赖: 在RU中, 如果X?Y, 并且对于 X 的任何真子集X’ , 都有X’ Y, 则称Y对X完全函数依赖, 记作X Y 部分函数依赖: 如果X?Y, 但Y不完全函数依赖于 X, 则称Y对X部分函数依赖, 记作X Y 定义6.3 函数传递依赖: 在RU中, 如果 X?Y, (Y X), Y X, Y?Z, 则称Z对X传递函数依赖。 记为X→Z。 6.2 规范化 6.2.2码 定义6.4 候选码: 设K为RU,F中的属性或属性组, 若K U, 则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。 包含在任何一个候选码中的属性,称为主属性。 不包含在任何码中的属性称为非主属性或非码属性。最简单的情况,单个属性是码。最极端的情况,整个属性组是码,称为全码。 定
文档评论(0)