《模式设计理论》PPT课件.ppt
《《模式设计理论》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《模式设计理论》PPT课件.ppt(48页珍藏版)》请在三一办公上搜索。
1、5 关系数据库规范化理论,同济大学,本章目标,本章主要介绍关系数据库的规范化理论,要求对关系模式设计中可能出现的问题及其产生原因以及解决的途径、分解的原则和方法进行理解和掌握。,5.1 问题的概述,5.1.1 问题的提出与分析 数据库理论与设计中有一个重要的问题,就是在一个数据库中如何构造合适的关系模式,它涉及一系列的理论与技术,从而形成了关系数据库设计理论。由于合适的关系模式要符合一定的规范化要求,所以又可称为关系数据库的规范化理论。,问题的提出 例设有一个关系模式R(U),其中U为由属性S#,C#,Tn,Td和G组成的属性集合,其中S#和C#的含义同前,而Tn为任课教师姓名,Td为任课教师
2、所在系别,G为课程成绩。给关系具有如下语义:一个学生只有一个学号,一门课程只有一个课程号;每一位学生选修的每一门课程都有一个成绩;每一门课程只有一位教师任课,但一门教师可以担任多门课程;教师没有重名,每一位教师只属于一个系。,根据上述语义和常识,可以知道R的候选键有以下三组:S#,C#、C#,Tn、Tn,Td选定S#,C#作为主键通过分析关系模式R(U),我们可以发现下面两类问题。,第一类问题是所谓数据大量冗余这表现在:每一门课程的任课教师姓名必须对选修该门课程的学生重复一次;每一门课程的任课教师所在的系名必须对选修该门课程的学生重复一次。,第二类问题是所谓更新出现异常(update anom
3、alies)这表现在:修改异常(modification anomalies)修改一门课程的任课教师,或者一门课程由另一个开设,就需要修改多个元组。如果不分修改,部分不修改,就会出现数据间的不一致。插入异常(insert anomalies)由于主键中元素的属性值不能取空值,如果某系的一位教师不开课,则这位教师的姓名和所属的系名就不能插入;如果一位教师所开的课程无人选修或者一门课程列入计划而目前不开,也无法插入。删除异常(deletion anomalies)如果所有学生都退选一门课,则有关这门课的其他数据(Tn和Td)也将删除;同样,如果一位教师因故暂时停开,则这位教师的其他信息(Td,C#
4、)也将被删除。,问题的分析 这两类现象的根本原因在于关系的结构。一个关系可以有一个或者多个候选键,其中一个可以选为主键。主键的值唯一确定其他属性的值,它是各个元组型和区别的标识,也是一个元组存在的标识。这些候选键的值不能重复出现,也不能全部或者部分设为空值。本来这些候选键都可以作为独立的关系存在,在实际上却是不得不依附其他关系而存在。这就是关系结构带来的限制,它不能正确反映现实世界的真实情况。,如果在构造关系模式的时候,不从语义上研究和考虑到属性间的这种关联,简单地将有关系和无关系的、关系密切的和关系松散的、具有此种关联的和有彼种关联的属性随意编排在一起,就必然发生某种冲突,引起某些“排它”现
5、象出现,即冗余度水平较高,更新产生异常。解决问题的根本方法就是将关系模式进行分解,也就是进行所谓关系的规范化。,5.1.2 问题的解决方案,由上面的讨论可以知道,在关系数据库的设计当中,不是随便一种关系模式设计方案都是可行的,更不是任何一种关系模式都是可以投入应用的。由于数据库中的每一个关系模式的属性之间需要满足某种内在的必然联系,因此,设计一个好的数据库的根本方法是先要分析和掌握属性间的语义关联,然后再依据这些关联得到相应的设计方案。,就目前而言,人们认识到属性之间一般有两种依赖关系,一种是函数依赖关系,一种是多值依赖关系。函数依赖关系与更新异常密切相关,多值依赖与数据冗余密切联系。基于对这
6、两种依赖关系不同层面上的具体要求,人们又将属性之间的联系分为若干等级,这就是所谓的关系的规范化(normalization)。由此看来,解决问题的基本方案就是分析研究属性之间的联系,按照每个关系中属性间满足某种内在语义条件,也就是按照属性间联系所处的等级规范来构造关系。由此产生的一整套有关理论称之为关系数据库的规范化理论。规范化理论是关系数据库设计中的最重要部分。,5.2 规范化基本理论,函数依赖函数依赖的概念 设R(U)是属性集U上的关系模式,X、Y是U的一个子集。R是R(U)中的任意给定的一个关系r。若对于r中任意两个元组s和t,当sX=tX时,就有sY=tX,则称属性子集X函数决定属性子
7、集Y或者称Y函数依赖于X,否则就称X不函数决定Y或者称Y不函数依赖于X。,如果Y函数依赖于X,则记为XY;如果XY,则称X为决定因素(Determinant);如果XY,且YX,则记为XY;如果Y不函数依赖于X,则记为XY特别需要注意得是函数依赖不是指关系模式R中某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。,特殊的函数依赖非平凡函数依赖 如果XY,但Y不是X的子集,则称XY是非平凡的函数依赖,否则称为平凡的函数依赖。完全函数依赖 如果XY,但对于X中的任意一个真子集X,都有Y不依赖于X,否则称为Y完全依赖于X。当Y完全依赖于X时,记为:,部分函数依赖 如果XY,但Y不完
8、全函数依赖于X,则称Y对X部分函数依赖,记为:,传递函数依赖 如果Y非平凡函数依赖于X,但X不函数依赖于Y,并且Z函数依赖于Y,则称Z传递函数依赖于X。,键定义 设K是R(U,F)中的属性子集,如果KY,则称K为R的超键(Super key)。如果K为R的超键,并且K是“最小的”,即K的任意一个真子集都不再是R的超键,则称K为R的候选键(Candidate key),超键也简称为“键”。设属性子集K不是关系模式R的候选键,但是另一个关系模式的候选键,则称K是R的外键(Foreign key)。一个关系R的候选键可以有多个。如果在其中选定一个,则称该选定的候选键为主键(Prime key)。,主
9、属性与非主属性候选键中的任意一个属性元素称为主属性(Prime attribute);不在候选键中的属性称为非主属性(Nonprime attribute)或者非键属性(Non-key attribute)。,5.2.2 依据于函数依赖的范式,关系数据的基本要求第一范式(1NF)如果一个关系模式中的每一个属性值都是一个不可分解的数据量,则称该关系模式满足第一范式(first normal form),记为R1NF。第一范式规定了一个关系中的属性值必须是“原子”的,它排斥了属性值为元组、数组或某种复合数据的可能性,使得关系数据库中所与关系的属性值都是“最简形式”,这样就可以做到起始结构简单,为以
10、后复杂的讨论带来极大的方便。一般而言,每一个关系模式都必须满足第一范式,这是对每一个关系最基本的起码要求。,第二范式关系模式的确定一般对于一个关系R而言,除了要确定R的属性U之外,还要根据R的语义确定这个关系模式上的所有函数依赖F,这样一个关系模式就是由三元组R、U、F确定的一个整体,可以写为R(U,F)。需要注意的是,这里的表达式仅仅表示一个三元组,并不表示通常“谓词”或者关系。学生关系模式S可以写为S(S#,Sn,Sd,Sa,S#Sn,S#Sd,S#Sa)假设有一个关系SCG,它由属性S#、Sn、Sd、Ss、C#、G其中Ss表示学生所学专业,其它含义同前。,这个关系的某些语义如下:每个学生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模式设计理论 模式 设计 理论 PPT 课件
链接地址:https://www.31ppt.com/p-5536714.html