第4章节关系数据库(RDB)规范化设计理论.ppt

第4章节关系数据库(RDB)规范化设计理论.ppt

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

第4章 关系数据库(RDB)规范化理论 4.1 关系模式规范化的必要性 4.2 数值依赖 4.3 范式与规范化 、关系分解原则 RDB规范化理论的目的是要设计“好的”RDB模式。 要设计好的关系模式,必须是关系满足一定的约束条件,此约束形成了规范。 范式(Normal Form):衡量DB规范的层次或深度,DB规范化层次由范式来决定。简记作NF. 根据关系模式满足的不同性质和规范化的程度,将关系模式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范化程度越高。 规范化:低级关系模式通过模式分解转换为若干高级范式的关系模式集合的过程。 规范化是在RDB中减少数据冗余的过程。 4.1 关系模式规范化的必要性 1. 关系模式应满足的条件 2. 关系规范化可能出现的问题 3. 模式分解是关系规范化的主要方法 1.关系模式应满足的条件 ⑴ 元组每个分量必是不可再分的数据项 RDB特别强调,关系中的属性不能是组合属性,必须是基本项。否则,会使关系结构变为多层次的混合结构,增加关系操作的表达、优化即执行的复杂度。如: 教师( 姓名,工资,所授课程名,课程号); ⑵ DB中的数据冗余应尽量少 “数据冗余”会使: DB中的数据量巨增,系统负担过重,并浪费大量存储空间; 造成数据的不完整,增加数据维护的代价。 造成数据查询和统计困难,导致错误结果。 ⑶ RDB不能因为数据更新操作而引起数据不一致性即更新异常 对于“数据冗余大”的RDB,当执行数据修改时,系统要付出很大代价来维护数据库的完整性。否则会面临数据不一致的危险。影响了数据的完整性,使得DB中数据的可信度降低。如:某教师从78号宿舍搬到76号,修改量较大. ⑷当执行数据插入时,DB中的数据不能产生插入异常现象 所谓“插入异常”是指希望插入的信息由于不能满足数据完整性的某种要求而不能正常地被插入到DB中的异常问题。 比如:上例中插入一个尚未安排授课的新进教师信息. 原因: 因多种信息混合放在一个表中,可能造成因一种信息被捆绑在其他信息上而产生的信息之间相互依附存储的问题,使得信息不能独立插入。 ⑸ DB中数据不能在执行删除操作时产生“删除异常”问题 “删除异常”是指在删除某种信息的同时把其它信息也删除了。 比如: 上例取消T3教师的教学任务,要删除其授课元组,则在删除其授课信息的同时将其地址和姓名信息一并删除掉了. “删除异常”是DB结构不合理产生的问题。若关系中多种信息捆绑在一起,当被删除信息中含有关系的主关键字时,因关系要满足实体完整性,整个元组将全部从DB中被删除,即出现“删除异常”。 为解决这几个问题可将关系模式 教师 分解为两个模式R,S。这样数据冗余度变小,不存在插入、更新和删除异常情况了。 ⑹ DB设计应考虑查询要求,数据组织应合理 在DB设计时,不仅要考虑到数据自身的结构完整性,还要考虑到数据的使用要求。 为使数据查询和数据处理高效简洁,特别是对查询实时性要求高、操作频度大的数据,有必要通过视图、索引和适量增加数据冗余的方法,增加DB的方便性和可用性。 2. 关系规范化可能出现的问题 如果一个关系没有经过规范化,可能会出现数据冗余大、数据更新造成不一致、数据插入异常和删除异常。 例6:学生关系存在的问题:数据冗余(系主任名)、更新异常(换系主任)、插入异常(系没有招生系主任名不能插入)、删除异常(学生毕业)。 3. 模式分解是关系规范化的主要方法 对于有问题的关系模式,可通过模式分解的方法使之规范化。 原学生关系(学号,姓名,所在系,系主任姓名,课程名,成绩)可分解为以下三个关系: 学生(学号,姓名,所在系) 系(所在系,系主任姓名) 考试(学号,课程名,成绩) 新关系克服了学生关系存在的问题,更加合理和实用。 4.2 数据依赖 1. 函数依赖 2. 平凡函数依赖与非平凡函数依赖 3. 完全函数依赖与部分函数依赖 4. 传递函数依赖 在DB中,数据属性之间存在着密切的联系。在DB技术中,把数据之间存在的联系称为“数据依赖”。 DB中出现的数据异常现象与数据依赖有着紧密的关联。在数据依赖中,函数依赖是最基本的一种依赖形式。 认识和掌握函数依赖知识,对于DB的约束设计和规范化设计具有重要意义。 1. 函数依赖 假设R(A1,A2,…,An)是一个关系模式,X和Y是{A1,A2,…,An}的子集,对于关系R中的任意一个X的值,都只有一个Y值与之对应,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。 例如:学生(学号,姓名,所在系,课

文档评论(0)

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

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

1亿VIP精品文档

相关文档