数据库系统6讲述

上传人:最**** 文档编号:116847664 上传时间:2019-11-17 格式:PPT 页数:79 大小:385.50KB
返回 下载 相关 举报
数据库系统6讲述_第1页
第1页 / 共79页
数据库系统6讲述_第2页
第2页 / 共79页
数据库系统6讲述_第3页
第3页 / 共79页
数据库系统6讲述_第4页
第4页 / 共79页
数据库系统6讲述_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《数据库系统6讲述》由会员分享,可在线阅读,更多相关《数据库系统6讲述(79页珍藏版)》请在金锄头文库上搜索。

1、An Introduction to Database System 数据库系统概论 An Introduction to Database System 第六章 关系数据理论 An Introduction to Database System 第六章 关系数据理论 6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 *6.4 模式的分解 An Introduction to Database System 6.1 问题的提出 n关系数据库逻辑设计 n针对具体问题,如何构造一个适合于它的数据 模式,即应该构造几个关系模式,每个关系由 哪些属性组成。 n数据库逻辑设计的一个有力工具

2、关系数据 库的规范化理论。 An Introduction to Database System 一、概念回顾 n关系:表示实体,实体与实体间的联系。 n从形式上看,它是一张二维表,是所涉及属性 的笛卡尔积的一个子集。 n关系模式:关系的描述称为关系模式。 An Introduction to Database System n关系数据库:基于关系模型的数据库,利 用关系来描述现实世界。 n从形式上看,它由一组关系组成。 n关系数据库的模式:定义这组关系的关系 模式的全体。 An Introduction to Database System 一、概念回顾 n关系模式由五部分组成,即它是一个五

3、元组: R(U, D, DOM, F) R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自的域 DOM: 属性向域的映象集合 F: 属性间数据的依赖关系集合 An Introduction to Database System 二、关系模式的简化表示 关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F) 当且仅当U上的一个关系r 满足F时,r称为关系 模式 R(U, F)的一个关系 An Introduction to Database System 三、什么是数据依赖 n定义属性值间的相互关连 n是通过一个关系中属性间值的相等与否 体现出来的数据间的

4、相互关系 n是现实世界属性间相互联系的抽象 n是数据内在的性质,是语义的体现。 An Introduction to Database System n人们已经提出了许多种类型的数据依赖, 其中最主要的是: n函数依赖(Functional Dependency,简 记为FD) n多值依赖(Multivalued Dependency, 简记为MVD) An Introduction to Database System 四、一个实例 例:建立一个描述学生情况的数据库,面临的对象有: 学生:用学号(Sno)描述, 系:用系名(Sdept)描述 系主任:用其姓名(Mname)描述 课程:用课程名

5、(Cname)描述 成绩:Grade 假设用单一的关系模式S来表示,属性集合为: U Sno, Sdept, Mname, Cname, Grade An Introduction to Database System 一个实例(续) 由现实世界的已知事实得知: 一个系有若干学生, 一个学生只属于一个系; 一个系只有一名(正职)主任; 一个学生可以选修多门课程, 每门课程有若干学 生选修; 每个学生所学的每门课程都有一个成绩。 An Introduction to Database System 一个实例(续) 属性组U上的一组函数依赖F: F Sno Sdept, Sdept Mname,

6、(Sno, Cname) Grade SnoCname SdeptMname Grade An Introduction to Database System 一个实例(续) n如果只考虑函数依赖这一种数据依赖,就 会得到描述该数据库单一的关系模式 : s An Introduction to Database System 关系模式s中存在的问题 n 数据冗余太大 n浪费大量的存储空间 n例:每一个系主任的姓名重复出现 n2.修改异样 n数据冗余 ,修改数据时,维护数据完整性代 价大,容易造成数据不一致。 n例:某系更换系主任后,系统必须修改与该系 学生有关的每一个元组 An Introdu

7、ction to Database System 关系模式s中存在的问题 n3插入异常 n该插入的数据插不进去 n例:如果一个系刚成立,尚无学生,我们就无 法把这个系及其系主任的信息存入数据库。 n如果一个学生没有选修任何一门课程,则学生 的信息无法插入。 An Introduction to Database System 关系模式s中存在的问题 n4删除异常 n不该删除的数据不得不删 n例:如果某个系的学生全部毕业了, 我们在 删除该系学生信息的同时,把这个系及其系主 任的信息也丢掉了。 n如果一个学生就选了一门课,现在这门课也不 选了,那么这个学生的信息就会被删除。 An Introdu

8、ction to Database System 关系模式s中存在的问题 结论: s关系模式不是一个好的模式。 “好”的模式: 不会发生插入异常、删除异常,数据冗余应尽可能少。 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适 的数据依赖。 An Introduction to Database System 6.2 规范化 规范化理论正是用来改造关系模式, 通过分解关系模式来消除其中不合适的数 据依赖,以解决插入异常、删除异常和数 据冗余等问题。 An Introduction to Database System 6.2.1 函数依赖 一、函数依赖 二、

9、平凡函数依赖与非平凡函数依赖 三、完全函数依赖与部分函数依赖 四、传递函数依赖 An Introduction to Database System 一、函数依赖 定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的 子集。 若对于R(U)的任意一个可能的关系r,r中不可能存 在两个元组在X上的属性值相等,而在Y上的属性值不等 , 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作XY 。 X称决定因子。 Y=f(x) An Introduction to Database System 说明: n函数依赖不是指关系模式R的某个或某些 关系实例满足的约束条件,而是指R的所 有关系实

10、例均要满足的约束条件。 An Introduction to Database System 函数依赖(续) 例: S(Sno, Sname, Ssex, Sage, Sdept) 假设不允许重名,则有: Sno Ssex, Sno Sage , Sno Sdept, Sno Sname, Sname Ssex, Sname Sage Sname Sdept 但SsexSage 若XY,并且YX, 则记为XY。 若Y不函数依赖于X, 则记为XY。 An Introduction to Database System 二、平凡函数依赖与非平凡函数依赖 在关系模式R(U)中,对于U的子集X和Y,

11、如果XY,但Y X,则称XY是非平凡的函数依赖 若XY,但Y X, 则称XY是平凡的函数依赖 例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) Grade 平凡函数依赖: (Sno, Cno) Sno (Sno, Cno) Cno An Introduction to Database System 平凡函数依赖与非平凡函数依赖(续) n于任一关系模式,平凡函数依赖都 是必然成立的,它不反映新的语义 ,因此若不特别声明, 我们总是讨 论非平凡函数依赖。 An Introduction to Database System 三、完全函数依赖与部分函数依

12、赖 定义6.2 在关系模式R(U)中,如果XY,并且对于X 的任何一个真子集X,都有 X Y, 则称Y完全函数依赖于X,记作X Y。 若XY,但Y不完全函数依赖于X,则称Y部分函数 依赖于X,记作X P Y。 An Introduction to Database System 完全函数依赖与部分函数依赖(续) 例: 在关系SC(Sno, Cno, Grade)中, 由于:Sno Grade,Cno Grade, 因此:(Sno, Cno) Grade An Introduction to Database System 四、传递函数依赖 定义6.3 在关系模式R(U)中,如果XY,YZ, 且

13、Y X,YX,则称Z传递函数依赖于X。 注: 如果YX, 即XY,则Z直接依赖于X。 例: 在关系Std(Sno, Sdept, Mname)中,有: Sno Sdept,Sdept Mname Mname传递函数依赖于Sno An Introduction to Database System 6.2.2 码 定义6.4 设K为关系模式R中的属性 或属性组合。若K U,则K称为R的一个 侯选码(Candidate Key)。若关系模式 R有多个候选码,则选定其中的一个做为 主码(Primary key)。 An Introduction to Database System n主属性:包含在

14、任何一个候选码中的属性。 n非主属性:不包含在任何码中的属性称为非主属 性。 如:在选课关系sc中,sno,cno f (sno,cno,grade),所 以(sno,cno)是关系sc的码,sno,cno为主属性,而 grade为非主属性。 An Introduction to Database System 外部码 定义6.5 关系模式 R 中属性或属性组X 并非R 的码,但 X 是另一个关系模式的 码,则称 X 是R 的外部码(Foreign key)也称外码 n主码和外部码提供了一个表示关系间联系的手 段。 An Introduction to Database System 6.2.

15、3 范式 n关系数据库中的关系必须满足一定的要 求。满足不同程度要求的为不同范式。 nR为第几范式可以写成RxNF。 n一个低一级范式的关系模式,通过模式 分解可以转换为若干个高一级范式的关 系模式的集合,这种过程就叫规范化。 An Introduction to Database System 6.2.3 范式 n范式的种类: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF) An Introduction to Database System 6.2.4 1NF n1NF的定义 如果一个关系模式R的所有属性都是不可分的

16、基 本数据项,则R1NF。 n第一范式是对关系模式的最起码的要求。不满足 第一范式的数据库模式不能称为关系数据库。 n但是满足第一范式的关系模式并不一定是一个好 的关系模式。 An Introduction to Database System 2NF n2NF的定义 定义6.6 若关系模式R1NF,并且每一个非主 属性都完全函数依赖于R的码,则R2NF。 An Introduction to Database System 2NF 例: 关系模式 S(Sno, Sdept, MN, Cno, Grade) n函数依赖包括: (Sno, Cno) f Grade Sno Sdept (Sno, Cno) P Sdept Sno MN (Sno, Cno) P MN Sdept MN An Introduction

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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