自考_互联网数据库_第四章_关系数据库设计理论概要课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《自考_互联网数据库_第四章_关系数据库设计理论概要课件.ppt》由会员分享,可在线阅读,更多相关《自考_互联网数据库_第四章_关系数据库设计理论概要课件.ppt(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 关系数据库设计理论4.1 数据依赖4.2 范式4.3 关系模式的规范化4.1 数据依赖n 关系数据库是以关系模型为基础的数据库,它利用关系描述现实世界。n 一个关系既可以用来描述一个实体及其属性,也可用来描述实体间的一种联系。n 关系模式是用来定义关系的,一个关系数据库包含一组关系,定义这组关系的关系模式的全体就构成了该数据库的模式。24.1.1 关系模式中的数据依赖n 关系模式是对关系的描述,为了能够清楚地刻划出一个关系,它需要由五部分组成,即应该是一个五元组:R(U,D,DOM,F)其中:R 关系名 U 属性名集合 D 属性组U 中属性所来自的域 DOM 属性向域的映象集合 F 属
2、性间数据的关系集合3关系模式中的数据依赖续一n 属性间数据的依赖关系集合F 实际上就是描述关系的元组语义,限定组成关系的各个元组必须满足的完整性约束条件。n 在实际当中,这些约束或者通过对属性取值范围的限定,或者通过对属性值间的相互关连(主要体现值的相等与否)反映出来,后者称为数据依赖,它是数据库模式设计的关键。4关系模式中的数据依赖续二n 关系是关系模式在某一时刻的状态或内容。n 关系模式是静态的、稳定的,关系是动态的,不同时刻关系模式中的关系可能会有所不同,但它们都必须满足关系模式中数据依赖关系集合F 所指定的完整性约束条件。5关系模式中的数据依赖续三n 由于在关系模式R(U,D,DOM,
3、F)中,影响数据库模式设计的主要是U 和F,D 的DOM 对其影响不大,为了方便讨论,将关系模式简化为一个三元组:R(U,F)n 当且仅当U 上的一个关系r 满足F 时,r称为关系模式R(U,F)的一个关系。64.1.2 数据依赖对关系模式的影响n 数据依赖是通过一个关系中属性间值的相等与否体现出来的的数据间的相互关系。n 数据依赖的类型很多,其中最重要的是函数依赖(functional dependency,简记为FD)和多值依赖(multivalued dependency,简记为MVD)。7数据依赖对关系模式的影响续一n 函数依赖普遍地存在于现实生活中。例:学生关系中的学号(Sno)、姓
4、名(Sname)、所有系(Sdept)等几个属性,其中:SnoSname SnoSdept Sno 函数决定Sname 和Sdept;反之,Sname 和Sdept 函数依赖于Sno。8数据依赖对关系模式的影响续二n 例:描述学校的数据库 学号(Sno)、所在系(Sdept)、系主任名(Mname)、课程名(Cname)和成绩(Grade)。假设学校的数据库模式由一个单一的关系模式student 构成,即:student(Sno,Sdept,Mname,Cname,Grade)9数据依赖对关系模式的影响续三n 例:描述学校的数据库 由常识可知:(1)一个系有若干学生,但一个学生只属于一个系;(
5、2)一个系只有一名主任;(3)一个学生可以选修多门课程,每门课程有若干学生选修;(4)每个学生所学的每门课程都有一个成绩。10数据依赖对关系模式的影响续四n 该关系模式的属性集合为:U=Sno,Sdept,Mname,Cname,Graden 从上述事实可以得到属性组U 上的一组函数依赖F 为:F=SnoSdept,SdeptMname,(Sno,Cname)Grade11数据依赖对关系模式的影响续五12数据依赖对关系模式的影响续六n 只考虑函数依赖这一数据依赖,学生关系模式student 存在以下问题:数据冗余太大;更新异常;插入异常;删除异常。13数据依赖对关系模式的影响续七n 一个关系模
6、式之所以会产生上述问题,是由存在于模式中的某些数据依赖引起的。n 规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。144.1.3 相关概念1.函数依赖【定义4.1】设R(U)是一个关系模式,U 是R 的属性集合,X 和Y 是U 的子集。对于R(U)的任意一个可能的关系r,如果r 中不存在两个元组,它们在X 上的属性值相同,而在Y 上的属性值不同,则称“X 函数确定Y”或“Y 函数依赖于X”,记作XY。15函数依赖续一n 对于函数依赖的几点说明:(1)函数依赖不是指关系模式R 的某个或某些关系实例满足的约束条件,而是指
7、R 的所有关系实例均要满足的约束条件。(2)函数依赖和别的数据之间的依赖关系一样,是语义范畴的概念。我们只能根据数据的语义来确定函数依赖。例:姓名年龄16函数依赖续二n 对于函数依赖的几点说明:(3)数据库设计者可以对现实世界作强制的规定,例:“姓名年龄”。这样当插入某个元组时这个元组上的属性值必须满足规定的函数依赖,若发现有同名人存在,则拒绝装入该元组。17函数依赖续三(4)若XY,则X 称为这个函数依赖的决定属性集(Determinant)。(5)若XY,并且YX,则记为XY。(6)若Y 不函数依赖于X,则记为XY。18相关概念续二2.平凡函数依赖与非平凡函数依赖【定义4.2】在关系模式R
8、(U)中,对于U 的子集X 和Y,如果XY,但 Y X,则XY 是非平凡的函数依赖。若Y X,则称XY 称为平凡函数依赖。/19相关概念续三3.完全函数依赖与部分函数依赖【定义4.3】在关系模式R(U)中,如果XY,并且对于X 的任何一个真子集X,都有X Y,则称Y 完全函数依赖于X,记作X Y。若XY,但Y 不完全函数依赖于X,则称Y 部分函数依赖于X,记作X Y。20相关概念续四4.传递函数依赖【定义4.4】在关系模式R(U)中,如果XY,YZ,且Y X,YX,则称Z 传递函数依赖于X。例:SnoSdept SdeptMname Sno Mname/21相关概念续五5.码【定义4.5】设K
9、 为关系模式R(U,F)中的属性或属性组合。若K U,则K称为R 的一个候选码(Candidate Key)。若关系模式有多个候选码,则选定其中的一个作为主码(Primary Key)。22相关概念续六5.码【定义4.6】关系模式R 中属性或属性组X 并非R 的码,但X 是另一个关系模式的码,则称X 是R 的外部码(Foreign Key),也称外码。例:关系模式R(城市,街道,邮编)城市,街道 邮编,邮编 城市 候选键是?234.2 范式n 关系数据库中的关系必须满足一定的规范化要求,对于不同的规范化程序可用范式来衡量。n 范式是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准
10、,达到范式的关系才是规范化的。24范式续一n 目前主要有六种范式:第一范式、第二范式、第三范式、BC 范式、第四范式和第五范式。n 各种范式之间存在联系:范式:Normal Form25范式续二n 通常把某一关系模式R 为第n范式简记为R nNF。n 在所有范式中,最重要的是3NF 和BCNF,它们是进行规范化的主要目标。n 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级模式的关系模式的集合,这个过程称为规范化。264.2.1 第一范式n【定义4.7】如果一个关系模式R 的所有属性都是不可分的基本数据项,则R 1NF。n 第一范式是对关系模式的一个最起码的要求,不满足第一范式的数
11、据库模式不能称为关系数据库。27第一范式续一n 满足第一范式的关系模式不一定是一个好的关系模式,例:SLC(Sno,Sdept,Sloc,Cno,Grade)函数依赖有:(Sno,Cno)Grade,SnoSdept,(Sno,Cno)Grade,SnoSloc,(Sno,Cno)Sloc,SdeptSloc28第一范式续二29第一范式续三n SLC 关系存在以下4个问题:(1)插入异常:如果要插入一个学生信息Sno=99102,Sdept=IS,Sloc=N,但还因为没有选课信息,所以无法插入。((Sno,Cno)是主码,不允许为空。)应插入的信息无法插入30第一范式续四n SLC 关系存在
12、以下4个问题:(2)删除异常:学号为99022的学生只选修了3号课程,如果现在他不选修3号课程,则该元组整个被删除,从而删除了99022的其他信息。不应删除的信息被删除了31第一范式续五n SLC 关系存在以下4个问题:(3)数据冗余度大:如果一个学生选修了多门课程,那么他的Sdept 和Sloc 值就要重复存储多次。32第一范式续六n SLC 关系存在以下4个问题:(4)修改复杂:如果一个学生转系,除了修改Sdept 外,还要修改Sloc 的值。如果该学生选修了多门课程,那么这些元组中的所有Sdept 和Sloc 值都需要修改。因此,SLC 不是一个好的关系模式334.2.2 第二范式n S
13、LC 出现上述问题的原因是Sdept、Sloc 对码的部分函数依赖。为了消除这些部分函数依赖,可以采用投影分解法,把SLC 分解为两个关系模式:SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)消除非主属性对码的部分函数依赖34第二范式续一35第二范式续二n 2NF 就是不允许关系模式的属性之间有这样的函数依赖XY,其中X 是码的真子集,Y 是非主属性。n 码只包含一个属性的关系模式如果属于1NF,那么它一定属于2NF。因为它不可能存在非主属性对码的部分函数依赖。36第二范式续三n 2NF 并不能完全消除关系模式中的各种异常情况和数据冗余。例如:SL(Sno,Sdept,S
14、loc)是2NF,其中有下列函数依赖:SnoSdept SdeptSloc SnoSloc传递函数依赖37第二范式续四n SL(Sno,Sdept,Sloc)中存在非主属性对码的传递函数依赖,依然存在各种问题:(1)插入异常:刚建的系无学生,无法插入系的信息。(2)删除异常:如果删除某个系的全部学生信息,将会同时删除系信息。38第二范式续五n SL(Sno,Sdept,Sloc)中存在非主属性对码的传递函数依赖,依然存在各种问题:(3)数据冗余度大:同一个系的住处信息将多次存放。(4)修改复杂:某个系学生全部换住处时,所有相关学生信息都要修改。394.2.3 第三范式n SL 出现上述问题的原
15、因是Sloc 传递函数依赖于Sno。为了消除该传递函数依赖,可以采用投影分解法,把SL 分解为两个关系模式:SD(Sno,Sdept)DL(Sdept,Sloc)消除非主属性对码的传递函数依赖40第三范式续一n【定义4.8】如果关系模式R(U,F)中不存在候选码X、属性组Y 以及非主属性Z(Z Y),使得XY,YX 和YZ 成立,则R 3NF。n 可以证明,若R 3NF,则R 2NF。/41第三范式续二部分依赖 传递依赖不传递依赖 不部分依赖3NF 模式2NF 模式n 如果R 是3NF 模式,那么R 也是2NF 模式。42第三范式续三n 将一个2NF 关系分解为多个3NF 的关系后,并不能完全
16、消除关系模式中的各种异常情况和数据冗余。n 例:关系模式STJ(S,T,J)中S 表示学生,T 表示教师,J 表示课程。若每、一教师只教一门课,每门课由若干教师教,某一学生选定某门课,就确定了固定的教师。43第三范式续四n 函数依赖为:(S,J)T(S,T)J TJn 候选码为:(S,J)或(S,T)。n STJ 关系模式中没有非主属性对码的传递或部分函数依赖,所以STJ 3NF。44第三范式续五n 3NF 的STJ 关系模式也存在一些问题:插入异常;删除异常;数据冗余度大;修改复杂。454.2.4 BC 范式n STJ 出现上述问题的原因在于主属性对码的传递依赖。解决这一问题仍然可以采用投影
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 互联网 数据库 第四 关系 设计 理论 概要 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内