第5节关系数据理论.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系数据理论 要点 关系规范化理论研究背景 数据依赖 规范化(Normalization)理论 1NF、2NF、3NF、BCNF、4NF等范式 关系模式规范化的必要性及方法 5.1 问题的提出 问题提出: 针对一个具体问题,如何构造合适的(更好的)数据模式,即如何更好地设计数据的逻辑结构? 关系数据理论的研究背景 关系模型建立在严格的数据理论基础上,并可向别的数据模型转换,因此常以关系模型为背景来讨论这个问题 背景知识 数据模式(schema) 数据库中全体数据的逻辑结构和特征描述,如数据记录的构成,数据间的联系,安全性、完整性要求等。常以某一种数据模型为基础 关系模型的形式化定义:R(U,D,dom,F),本章简化为R(U, F) 关系模型R的一个关系r:U上的一个关系r满足F 一个例子:学生-课程-成绩管理 客观存在的事实 一个系有若干学生,但一个学生只属于一个系;一个系只有一名负责人;一个学生可以选修多门课程,每门课程有若干学生选修;每个学生学习每一门课程有一个成绩 设计如下单个模式 属性组U = {学号SNO,系名SDEPT,系负责人MN,课程名CNAME,成绩G} 数据依赖 问题和改进 该模式存在的问题 插入异常:一个系无学生或未安排课程时,无法存入系与负责人删除异常:删除一个系的所有学生信息时,系与负责人也丢失 冗余太大:负责人姓名重复存入 更新异常:当某系负责人更换时,须更新该系所有学生信息中的信息,更新不完全时,易造成数据不一致 原因:数据依赖存在一些不合适的性质,需寻找更好的模式,如 S(SNO, SDEPT, ) SG(SNO, CNAME, G, ) DEPT(SDEPT, MN, ) 5.2 规范化 意图 讨论一个关系属性间不同的依赖情况 讨论如何根据属性间依赖关系来判定关系是否有某些不合适的性质 数据依赖概念 反映客观世界数据间的相互关联 通过一个关系中属性间值的相等与否来体现 两种重要的数据依赖 函数依赖(Functional Dependency, FD) 多值依赖(Multivalued Dependency, MVD) 5.2.1 函数依赖 定义1 设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作 术语和记号 ,但 ,则称 是非平凡的函数依赖 ,但 ,则称 是平凡的函数依赖 若 ,则X叫做决定因素 若 , ,则记作 若Y不函数依赖于X,则记作 对函数依赖的说明 换句话说:任何时候若某一关系中的两个元组中的X属性组的值相等,则元组中对应的属性组Y的值也相等,类似于函数概念,Y = f(X) 需要指出的是:关系R中,如果属性组X是一个候选码或码,则属性组Y一定函数依赖于X(这与候选码的定义一致) 事实上:如果关系R上有函数依赖X?Y,而属性X不是一个候选码,则R中可能存在一些数据冗余 例如:R(Sno, Sdept, MN, Cname, Grade)中有函数依赖Sdept-MN,而Sdept并不是候选码,表中数据有大量冗余出现 函数依赖 定义2 在R(U)中,如果 ,并且对于X的任何一个真子集X’, 都有 ,则称Y对X完全函数依赖,记作 若 ,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作 定义3 在R(U)中,如果 ,( ) , , , 则称Z对X传递函数依赖,记作 5.2.2 码 用函数依赖的概念来定义码 定义4 设K为R(U,F)中的属性或属性组合,若 则K为R的候选码(Candidate Key)。 若候选码多于一个,则选定其中的一个为主码(Primary Key) 相关术语 包含在任何一个候选码中的属性,叫做主属性 不包含在任何码中的属性,叫做非主属性 整个属性组是码,称为全码 码 定义5 关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreign Key),也称为外码 ★ 主码与外码提供了一个表示关系间联系的手段 SC(Sn

文档评论(0)

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

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

1亿VIP精品文档

相关文档