DataBase关系数据理论(新1).ppt_第1页
DataBase关系数据理论(新1).ppt_第2页
DataBase关系数据理论(新1).ppt_第3页
DataBase关系数据理论(新1).ppt_第4页
DataBase关系数据理论(新1).ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统概论AnIntroductiontoDatabaseSystem 4关系数据理论 4 1关系规范化 4 1 1引言 问题的提出 关系数据库逻辑设计针对具体数据库设计问题 如何构造一个适合于它的关系模式 举例 数据库逻辑设计的工具 关系数据库的规范化理论 例4 1 关系模式比较 关系模式1S 学号 姓名 性别 C 学号 课程号 课程名 学习期限 成绩 奖学金 关系模式2S 学号 姓名 性别 L 学号 课程名 成绩 C 课程号 课程名 学习期限 A 成绩 奖学金 两种关系模式使用起来效果大不相同 幻灯片9 幻灯片5 关系模式1 C的一个派生关系C 学号 课程号 课程名 学习期限 成绩 奖学金 思考 这个关系是否存在一些弊病 不好的 关系模式弊病总结 数据存储冗余数据不一致性插入异常 应该插入的数据未被插入 删除异常 不该删除的数据被删除 思考 关系模式1为什么会出现这些弊病 而关系模式2中却没有出现 原因 关系模式1 C中的某些属性之间存在某些具有不好性质的数据依赖 解决办法 关系规范化理论 1 分析出一个关系模式会有哪些不好性质的数据依赖 2 如何改造一个不好的 不规范的 关系模式 模式分解 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系是现实世界属性间相互联系的抽象是数据内在的性质是语义的体现 数据依赖的类型函数依赖 FunctionalDependency 简记为FD 多值依赖 MultivaluedDependency 简记为MVD 其他 4 1 2规范化 规范化理论用来改造关系模式 通过分解关系模式来消除其中不合适的数据依赖 以解决插入异常 删除异常 更新异常和数据冗余问题 所谓规范化实质上是概念的单一化让一个关系描述一个概念 一个实体或者实体间的一种联系 若多于一个概念就把它 分离 出去 幻灯片3 一 函数依赖 函数依赖的定义函数依赖的分类平凡函数依赖与非平凡函数依赖完全函数依赖与部分函数依赖传递函数依赖与直接函数依赖 定义4 1设R U 是一个属性集U上的关系模式 X和Y是U的子集 若对于R U 的任意一个可能的关系r r中不可能存在两个元组在X上的属性值相等 而在Y上的属性值不等 则称 X函数确定Y 或 Y函数依赖于X 记作X Y X称为这个函数依赖的决定属性集 Determinant 说明 2 函数依赖是语义范畴的概念 根据数据的语义来确定 例如 姓名 年龄 这个函数依赖只有在不允许有同名人的条件下成立 如果x和y之间是 1 1 联系 则存在FD xy如果x和y之间是 N 1 联系 则存在FD xy如果x和y之间是 M N 联系 则x和y之间不存在FD 3 数据库设计者可以对现实世界作强制的规定 例如规定不允许同名人出现 函数依赖 姓名 年龄 成立 所插入的元组必须满足规定的函数依赖 若发现有同名人存在 则拒绝装入该元组 1 函数依赖是指关系模式R的所有关系实例均要满足的约束条件 关系模式C 课号 课名 FD 课号课名 关系模式S 学号 姓名 FD 学号姓名 关系模式SC 学号 课号 学号和课号之间不存在FD 函数依赖举例 例4 2 Student Sno Sname Ssex Sage Sdept 假设不允许重名 则有 Sno Ssex Sno Sage Sno Sdept Sno Sname Sname Ssex Sname SageSname Sdept但Ssex Sage 平凡函数依赖与非平凡函数依赖 在关系模式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 平凡函数依赖与非平凡函数依赖 对于任一关系模式 平凡函数依赖都是必然成立的 它不反映新的语义 因此 若不特别声明 我们总是讨论非平凡函数依赖 完全函数依赖与部分函数依赖 定义4 2在关系模式R U 中 如果X Y 并且对于X的任何一个真子集X 都有X Y 则称Y完全函数依赖于X 记作X Y 若X Y 但Y不完全函数依赖于X 则称Y部分函数依赖于X 记作XPY 完全函数依赖与部分函数依赖举例 例 在关系SC Sno Cno Grade 中 由于 Sno Grade Cno Grade 因此 Sno Cno Grade在关系C 学号 课程号 课程名 学习期限 成绩 奖学金 中 由于 学号 课程号 名 学习期限 课程号 名 学习期限因此 学号 课程号 名 P学习期限 传递函数依赖 定义4 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 Sno Sdept MnameMname传递函数依赖于Sno 二 候选码 用函数依赖的概念定义 设K为关系模式R中的属性或属性组 若K U 则K称为R的一个候选码 CandidateKey 若关系模式R有多个候选码 则选定其中的一个作为主码 Primarykey 主属性 PA 指任一候选码中的属性 非主属性 NPA 关系模式COURSE 课号 课名 学习期限 学分 候选码 课号 课名 主码 课号 PA 课号 课名 NPA 学习期限 学分 关系模式SC 学号 课号 成绩 候选码 学号 课号 主码 学号 课号 PA 学号 课号 NPA 成绩 候选码举例 如何求解候选码 候选码求解理论 对于给定的关系R A1 A2 An 和函数依赖集F 可将其属性分为四类 L类 仅出现在F中各函数依赖左部的属性 R类 仅出现在F中各函数依赖右部的属性 N类 在F中各函数依赖左右两边均未出现的属性 LR类 在F中各函数依赖左右两边均出现的属性 定理1 对于 R F 若x是R中的L类属性 则x必为R的任一候选码的成员 推论1 若x的属性闭包包含了R的全部属性 则x必为R的唯一候选码 定理2 对于 R F 若x是R中的R类属性 则x不在任何候选码中 定理3 对于 R F 若x是R中的N类属性 则x必包含在R的任一候选码中 推论2 对于 R F 若x是R的N类和L类组成的属性集 且x的属性闭包包含了R的全部属性 则x是R的唯一候选码 例1 设有关系模式R A B C D 函数依赖集F DB BD ADB ACD 求R的所有候选码 解 因为A C是L类属性 所以由定理1可知 A C必是R的任一候选码的成员 又因为AC的属性闭包是ABCD 所以 由推论1可知 AC是R的唯一候选码 课后思考题 设有关系模式R A B C D E P 函数依赖集F AD ED DB BCD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论