网站大量收购独家精品文档,联系QQ:2885784924

第7章关系数据库规范化理论报告.ppt

  1. 1、本文档共116页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章关系数据库规范化理论报告

第7章 关系数据库规范化理论 7.1 关系规范化的作用 7.2 函数依赖 7.3 关系模式的规范化 7.4 多值依赖和第四范式 7.5 关系的规范化程度 7.6 函数依赖公理与模式分解 7.7 小结 7.1 关系规范化的作用 所谓规范化,就是用形式更为简洁、 结构更加规范的关系模式取代原有关系的过程。 例1 有三个属性的工资表(姓名,级别,工资)关系模式。 对应此模式建立的表如表 7 -1 所示工资表 7.1.1 存在的问题 1. 数据冗余度大 表 7 -1 中,工资是从级别推导出的,但却重复存放。 数据在数据库中的重复存放称为数据冗余。 冗余度大,不仅浪费存储空间,重要的是在对数据进行修改时,又易造成数据的不一致性。 如10级的工资变化时,如果表中有K个职工的工资为10级,就需要修改K次,一旦遗漏就使数据不一致。 2. 插入与删除异常 无法插入某部分信息或删除掉不应删除的信息称为插入或删除异常。 例如,9级工资为6600元的信息无法插入表。 因为该表的码是姓名,而目前无职工工资级别为9级,表中不能插入码为空值的记录。 即在插入一行时,此关系模式强迫同时增加关于两个实体的数据。 又如,要删除陈头记录时,又将7级工资的信息一起删去了。 即在删除一行时,删除了关于两个实体的数据。 7.1.2 解决方法 上述现象的产生,是由于关系模式不合理。 如果一个关系中,存储了两个或两个以上实体的数据,一般应将它分解为多个关系,使每个关系只有一个实体。 将表 7 -1 分解为两个模式表达: 职工级别(姓名,级别),级别工资(级别,工资),如表 7 -2、 表 7 -3 所示。 改进后,有如下好处: (1) 数据量减少 设有n个职工,m个工资级别,则表 7 -1 有3n个数据,表 7 -2和表 7 -3 共有2n+2m个数据,显然后者的数据量要少。 (2) 表达能力强 表 7 -1 中无法进入的信息(如9级工资),而在采用改进后的两个模式表达时则可加入;当删除职工犀利哥时,也不会丢失7级工资信息。 (3) 修改方便 改进后,修改某一级别工资时只要修改一处。 改进后的关系模式存在另外一个问题,当查询某个职工的工资时,需要将两个关系连接后进行查询,而关系的连接代价是很大的。 什么样的关系模式需要分解? 分解关系模式的理论依据又是什么? 分解后能完全消除上述三种问题吗? 回答这些问题需要理论的指导。 下面将加以讨论。 7.2 函数依赖 7.2.1 属性间的关系 前面章节讲到客观世界的事务间有着错综复杂的联系。 实体联系:实体与实体之间的联系; 实体内部各属性间的联系。 在数据库建模(E-R)中主要讨论了前一类联系,现在讨论第二类联系。 属性间的联系可分为以下三类: 1. 一对一关系(1∶1) 以职工模式为例: 职工(职工号,姓名,职称,部门),如果该企业(或单位)中职工无重名,则属性职工号与姓名之间是1∶1关系。 一个职工号唯一地决定一个姓名,一个姓名也可决定唯一的职工号。 设X、Y是关系R的两个属性(集)。 如果对于X中的任一具体值,Y中至多有一个值与之对应,且反之亦然,则称X、 Y两属性间是一对一关系。 2. 一对多关系(1∶m) 职工模式中,职工号和职称间是一对多关系。一个职工号只对应一种职称(如胡一民只能对应工程师),但一种职称却可对应多个职工号(如工程师可对应多名职工)。 设X、Y是关系R的两个属性(集)。如果对于X中的任一具体值,Y中至多有一个值与之对应,而Y中的一个值却可以和X中的n个值(n≥0)相对应,则称Y对X是一对多关系。 3. 多对多关系(m∶m) 在职工模式中,职称和部门之间是多对多关系。 一种

文档评论(0)

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

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

1亿VIP精品文档

相关文档