数据库系统管理课件(王岚主编)第十一章.ppt

上传人:资****亨 文档编号:125530444 上传时间:2020-03-18 格式:PPT 页数:70 大小:168KB
返回 下载 相关 举报
数据库系统管理课件(王岚主编)第十一章.ppt_第1页
第1页 / 共70页
数据库系统管理课件(王岚主编)第十一章.ppt_第2页
第2页 / 共70页
数据库系统管理课件(王岚主编)第十一章.ppt_第3页
第3页 / 共70页
数据库系统管理课件(王岚主编)第十一章.ppt_第4页
第4页 / 共70页
数据库系统管理课件(王岚主编)第十一章.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《数据库系统管理课件(王岚主编)第十一章.ppt》由会员分享,可在线阅读,更多相关《数据库系统管理课件(王岚主编)第十一章.ppt(70页珍藏版)》请在金锄头文库上搜索。

1、第十一章 关系数据库规范化理论 数据库基础 本章要点 本章主要讨论关系数据库规范化理论 讨论一个好的关系 模式的标准 以及如何将不好的关系模式转换成好的关系 模式 并能保证所得到的关系模式仍能表达原来的语义 数据库基础 第十一章 关系数据库规范化理论 数据库设计是数据库应用领域的主要研究课题 数据库设 计的任务是在给定的应用环境下 创建满足用户需求且性 能良好的数据库模式 建立数据库及其应用系统 使之能 有效地存储和管理数据 满足某公司或部门各类用户业务 的需求 数据库基础 第十一章 关系数据库规范化理论 数据库设计需要理论指导 关系数据库规范化理论就是 数据库设计的一个理论指南 规范化理论研

2、究了关系模式 中各属性之间的依赖关系及其对关系模式性能的影响 探 讨 好 的关系模式应该具备的性质 以及达到 好 的关系 模式的方法 规范化理论为我们提供了判断关系模式好坏 的理论标准 帮助我们预测可能出现的问题 是数据库设 计人员的有力工具 同时也使数据库设计工作有了严格的 理论基础 数据库基础 第十一章 关系数据库规范化理论 本章主要讨论关系数据库规范化理论 讨论一个好的关 系模式的标准 以及如何将不好的关系模式转换成好的关 系模式 并能保证所得到的关系模式仍能表达原来的语义 数据库设计是数据库应用领域的主要研究课题 数据库 设计的任务是在给定的应用环境下 创建满足用户需求且 性能良好的数

3、据库模式 建立数据库及其应用系统 使之 能有效地存储和管理数据 满足某公司或部门各类用户业 务的需求 数据库基础 第十一章 关系数据库规范化理论 数据库设计需要理论指导 关系数据库规范化理论就是 数据库设计的一个理论指南 规范化理论研究了关系模式 中各属性之间的依赖关系及其对关系模式性能的影响 探 讨 好 的关系模式应该具备的性质 以及达到 好 的关系 模式的方法 规范化理论为我们提供了判断关系模式好坏 的理论标准 帮助我们预测可能出现的问题 是数据库设 计人员的有力工具 同时也使数据库设计工作有了严格的 理论基础 数据库基础 第十一章 关系数据库规范化理论 本章主要讨论关系数据库规范化理论

4、讨论一个好的关系 模式的标准 以及如何将不好的关系模式转换成好的关系 模式 并能保证所得到的关系模式仍能表达原来的语义 数据库基础 第十一章 关系数据库规范化理论 11 1 函数依赖 11 2 关系规范化 11 3 关系模式分解的准则 数据库基础 11 1 函数依赖 数据的语义不仅表现为完整性约束 对关系模式的设计也 提出了一定的要求 针对一个问题 如何构造一个合适的 关系模式 应构造几个关系模式 每个关系模式由哪些属 性组成等 这都是数据库设计问题 确切地讲是关系数据 库的逻辑设计问题 首先我们看一下 关系模式中各属性之间的联系 数据库基础 11 1 函数依赖 11 1 1 函数依赖的基本概

5、念 11 1 2 一些术语和符号 11 1 3 为什么要讨论函数依赖 数据库基础 11 1 1 函数依赖的基本概念 在关系数据库中 讨论函数或函数依赖注重的是语义上的 关系 x函数决定y 或y函数依赖于x可表示为 X Y 根据以上讨论可以写出较直观的函数依赖定义 即如果有 一个关系模式R A1 A2 An X和Y为 A1 A2 An 的子集 那么对于关系R中的任意一个x值 都只 有一个y值与之对应 则称X函数决定Y 或Y函数依赖于 X 数据库基础 11 1 1 函数依赖的基本概念 例如 对学生关系模式Student Sno Sname Sdept Sage 有以下依赖关系 Sno Sname

6、Sno Sdept Sno Sage 对学生选课关系模式SC Sno Cno Grade 有以下依赖关系 Sno Cno Grade 数据库基础 11 1 1 函数依赖的基本概念 显然 函数依赖讨论的是属性之间的依赖关系 它是语义 范畴的概念 也就是说关系模式的属性之间是否存在函数 依赖只与语义有关 下面对函数依赖给出严格的形式化定 义 设有关系模式R A1 A2 An r是R的任一 具体关系 t1 t2是r中的任意两个元组 如果由 t1 X t2 X 可以推导出t1 Y t2 Y 则称X函数决定Y 或Y函数依赖于X 记为X Y 数据库基础 11 1 函数依赖 11 1 1 函数依赖的基本概念

7、 11 1 2 一些术语和符号 11 1 3 为什么要讨论函数依赖 数据库基础 11 1 2 一些术语和符号 下面给出在本章中经常使用的一些术语和符号 设有关系模式R A1 A2 An X和Y为 A1 A2 An 的子集 则有以下结论 1 如果X Y 但Y 不包含于X 则称X Y是非平凡的函 数依赖 如不作特别说明 我们总是讨论非平凡函数依赖 2 如果Y 函数不依赖于X 则记为 3 如果X Y 则称X称为决定因子 数据库基础 11 1 2 一些术语和符号 4 如果X Y 并且Y X 则记为 5 如果X Y 并且对于x的一个任意真子集X 都有 则 称Y完全函数依赖于X 记为 如果成立 则称Y部分

8、函 数依赖于X 记为 6 如果X Y 非平凡函数依赖 并且 Y Z 则称Z传递 函数依赖于X 数据库基础 11 1 2 一些术语和符号 例11 1 假设有关系模式SC sno Sname Cno Grade 其中各属性分别为 学号 姓名 课程号 成绩 主码为 sno Cno 则函数依赖关系有 Sno Sname 姓名函数依赖于学号 sno Cno Sname 姓名部分函数依赖于学号和课程号 sno Cno Grade 成绩完全函数依赖于学号和课程号 数据库基础 11 1 2 一些术语和符号 例11 2 假设有关系模式S Sno Sname Dept Dept master 其中各 属性分别为

9、学号 姓名 所在系和系主任 假设一个系只有一个主 任 主码为Sno 则函数依赖关系有 SnoSname 姓名完全函数依赖于学号 由于 SnoDept 所在系完全函数依赖于学号 DeptDept master 系主任完全函数依赖于系 系主任传递函数依赖于学号 所以有 SnoDept master 函数依赖是数据的重要性质 关系模式应能反映这些性质 数据库基础 11 1 函数依赖 11 1 1 函数依赖的基本概念 11 1 2 一些术语和符号 11 1 3 为什么要讨论函数依赖 数据库基础 11 1 3 为什么要讨论函数依赖 讨论属性之间的关系和函数依赖有什么意义呢 让我们通过例子看一 下 假设有

10、描述学生选课及住宿情况的关系模式 S L C Sno Sdept Sloc Cno Grade 其中各属性分别为 学号 学生所在系 学生所住宿舍楼 课程号和 考试成绩 假设每个系的学生都住在一栋楼里 Sno Cno 为主码 看一看这个关系模式存在什么问题 假设有如表11 1所示的数据 数据库基础 11 1 3 为什么要讨论函数依赖 表11 1 S L C模式的数据示例 SnoSdeptSlocCnoGrade 计算机2公寓DB80 计算机2公寓OS85 信息1公寓C90 信息1公寓DS84 信息1公寓OS78 数据库基础 11 1 3 为什么要讨论函数依赖 从这个表中可以看出如下问题 数据冗余

11、问题 在这个关系中 有关学生所在系和其所 对应的宿舍楼的信息有冗余 因为一个系有多少个学生 这个系所对应的宿舍楼的信息就要重复存储多少遍 数据更新问题 如果某一学生从计算机系转到了信息系 那么不但要修改此学生的 Sdept列的值 而且还要修 改其Sloc列的值 从而使修改复杂化 数据库基础 11 1 3 为什么要讨论函数依赖 数据插入问题 如果某个学生还没有选课 但已经有了 Sdept乘lSloc信息 我们也不能将此学生的这些已知信息 插入到数据库中 因为Cno为空 而Cno为主属性 不能 为空 因此也就丢掉了该学生的其它基本信息 数据删除问题 如果一个学生只选了一门课 而后来又 不选了 则应

12、该删除此学生选此 门课程的记录 但由于 这个学生只选了一门课 那么删掉此学生的选课记录的同 时也删 掉了此学生的其它基本信息 数据库基础 11 1 3 为什么要讨论函数依赖 类似的问题我们统称为操作异常 为什么会出现以上的操作异常现 象呢 因为这个关系模式没有设计好 其原因在于它的某些属性之间 存在着 不良 的函数依赖 如何改造这个关系模式并克服以上种种问 题是我们所要解决的问题 也是我们讨论函数依赖的原因 解决上述问题的方法就是进行模式分解 即把一个关系模式分解成两 个或多个关系模式 在分解的过程中消除那些 不良 的函数依赖 从 而获得好的关系模式 关于模式分解将在本章后边介绍 数据库基础

13、第十一章 关系数据库规范化理论 11 1 函数依赖 11 2 关系规范化 11 3 关系模式分解的准则 数据库基础 11 2 关系规范化 11 2 1 关系模式中的码 11 2 2 范式 数据库基础 11 2 1 关系模式中的码 设用U表示关系模式R的属性全集 即U A1 A2 An 用F表示关 系模式R上的函数依赖集 则关系模式R可表示为R U F 1 候选码 设K为R U F 中的属性或属性组 若KU 则K为R的候选码 K为决 定R全部属性值的最小属性组 主码 关系R U F 中可能有多个候选码 则选其中一个作为主码 全码 候选码为整个属性组 主属性与非主属性 在R U F 中 包含在任一

14、候选码中的属性称为 主属性 不包含在任一候选码中的属性称为非主属性 数据库基础 11 2 1 关系模式中的码 例11 3 SC Sno Cno Grade 其候选码为 Sno Cno 也为主码 则主属性为 Sno和Cno Grade为非主属性 数据库基础 11 2 1 关系模式中的码 例11 4 R P W A 其中各属性含义分别为 演奏者 作品和演出地点 其语 义为 一个演奏者可演奏多个作品 某一作品可被多个演 奏者演奏 同一演出地点不同演奏者的不同作品 其候选码为 P W A 因为只有 演奏者 作品 演出 地点 三者才能确定一场音乐会 我们称全部属性均为主 码的表为全码表 数据库基础 11

15、 2 1 关系模式中的码 2 外码 用于在关系表之间建立关联的属性 组 称为为外码 若R U F 的属性 组 X X属于U 是另一个关系S的主码 则称X为R的外码 X必须先定义为S的主码 数据库基础 11 2 关系规范化 11 2 1 关系模式中的码 11 2 2 范式 数据库基础 11 2 2 范式 我们在前面已经介绍了设计 不好 的关系模式所带来的问 题 本节将继续讨论 好 的关系模式应具备的性质 即关 系规范化问题 关系数据库中的关系要满足一定的要求 若关系满足不同 程度要求就称它属于不同的范式 满足最低要求的关系属 于第一范式 简称1NF First Normal Form 在第一范式

16、中 进一步满足一些要求的关系属于第二范式 简称2NF 依 此类推 还有3NF BCNF 4NF 5NF 数据库基础 11 2 2 范式 所谓 第几范式 是表示关系模式满足的条件 所以经常称 某一关系模式为第几范式的关系模式 也可以把这个概念 模式理解为符合某种条件的关系模式的集合 因此R为第 二范式的关系模式也可以写为R 2NF 数据库基础 11 2 2 范式 对关系模式的属性间的函数依赖加以不同的限制就形成了不同的范式 这些范式是递进的 即如果一个表是1NF的 它比不是1NF的要好 同样 2NF的表要比1NF的表好 使用这种方法的目的是从一个表或表的集合开始 逐步产生一个和初 始集合等价的表的集合 指提供同样的信息 范式越高 规范化的程 度越高 关系模式就越好 规范化的理论首先由E F Codd于1971年提出 其目的是要设计 好 的 关系数据库模式 关系规范化实际就是对有问题 操作异常 的关 系进行分解从而消除这些异常 数据库基础 11 2 2 范式 1 第一范式 每一个数据项都是不可再分的是第一范式的关系 2 第二范式 如果R U F 1NF 并且R中的每个非主属性都完全函 数依

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号