第3章关系数据库的规范化理论答题.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 关系数据库的规范化理论 * 3.1 关系模式的冗余和异常问题 3.2 函数依赖 3.3 范式和规范化方法 第3章 关系数据库的规范化理论 本章讨论的问题: 在RDB中,如果给出一组数据,那么,应该对这些数据构造几个关系?每个关系又由哪些属性组成? 即“数据库的逻辑设计问题”。 解决此问题的工具:RDB的规范化理论。 3.1 关系模式的冗余和异常问题 数据冗余是指同一个数据在系统中多次重复出现。在数据管理中,数据冗余一直是影响系统性能的大问题。在文件系统中,由于文件之间没有联系,有时一个数据在多个文件中出现。数据库系统克服了文件系统的这种缺陷,但是如果关系模式设计得不好,仍然会象文件系统一样出现数据的冗余、异常等问题。 假设在学生学籍管理数据库系统中有一个关系模式S(Xh,Xm,Xb,Nl,Csrq,…),其属性分别表示学号、姓名、性别、年龄、出生日期。用此关系模式建立一个简单的关系数据库,其中的“年龄”与“出生日期”是重复字段,将导致数据库的冗余。 例,若要建立一个“关系”描述学生情况,包含S#(学号)、SD(系名)、MN(负责人)、CN(课程名)、G(成绩)等5个属性。即,属性组U={S#,SD,MN,CN,G} 由现实世界的已知事实可推导出: (1)一个系有若干学生,但一个学生只属于一个系,描述为:S#→SD (N:1) (2)一个系只有一名负责人,描述为:SD→MN或MN→SD (1:1) (3)一个学生可选多门课,每门课程有若干学生选修,描述为:S#→CN且CN→S# (M:N) (4)每个学生选一门课有一个成绩,描述为:(S#,CN)→G (N:1) 由以上(1)-(4)得到属性U上的一组函数依赖(属性之间的联系): F={S#→SD, SD→MN, (S#,CN)→G} 从这个数据库中关系模式的逻辑结构设计存在以下问题: (1)冗余度大:在这个数据库中,每个系、每个负责人与每个学生选修的每门课程出现的次数一致,这就造成了数据的极大冗余,并需付出很大的代价来维护DB的完整性。 (2)插入异常:如果一个系刚成立,尚无学生,由于S#→SD, SD→MN,因此,无法将这个系及其负责人信息存入DB。 (3)删除异常:反过来,若某系的学生全部毕业,在删除该系学生选修课程的信息的同时,会将这个系及其负责人信息一并删除。 从这个例子可以看出,对于同一个问题,构造的数据模式方案不同,则效果有“好” “坏”之分。好的构造方案既具有合理的冗余度又能做到无异常现象出现。因此,在关系数据库设计中,关系模式的设计应予以充分重视。 是什么原因导致大量冗余与异常现象的发生呢?这个问题要从语义上着手分析。数据库中属性之间是相互关联的,它们互相依赖、互相制约,构成结构严密的整体。因此,构造关系模式时,必须从语义上摸清这些关联,将互相密切依赖的属性构成单独的模式,将依赖关系不紧密的属性尽量分开,在此基础上再按照规范化理论对其进行逐步规范。 在数据依赖中,函数依赖是最基本、最重要的一种依赖。关系数据库设计规范化理论中第二范式以及第三范式都是建立在函数依赖的基础上。 数据库中,属性值之间会发生联系。譬如每一个学号对应一个姓名。这类联系,称为函数依赖。函数依赖这个概念属语义范畴,只能根据语义确定属性间是否存在这种依赖。 3.2 函数依赖(Functional Dependency,FD) 定义1 设有属性集U上的关系模式R(U),X,Y是U的子集,若对于R(U)的任意一个关系r中不可能存在两个元组“在X上的属性值相等,而在Y上的属性值不等”,则称Y函数依赖于X,或X函数决定Y,记作 X→Y。 在前一节的例子中,S#→SD,表示S#和SD之间有一种依赖关系,即一旦S#的值确定,则SD的值也惟一确定了,这时可以称S#函数决定SD,或称SD函数依赖于S# 。 补充概念: (1)若X→Y,且Y X,则称X→Y是“非平凡的函数依赖”。若不特别声明,本章涉及的均为非平凡的函数依赖。 - 其中X叫做决定因素(Determinant)。 (2)若X→Y,且Y→X,则记作X Y。 (3)若Y不函数依赖于X,则记作X Y。 一般规律, ①若X与Y之间是1:1的联系,则X→Y,Y→X; ②若X与Y之间是N:1的联系,则X→Y(反之不成立); ③若X与Y之间是M:N的联系,则X与Y之间不存在任何函数依赖关系。 定义2 若R(U)中,已知X→Y,并且对于任何X的真子集X’都有X’ Y,则称Y完全函数依赖于X,记作:X f Y(ful

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档