第7章节 关系规范化理论.ppt

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

数据库系统原理及应用 第7章 关系规范化理论 韶关学院计算机科学系 longtf@.sgu.edu.cn 教学目的: 1)了解规范化的定义 2)掌握1NF 、2NF 、3NF和BCNF的定义. 3)掌握模式分解算法以及关系规范化方法。 重点与难点: 1) 1NF 、2NF 、3NF和BCNF式的实现方法。 2 )模式分解算法。 一.关系规范化的必要性 不规范的关系模式会带来什么问题?具体例子。 教学管理关系模式设计: 方案一: 学生(学号,姓名,性别,年龄,系名) 系别(系名,系主任) 选课(学号,课程名,成绩) 方案二: 教学(学号,姓名,性别,年龄,系名,系主任,课程名,成绩) 比较这两个方案,那个好?表面分析,深入分析? 不规范关系模式可能出现的问题 数据冗余大、插入异常、删除异常、更新异常? 上述的关系模式存在的问题: ⒈ 数据冗余太大 浪费大量的存储空间 例:每一个系主任的姓名重复出现 ⒉ 更新异常(Update Anomalies) 数据冗余 ,更新数据时,维护数据完整性代价大。 例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组(工作量大),否则产生数据不一致性。 ⒊ 插入异常(Insertion Anomalies) 该插的数据插不进去, 如:没有选课的学生信息不能存入,因为(学号,课程名)是主码,主码不能空(NOT NULL约束 ?实体完整性约束)。 又例如:如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。 ⒋ 删除异常(Deletion Anomalies) 不该删除的数据不得不删 例,如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。 结论: 上述教学关系模式不是一个好的模式。 “好”的模式: 应该不会发生插入异常、删除异常、更新异常,并且 数据冗余应尽可能少(思考:在关系数据库中能否完全消除数据冗余?为什么?)。 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过关系模式分解来消除其中不合适 的数据依赖。?关系规范化理论。 数据依赖种类及定义: 1、函数依赖 2、平凡函数依赖与非平凡函数依赖 3、完全函数依赖与部分函数依赖 4、传递函数依赖 函数依赖说明: 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。 (关系模式R对应的当前值r是元组的集合,r称为关系或关系实例。r通过增删等操作在不断的变化,而关系模式R是相对稳定的。) 2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立 3. 数据库设计者可以对现实世界作强制的规定,所插入的元组必须满足规定的函数依赖。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。若发现有同名人存在, 则拒绝装入该元组。 平凡函数依赖与非平凡函数依赖 在关系模式R(U)中,对于U的子集X和Y, 如果X→Y,但Y ? X,则称X→Y是非平凡的函数依赖 若X→Y,但Y ? X, 则称X→Y是平凡的函数依赖 例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno (Sno, Cno) → Cno 平凡函数依赖与非平凡函数依赖(续) 于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明, 我们总是讨论非平凡函数依赖。 完全函数依赖与部分函数依赖 定义2 在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有 X’ Y, 则称Y完全函数依赖于X,记作X f Y。 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X P Y。 完全函数依赖与部分函数依赖(续) 例: 在关系SC(Sno, Cno, Grade)中, 由于:Sno →Grade,Cno → Grade, 因此:(Sno, Cno) f Grade 传递函数依赖 定义3 在关系模式R(U)中,如果X→Y,Y→Z,且Y ?X,Y→X,则称Z传递函数依赖于X。 注: 如果Y→X, 即X←→Y,则Z直接依赖于X。 例: 在关系Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname Mname传递函

文档评论(0)

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

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

1亿VIP精品文档

相关文档