湖南工学院计算机系

上传人:飞*** 文档编号:51653085 上传时间:2018-08-15 格式:PPT 页数:133 大小:420.50KB
返回 下载 相关 举报
湖南工学院计算机系_第1页
第1页 / 共133页
湖南工学院计算机系_第2页
第2页 / 共133页
湖南工学院计算机系_第3页
第3页 / 共133页
湖南工学院计算机系_第4页
第4页 / 共133页
湖南工学院计算机系_第5页
第5页 / 共133页
点击查看更多>>
资源描述

《湖南工学院计算机系》由会员分享,可在线阅读,更多相关《湖南工学院计算机系(133页珍藏版)》请在金锄头文库上搜索。

1、湖南工学院计算机系数据库原理 Principles of Database第四章 关系数据库规范化理论 学习目标学习目标了解关系规范化的作用;掌握函数依赖及其公理系统;掌握关系模式的规范化及其范式;掌握关系模式的分解;掌握关系模式规范化步骤。本章主要内容4.1 关系规范化的作用4.2 函数依赖4.3 * 函数依赖的公理系统4.4 关系模式的规范化4.5 * 多值依赖与第四范式4.6 关系模式的分解4.7 * 连接依赖与第五范式4.8 关系模式规范化步骤4.1 关系规范化的作用一、问题的提出 二、解决的方法 三、关系模式规范化的作用一、问题的提出例:描述学校教学管理的数据库: 学生的学号(Sno

2、)、姓名(Sname)、性别 (Ssex)、所在系名(Dname)、所学的课程名(Cname) 、任课老师名(Tname)、成绩(Grade),关系描述为 : JiaoXue(Sno,Sname,Ssex,Dname,Cname ,Tname,Grade) 单一的关系模式 : JiaoXue U Sno,Sname,Ssex,Dname,Cname,Tname,Grade 此关系的主键为:(Sno,Cname) 问题的提出(续)学校教学管理数据库的语义: 一个系有若干学生, 一个学生只属于一个系; 一个系只有一名主任; 一个学生可以选修多门课程, 每门课程有若干学生选修; 每个学生所学的每门课

3、程都有一个成绩。5. 每门课程均由一个教师任教。SnoSnameSsexDnameCnameTnameGrade0450301张三恺男计算机系高等数学李刚830450301张三恺男计算机系英语林弗然710450301张三恺男计算机系数字电路周斌920450301张三恺男计算机系数据结构陈长树860450302王薇薇女计算机系高等数学李刚790450302王薇薇女计算机系英语林弗然940450302王薇薇女计算机系数字电路周斌740450302王薇薇女计算机系数据结构陈长树68 0420131陈杰西男园林系高等数学吴相舆970420131陈杰西男园林系英语林弗然790420131陈杰西男园林系植

4、物分类学花裴基930420131陈杰西男园林系素描丰茹88教学管理数据库中的部分数据关系模式JiaoXue中存在的问题1)、数据冗余(Data Redundancy)l 每一个系名对该系的学生人数乘以每个学生选修的课程门数重复存储。l 每一个课程名均对选修该门课程的学生重复存储。l 每一个教师都对其所教的学生重复存储。SnoSnameSsexDnameCnameTnameGrade0450301张三恺男计算机系高等数学李刚830450301张三恺男计算机系英语林弗然710450301张三恺男计算机系数字电路周斌920450301张三恺男计算机系数据结构陈长树860450302王薇薇女计算机系高

5、等数学李刚790450302王薇薇女计算机系英语林弗然940450302王薇薇女计算机系数字电路周斌740450302王薇薇女计算机系数据结构陈长树68 0420131陈杰西男园林系高等数学吴相舆970420131陈杰西男园林系英语林弗然790420131陈杰西男园林系植物分类学花裴基930420131陈杰西男园林系素描丰茹88教学管理数据库中的数据冗余存在大量的 数据冗余关系模式JiaoXue中存在的问题(续)2)、更新异常(Update Anomalies) l 插入异常(Insert Anomalies):由于主键中元素的属性值不 能取空值,如果新分配来一位教师或新成立一个系,则这位教师

6、及 新系名就无法插入;如果一位教师所开的课程无人选修或一门课程 列入计划但目前不开课,也无法插入。 l 修改异常(Modification Anomalies):如果更改一门课程的 任课教师,则需要修改多个元组。如果仅部分修改,部分不修改, 就会造成数据的不一致性。同样的情形,如果一个学生转系,则对 应此学生的所有元组都必须修改,否则,也出现数据的不一致性。 l 删除异常(Deletion Anomalies):如果某系的所有学生全部 毕业,又没有在读及新生,当从表中删除毕业学生的选课信息时, 则连同此系的信息将全部丢失。同样地,如果所有学生都退选一门 课程,则该课程的相关信息也同样丢失了。

7、二、解决的方法关系模式JiaoXue中存在问题的结论:JiaoXue关系模式不是一个好的模式。“好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。原因:由存在于模式中的某些数据依赖引起的解决方法:通过分解关系模式来消除其中不合适 的数据依赖。关系模式JiaoXue的一种分解方法教学关系分解为三个关系模式来表达: 学生基本信息Student(Sno,Sname, Ssex,Dname),课程信息Course( Cno,Cname,Tname),及学生成绩 Grade(Sno,Cno,Grade)。 分解后的数据示例分解后的关系模式的优点1)、数据存储量减少。设有n个学生,每个

8、学生平均选修m门课程,则 表中学生信息就有4nm之多。经过改进后学生信息及成绩表中,学生的信 息仅为3nmn。学生信息的存储量减少了3(m-1)n。显然,学生选课数绝不会是1,因而,经过分解后数据量要少得多。 2)、更新方便。插入问题部分解决:对一位教师所开的无人选修的课程可方便 地在课程信息表中插入。但是,新分配来的教师、新成立的系或列 入计划但目前不开课的课程,还是无法插入。要解决无法插入的问 题,还可继续将系名与课程作分解来解决。修改方便:原关系中对数据修改所造成的数据不一致性,在分 解后得到了很好的解决,改进后,只需要修改一处。删除问题也部分解决:当所有学生都退选一门课程时,删除退 选

9、的课程不会丢失该门课程的信息。值得注意的是,系的信息丢失 问题依然存在,解决的方法还需继续进行分解。分解后的关系模式说明虽然改进后的模式部分地解决了不合理的关系模式所 带来的问题,但同时,改进后的关系模式也会带来新的 问题,如当查询某个系的学生成绩时,就需要将两个关 系连接后进行查询,增加了查询时关系的连接开销,而 关系的连接代价却又是很大的。此外,必须说明的是,不是任何分解都是有效的。 若将JiaoXue分解为(Sno,Sname,Ssex, Dname,)、(Sno,Cno,Cname,Tname)及( Sname,Cno,Grade),不但解决不了实际问题,反 面会带来更多的问题。 三、

10、关系模式规范化的作用规范化理论正是用来改造关系模式,通 过分解关系模式来消除其中不合适的数据 依赖,以解决:插入异常删除异常更新异常数据冗余4.2 函数依赖4.2.1关系模式的简化表示 4.2.2函数依赖的基本概念 4.2.3码的函数依赖表示 4.2.4函数依赖和码的唯一性4.2.1 关系模式的简化表示关系模式由五部分组成,即它是一个五元组:R(U, D, DOM, F)R: 关系名U: 组成该关系的属性名集合D: 属性组U中属性所来自的域DOM:属性向域的映象集合F: 属性间数据的依赖关系集合由于D和Dom对设计关系模式的作用不大,在讨论关系规范化理 论时可以把它们简化掉,从而关系模式可以用

11、三元组来表示为:R(U,F)4.2.2函数依赖的基本概念一、函数依赖的定义二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖一、函数依赖的定义定义4.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作XY。 X称为这个函数依赖的决定属性集(Determinant)。说明: 1. 函数依赖不是指关系模式R的某个或某些关系实例满足 的约束条件,而是指R的所有关系实例均要满足的约束条件 。2. 函数依赖是语

12、义范畴的概念。只能根据数据的语义来确 定函数依赖。例如“姓名年龄”这个函数依赖只有在不允许有同名人 的条件下成立3. 数据库设计者可以对现实世界作强制的规定。例如规定 不允许同名人出现,函数依赖“姓名年龄”成立。所插入的 元组必须满足规定的函数依赖,若发现有同名人存在, 则拒 绝装入该元组。函数依赖(续)例: Student(Sno, Sname, Ssex, Sage, Sdept)假设不允许重名,则有: Sno Ssex, Sno Sage , Sno Sdept, Sno Sname, Sname Ssex, Sname Sage Sname Sdept 但Ssex Sage若XY,并且

13、YX, 则记为XY。若Y不函数依赖于X, 则记为XY。二、平凡函数依赖与非平凡函数依赖定义4.2:在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡的函数依赖若XY,但Y X, 则称XY是平凡的函数依赖例:在关系SC(Sno, Cno, Grade)中,非平凡函数依赖: (Sno, Cno) Grade平凡函数依赖: (Sno, Cno) Sno (Sno, Cno) Cno对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明, 我们总是讨论非平凡函数依赖三、完全函数依赖与部分函数依赖定义4.3 在关系模式R(U)中,如果XY,并且对于X

14、的任何一个真子集X,都有X Y, 则称Y完全函数依赖于X,记作X F Y。若XY,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X P Y。例: 在关系SC(Sno, Cno, Grade)中,由于:Sno Grade,Cno Grade, 因此:(Sno, Cno) F Grade四、传递函数依赖定义4.4 在关系模式R(U)中,如果XY, YZ,且Y X,YX,则称Z传递函数依赖于 X。注: 如果YX, 即XY,则Z直接依赖于X 。例: 在关系Std(Sno, Sdept, Mname)中,有 : Sno Sdept,Sdept MnameMname传递函数依赖于Sno4.2.3码的

15、函数依赖表示定义4.6 设K为关系模式R中的属性或属性组合。若K U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。n主属性与非主属性nALL KEY外部码定义4.7 关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码n主码又和外部码一起提供了表示关系间联系的手段。4.2.4函数依赖和码的唯一性n码是由一个或多个属性组成的可惟一标 识元组的最小属性组。码在关系中总是惟 一的,即码函数决定关系中的其他属性。 因此,一个关系,码值

16、总是惟一的(如果 码的值重复,则整个元组都会重复)。否 则,违反实体完整性规则。 4.3 函数依赖的公理系统在一个给定的关系模式中,如何找出其 上的各种函数依赖。即通过已知的函数依 赖集 F得到其他大量的未知函数依赖。 解决此问题需要根据函数依赖的各种性 质及公理。 逻辑蕴含对于满足一组函数依赖 F 的关系模式R ,其任何一个关系r,若函数依 赖XY都成立, 则称F逻辑蕴含X YArmstrong公理系统n一套推理规则,是模式分解算法的理论 基础n用途n求给定关系模式的码n从一组函数依赖求得蕴含的函数依赖1. Armstrong公理系统关系模式R 来说有以下的推理规 则:nAl.自反律(Reflexivity):若Y X U,则X Y为F所蕴含。nA2.增广律(Augmentation):若XY为F 所蕴

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

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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