安庆师范学院计算机与信息学院

上传人:ldj****22 文档编号:26064735 上传时间:2017-12-22 格式:PPT 页数:95 大小:332.50KB
返回 下载 相关 举报
安庆师范学院计算机与信息学院_第1页
第1页 / 共95页
安庆师范学院计算机与信息学院_第2页
第2页 / 共95页
安庆师范学院计算机与信息学院_第3页
第3页 / 共95页
安庆师范学院计算机与信息学院_第4页
第4页 / 共95页
安庆师范学院计算机与信息学院_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《安庆师范学院计算机与信息学院》由会员分享,可在线阅读,更多相关《安庆师范学院计算机与信息学院(95页珍藏版)》请在金锄头文库上搜索。

1、An Introduction to Database System,安庆师范学院计算机与信息学院,数据库系统概论An Introduction to Database System第四章 关系数据理论,An Introduction to Database System,第四章 关系数据理论,4.1 规范化问题的提出4.2 函数依赖4.3 范式4.4 关系模式的规范化,An Introduction to Database System,例:描述教学管理的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程名(Cname)成绩(Grade)单一的关系模式SCD:U

2、 Sno, Sdept, Mname, Cname, Grade ,4.1 规范化问题的提出,An Introduction to Database System,数据依赖对关系模式的影响(续),语义: 一个系有若干学生, 一个学生只属于一个系; 一个系只有一名主任; 一个学生可以选修多门课程, 每门课程有若干学生选修; 每个学生所学的每门课程都有一个成绩。,An Introduction to Database System,An Introduction to Database System,根据上述的语义规定,并分析以上关系中的数据,我们可以看出:(Sno,Cname)属性的组合能唯一标

3、识一个元组,所以(Sno,Cname)是该关系模式的主码。在进行数据库的操作时,会出现以下几方面的问题:,An Introduction to Database System,关系模式Student中存在的问题,1 数据冗余太大浪费大量的存储空间 例:每一个系主任的姓名重复出现 2 插入异常(Insertion Anomalies)该插的数据插不进去 例,如果一个系刚成立,尚无学生,或有了学生但未选修课程,我们就无法把这个系及其系主任的信息存入数据库。,An Introduction to Database System,3 修改异常(Update Anomalies)修改数据时,维护数据完整

4、性代价大。例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组4 删除异常(Deletion Anomalies)不该删除的数据不得不删例,如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。,An Introduction to Database System,将单一的关系模式分解成三个关系模式:S(Sno,Sdept)SC(Sno,Cname,Grade)D(Sdept,Mname),An Introduction to Database System,在以上三个关系模式中,实现了信息的某种程度的分离,S中存储学生基本信息,与所选课程及系主

5、任无关;D中存储系的有关信息,与学生无关;SC中存储学生选课的信息,而与系的有关信息无关。,An Introduction to Database System,与单一的Student关系模式相比:数据的冗余度明显降低避免了插入异常不会引起删除异常不会引起更新异常,An Introduction to Database System,规范化理论正是用来改造关系模式,通过分解关系模式将“不好”的关系模式转化为“好”的关系模式,以解决插入异常、删除异常、更新异常和数据冗余问题。,An Introduction to Database System,关系模式由五部分组成,即它是一个五元组: R(U,

6、 D, DOM, F)R: 关系名U: 组成该关系的属性名集合D: 属性组U中属性所来自的域DOM:属性向域的映象集合F: 属性间数据的依赖关系集合,4.2 函数依赖,An Introduction to Database System,4.2.1 函数依赖,一、函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖,An Introduction to Database System,关系模式中的各属性之间相互依赖、相互制约的联系称为数据依赖。数据依赖一般分为函数依赖、多值依赖和连接依赖。其中,函数依赖是最重要的数据依赖。,An Introduction to

7、 Database System,一、函数依赖,比如描述一个学生的关系,可以有学号(Sno),姓名(Sname),系名(Sdept)等几个属性。由于一个学号只对应一个学生,一个学生只在一个系学习。因而当“学号”值确定之后,姓名和该生所在系的值也就被唯一地确定了。就象自变量x确定之后,函数值f(x)也就唯一地确定一样,称Sno函数决定Sname和Sdept或者说Sname,Sdept函数依赖于Sno,记为: Sno Sname, Sno Sdept,An Introduction to Database System,说明:,1. 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例

8、如“姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立2. 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。,An Introduction to Database System,函数依赖(续),例: Student(Sno, Sname, Ssex, Sage, Sdept) 假设不允许重名,则有:Sno Ssex, Sno Sage , Sno Sdept, Sno Sname, Sname Ssex, Sname SageSname Sdept但Ssex Sage若

9、XY,并且YX, 则记为XY。 若Y不函数依赖于X, 则记为XY。,An Introduction to Database System,二、平凡函数依赖与非平凡函数依赖,在关系模式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,An Introduction to Database System,平凡函数依赖与非平凡函数依赖(续),对于任一

10、关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明, 我们总是讨论非平凡函数依赖。,An Introduction to Database System,三、完全函数依赖与部分函数依赖,在关系模式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 Grad

11、e, 因此:(Sno, Cno) Grade,An Introduction to Database System,四、传递函数依赖,在关系模式R(U)中,如果XY,YZ,且Y X,YX,则称Z传递函数依赖于X。注: 如果YX, 即XY,则Z直接依赖于X。例: 在关系Std(Sno, Sdept, Mname)中,有:Sno Sdept,Sdept Mname Mname传递函数依赖于Sno,An Introduction to Database System,4.2.2 码,设K为关系模式R中的属性或属性组合。若 K U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多

12、个候选码,则选定其中的一个做为主码(Primary key)。主属性与非主属性ALL KEY,An Introduction to Database System,外部码,关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)简称外码。,An Introduction to Database System,4.3 范式,关系模式必须满足一定的要求。满足不同程度要求的为不同范式。范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF),An Introduct

13、ion to Database System,各种范式之间存在联系:某一关系模式R为第n范式,可简记为RnNF。,An Introduction to Database System,An Introduction to Database System,4.3.1 1NF,1NF的定义如果关系模式R的每个属性都是不可再分的,则称R为第一范式,简称1NF,记作R1NF。但是满足第一范式的关系模式并不一定是一个好的关系模式。,An Introduction to Database System,4.3.2 2NF,例: 关系模式 SLC(Sno, Sdept, Sloc, Cno, Grade)

14、Sloc为学生住处,假设每个系的学生住在同一个地方。函数依赖包括: (Sno, Cno) f Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc,An Introduction to Database System,SLC的码为(Sno, Cno)SLC满足第一范式。 非主属性Sdept和Sloc部分函数依赖于码(Sno, Cno),An Introduction to Database System,SLC不是一个好的关系模式,(1) 数据冗余度大 如果一个学生选修了10门课程,那么他的Sdept和

15、Sloc值就要重复存储了10次。(2) 插入异常假设Sno 95102 ,Sdept IS ,Sloc N的学生还未选课,因课程号是主属性,因此该学生的信息无法插入SLC。,An Introduction to Database System,SLC不是一个好的关系模式,(3) 删除异常 假定某个学生本来只选修了3号课程这一门课。现在因身体不适,他连3号课程也不选修了。因课程号是主属性,此操作将导致该学生信息也要删除。(4) 修改复杂 例如学生转系,在修改此学生元组的Sdept值的同时,还可能需要修改住处(Sloc)。如果这个学生选修了K门课,则必须无遗漏地修改K个元组中全部Sdept、Sloc信息。,An Introduction to Database System,

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

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

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