- 1、本文档共152页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Database System 数据库系统原理 Principles of Database System 第六章 关系数据理论 第六章 关系数据理论 ? 主要内容 介绍关系数据库规范化理论,这是数据库逻辑设计的理论依据。 本章要解决的主要问题 如何评价关系模式的优劣? 怎样将关系模式分解为一组较理想的关系模式? 第六章 关系数据理论 ? 重点与难点 了解规范化理论的研究动机及其在数据库设计中的作用 掌握函数依赖的有关概念,第一范式、第二范式、第三范式、BC范式的定义 重点掌握并能够灵活运用关系模式规范化的方法和关系模式分解的方法,这也是本章的难点 第六章 关系数据理论 6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统* 6.4 模式的分解* 6.5 小结 6.1 问题的提出 关系数据库逻辑设计 针对一个具体问题,如何构造一个适合于它的数据库模式 数据库逻辑设计的工具 关系数据库的规范化理论 关系数据库设计理论主要包括三方面的内容:数据依赖,范式,模式设计方法。数据依赖在此起着核心作用。 6.1 问题的提出 一、概念回顾 二、关系模式的形式化定义 三、什么是数据依赖 四、关系模式的简化定义 五、数据依赖对关系模式影响 一、概念回顾 关系:描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。 关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。 关系数据库的模式:定义这组关系的关系模式的全体。 二、关系模式的形式化定义 关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F) R: 关系名,是符号化的元组语义 U: 组成该关系的属性名集合 D: 属性组U中属性所取值的域 DOM:属性到域的映射集合 F: 属性间数据的依赖关系集合 二、关系模式的形式化定义 关系数据库模式 一个关系数据库由多个关系构成,一个关系数据库对应多个不同的关系模式 三、什么是数据依赖 1、完整性约束的表现形式 限定属性取值范围:如学生的学号取唯一值、成绩必须在0~100之间、性别是男或女等。 定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它是数据库模式设计的关键 三、什么是数据依赖 2、数据依赖 是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系 是现实世界属性间相互联系的抽象 是数据内在的性质 是语义的体现 三、什么是数据依赖 3、数据依赖的类型 函数依赖(Functional Dependency,简记为FD) 多值依赖(Multivalued Dependency,简记为MVD) 四、关系模式的简化表示 关系模式R(U, D, DOM, F),简化为一个三元组: R(U, F) 当且仅当U上的一个关系r 满足F 时,r称为关系模式 R(U, F)的一个关系 R ? 关系的型 r ? 关系的值,每一个值称为R的一个关系 五、数据依赖对关系模式的影响 关系模式的评价:什么样的关系模式是一个“好”的关系模式? 1、关系数据库设计的核心:关系模式设计 2、关系模式的设计:按照一定的原则从数量众多而又相互关联的数据中,构造出一组既能较好地反映现实世界,而又有良好的操作性能的关系模式。 3、关系模式优劣:如何评价,如何改进? 五、数据依赖对关系模式的影响 例1:设计教学管理关系数据库模型 五、数据依赖对关系模式的影响 解法一:SCT(sno,cno,tno,sname,grade,cname,tname) 五、数据依赖对关系模式的影响 解法一的问题分析 数据冗余度高: 更新异常(Update Anomalies): 插入异常(Insert Anomalies): 删除异常(Delete Anomalies): 产生问题的原因:属性间约束关系(即数据间的依赖关系)太强。 五、数据依赖对关系模式的影响 解法二: Students(Sno, sname) Courses (Cno, Tno, cname) Teachers(Tno, Cno, tname) Enrolls(Sno, Cno, grade) 五、数据依赖对关系模式的影响 五、数据依赖对关系模式的影响 例2:描述学校数据库,对象有: 学生:用学号Sno描述; 所在系:用系名Sdept描述; 系负责人:用系主任姓名Mname描述; 课程:用Cno描述; 成绩:用Grade描述。 单一的关系模式:StudentU, F U ={ Sno, Sdept, Mname, Cno, Grade } 五、数据依赖对关系模式的影响 学校数据库的语义:
文档评论(0)