第4章 关系数据库设计理论 《数据库原理及应用》之.ppt

第4章 关系数据库设计理论 《数据库原理及应用》之.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 关系数据库设计理论 本章要点 关系数据库设计理论主要包括数据依赖、范式及规范化方法这三部分内容。关系模式中数据依赖问题的存在,可能会导致库中数据冗余、插入异常、删除异常、修改复杂等问题,规范化模式设计方法使用范式这一概念来定义关系模式所符合的不同级别的要求。较低级别范式的关系模式,经模式分解可转换为若干符合较高级别范式要求的关系模式。本章的重点是函数依赖相关概念及基于函数依赖的范式及其判定。 本章逻辑结构 4.1 问题的提出 4.1.1 规范化理论概述 4.1.2 不合理的关系模式存在的问题 4.2 规范化 4.2.1 函数依赖 4.2.2 码 4.2.3 范式 4.2.4 第一范式 4.2.5 第二范式 4.2.6 第三范式 本章逻辑结构 4.2.7 BC范式 4.2.8 多值依赖与4NF 4.2.9 规范化小结 4.3 数据依赖的公理系统* 4.4 小结 习题 4.1 问题的提出 如何使用关系模型设计关系数据库?也就是面对一个现实问题,如何选择一个比较好的关系模式的集合?其中每个关系模式又由哪些属性组成?这就是数据库逻辑设计主要关心的问题 4.1.1 规范化理论概述 关系数据库设计理论主要包括三个方面的内容:函数依赖、范式(Normal Form)和模式设计。其中函数依赖起着核心作用,是模式分解和模式设计的基础,范式是模式分解的标准。 4.1.2 不合理的关系模式存在的问题 4.1.2 不合理的关系模式存在的问题 (3) 一个学生可以选修多门功课,每门课程可被若干个学生选修; (4) 每个学生学习每门课程有一个成绩。 根据上述语义规定并分析以上关系中的数据,我们可以看出,(SNO,CNO)属性的组合能唯一标识一个元组(每行中SNO与CNO的组合均是不同的),所以(SNO,CNO)是该关系模式的主关系键(即主键,又名主码等)。但在进行数据库的操作时,会出现以下几方面的问题。 (1) 数据冗余 (2) 插入异常 (3) 删除异常 (4) 修改异常 因此,把不好的关系数据库模式转变为较好的关系数据库模式,即关系的规范化 4.2 规范化 本节将讨论下述内容:首先讨论一个关系属性间不同的依赖情况,讨论如何根据属性间的依赖情况来判定关系是否具有某些不合适的性质。通常按属性间依赖情况来区分关系规范化的程度为第一范式、第二范式、第三范式、BC范式和第四范式等。然后直观地描述如何将具有不合适性质的关系转换为更合适的形式。 4.2.1 函数依赖 ⒈ 函数依赖 定义4.1 设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y 是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体的值与之对应,则称X函数决定Y,或Y函数依赖于X,记X→Y。我们称X为决定因素,Y为依赖因素。当Y不函数依赖于X时,记作:X Y。当X→Y且Y→X时, 则记作:X Y。 函数依赖有几点需要说明: (1)平凡的函数依赖与非平凡的函数依赖 当属性集Y是属性集X的子集时,则必然存在着函数依赖X→Y,这种类型的函数依赖称为平凡的函数依赖。如果Y不是X子集,则称X→Y为非平凡的函数依赖。若不特别声明,我们讨论的都是非平凡的函数依赖。 4.2.1 函数依赖 ? (2)函数依赖与属性间的联系类型有关 ① 在一个关系模式中,如果属性X与Y有1:1联系时,则存在函数依赖X→Y,Y→X,即XY。例如,当学生没有重名时,SNOSN。 ② 如果属性X与Y有m:1的联系时,则只存在函数依赖X→Y。例如,SNO与AGE,DEPT之间均为m:1联系,所以有SNO→AGE ,SNO→DEPT。 ③ 如果属性X与Y有m:n的联系时,则X与Y之间不存在任何函数依赖关系。例如,一个学生可以选修多门课程,一门课程又可以为多个学生选修,所以SNO与CNO之间不存在函数依赖关系。 4.2.1 函数依赖 (3)函数依赖的语义范畴的概念 我们只能根据语义来确定一个函数依赖,而不能按照其形式化定义来证明一个函数依赖是否成立。 (4)函数依赖关系的存在与时间无关 (5)函数依赖可以保证关系分解的无损连接性 ⒉ 函数依赖的基本性质 (1) 投影性 根据平凡的函数依赖的定义可知,一组属性函数决定它的所以子集。例如,在关系SDC中,(SNO,CNO)→SNO和(SNO,CNO)→CNO。 说明:投影性产生的是平凡的函数依赖,需要时也能使用的。 4.2.1 函数依赖

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档