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

第4篇 关系数据库设计理论.ppt

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章内容 4.1 问题的提出 4.2 规范化 4.3 数据依赖的公理系统* 4.4 小结 习 题 4.1 问题的提出 如何设计一个合适的关系数据库系统呢? 4.1.1 规范化理论概述 关系数据库设计理论主要包括三个方面的内容:函数依赖、范式(Normal Form)和模式设计。其中函数依赖起着核心作用,是模式分解和模式设计的基础,范式是模式分解的标准。 BACK 4.1.2 不合理的关系模式存在的问题 [例1] 要求设计学生-课程数据库,其关系模式SDC如下: SDC(SNO,SN,AGE,DEPT,MN,CNO,SCORE) 其中:SNO 表示学生学号 SN 表示学生姓名 AGE 表示学生年龄 DEPT 表示学生所在的系别 MN 表示系主任名 CNO 表示课程号 SCORE 表示成绩。 在进行数据库的操作时,会出现以下几方面的问题。 (1) 数据冗余。 系名, 学生姓名、年龄等等都要重复存储多次 (2) 插入异常。 (SNO,CNO)是主键。缺少一个都无法插入数据另外,若学生未选课,同样也不能进行插入操作。 (3) 删除异常。 删去学生数据,导致课程及教师信息丢失。如果某个学生不再选修某课程,有关该学生的其他信息也随之丢失。 (4) 修改异常。 如果某学生改名,则该学生的所有记录都要逐一修改SN的值;稍有不慎,就有可能漏改某些记录。 为什么会发生这些问题呢? 这是因为这个模式中的函数依赖存在某些不好的性质。假设把这个单一的模式改造一下,分解成3个关系模式: 学生关系 S (SNO,SN,AGE,DEPT) 系关系 D (DEPT,MN) 选课关系 SC(SNO,CNO,SCORE) S D 图4.2 关系SDC经分解后的三关系S、D与SC SC 分解后的关系模式集是一个好的关系数据库模式。这三个关系模式都不会发生插入异常、删除异常的毛病,数据冗余也得到了尽可能地控制。 但要注意,一个好的关系模式并不是在任何情况下都是最优的,比如查询某个学生选修课程名及所在系的系主任时,要通过连接操作来完成(即由图4.2中的三张表,连接形成图4.1中的一张总表),而连接所需要的系统开销非常大,因此要以实际设计的目标出发进行设计。 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。 对于关系模式SDC: U={SNO,SN,AGE,DEPT,MN,CNO,SCORE} F={SNO→SN,SNO→AGE,SNO→DEPT,DEPT→MN,SNO→MN,(SNO,CNO)→SCORE} 一个SNO有多个SCORE的值与之对应,因此SCORE不能唯一地确定,即SCORE不能函数依赖于SNO,所以有:SNO SCORE, 同样有:CNO SCORE。 但是SCORE可以被(SNO,CNO)唯一地确定。所以可表示为:(SNO,CNO)→SCORE。 函数依赖有几点需要说明: (1) 平凡的函数依赖与非平凡的函数依赖 当属性集Y是属性集X的子集时,则必然存在着函数依赖X→Y,这种类型的函数依赖称为平凡的函数依赖。 也可表示为:X→Y,但Y?X 则称X→Y是平凡的函数依赖。 如:在关系SDC中,(SNO,CNO)→SNO。 如果Y不是X子

文档评论(0)

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

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

1亿VIP精品文档

相关文档