关系数据库的规范化理论课件_第1页
关系数据库的规范化理论课件_第2页
关系数据库的规范化理论课件_第3页
关系数据库的规范化理论课件_第4页
关系数据库的规范化理论课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章

关系数据库的规范化理论

第四章

关系数据库的规范化理论

本章内容1、问题的提出2、函数依赖3、关系范式4、函数依赖理论5、关系分解原则本章内容1、问题的提出4.1问题的提出学号姓名年龄性别系名系主任课程名成绩011121王强19男计算机王金喜操作系统87011132李琳18女信息刘成数据结构90020923刘过19男信息刘成C语言97021206张克20男数学刘国民高等数学88021511吴雯18女计算机王金喜软件工程76出现的问题:1、数据冗余2、修改异常3、插入异常4、删除异常例:教学关系--S1实例出现问题的原因:有太多相互之间相联系的属性保存在了同一个关系模式中,这就造成因一种信息被捆绑在其他信息上而产生的信息之间相互依附存储的问题——数据依赖4.1问题的提出学号姓名年龄性别系名系主任课程名成绩01解决问题的方法:将相互之间有太多依赖关系的属性分别存放在不同的关系中。分解后的三个关系学号姓名年龄性别系名011121王强19男计算机011132李琳18女信息020923刘过19男信息021206张克20男数学021511吴雯18女计算机系名系主任计算机王金喜信息刘成信息刘成数学刘国民计算机王金喜学号课程名成绩011121操作系统87011132数据结构90020923C语言97021206高等数学88021511软件工程76学生S1系S2选修S3现在的主要问题是:p106

解决问题的方法:将相互之间有太多依赖关系的属性分别存放在不同

4.2关系模式的函数依赖4.2.1函数依赖的相关定义(1)函数依赖定义4.1

设一个关系为R(U),X、Y是属性集U的子集。若对于元组中X上的每个值都有Y上的一个唯一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,记作XY,称X为决定因素。(同书上的概念p106)例1:设一个职工关系为(职工号,姓名,性别,年龄,职称)

职工号为决该函数依赖的决定因素例2:

U=(学号,姓名,性别,班级,系,课程号,成绩)则其函数依赖情况是:

F={学号姓名,学号性别,学号班级,学号系,班级系,(学号,课程号)成绩}注意:几点说明

4.2关系模式的函数依赖4.2.1函数依赖的相关定义4.2.2函数依赖的类型(1)平凡函数依赖与非平凡函数依赖定义4.3对于函数依赖XY,如果满足,则称此函数依赖为非平凡函数依赖,否则称之为平凡函数依赖。例如:学号姓名,学号性别,(学号,课程号)成绩等都是非平凡函数依赖。例如:(学号,课程号)学号,(学号,课程号)课程号是平凡函数依赖对于任一关系模式,平凡函数依赖必然是成立的。通常讨论的都是非平凡函数依赖。4.2.2函数依赖的类型(1)平凡函数依赖与非平凡函数依(2)完全函数依赖与部分函数依赖定义4.4对于函数依赖XY,若Y函数依赖于X,但不依赖于X的任意一个真子集

,则称Y完全函数依赖于X。记作:

例:(学号,课程号)成绩定义4.4若Y函数依赖于X,但并非完全依赖于X,则称Y部分函数依赖于X,或称Y函数依赖于X的某个真子集。记作:例:(学号,课程号)姓名(学号,课程号)姓名,而对于每个学生都有唯一的学号值,所以学号姓名。因此(学号,课程号)姓名是部分函数依赖。(2)完全函数依赖与部分函数依赖(3)传递函数依赖定义4.5如果XY,(),,YZ,则称Z传递依赖于X。记作:例:学号班级,班级系,学号系例:有以下班级关系:班级(班号,专业名,系名,人数,入学年份)其中,主码是班号。经分析,有:班号专业名,班号人数,班号入学年份,专业名系名。又因为:班号专业名,专业名班号,专业名系名,所以有:班号系名。(3)传递函数依赖4.2.3关键字的相关定义1、关键字定义:在关系模式R(U)中,若,且满足,则称K为R的候选键或候选关键字。2、候选关键字、主关键字3、主属性、非主属性、主属性集、非主属性集4.2.3关键字的相关定义1、关键字4.2.4函数依赖的推理规则1、函数依赖的逻辑蕴涵2、Armstrong公理系统3、函数依赖推理规则的完备性4、闭包的计算4.2.4函数依赖的推理规则4.2函数依赖理论一个关系模式可能存在很多个函数依赖,它们构成了该关系模式的函数依赖集。该集合是很大的,如果仅依靠语义分析的方法去找出一个关系模式的所有函数依赖是一件很不容易的事情,实际上也没有必要。1,逻辑蕴涵:用推理的方法,从一个已知的函数依赖集去推导出另一个函数依赖集,这样两个函数依赖集之间的互为因果关系称之为逻辑蕴涵。因此,我们给出一个函数依赖集闭包的定义。4.2函数依赖理论定义:所有被一个已知函数依赖集(F)逻辑蕴涵的那些函数依赖的集合称为F的闭包。P109如何由一个已知函数依赖集找出它的闭包呢?1974年,Armstrong提出了用推理方法计算闭包的一套规则,具体包括三个推理规则和三条推论,及一定的算法。定义:所有被一个已知函数依赖集(F)逻辑蕴涵的那些函数依赖的函数依赖的一些常用规则:自反性:增广性传递性合并规则分解规则伪传递性P109—p110函数依赖的一些常用规则:实际上计算推导出函数依赖集的闭包是一件非常繁琐复杂的事情,所以引入的属性集闭包的概念。关系数据库的规范化理论课件

定义4.9设F是属性集合U上的一个函数依赖集,X

U,称

为属性集X关于F的闭包。P110引理4.2设F是属性集U上的函数依赖集,X,Y是U的子集,则X

Y能由F根据Armstrong公理导出的充分必要条件是。

求属性集X关于函数依赖集F的闭包的算法P111求属性集X关于函数依赖集F的闭包的算法4.2.6函数依赖集的等价与覆盖每个函数依赖集至少存在一个最小依赖集,但并不唯一。最小函数依赖集的定义最小函数依赖集的计算方法函数依赖集极小化的作用4.2.6函数依赖集的等价与覆盖定理4.7每个函数依赖集F都有最小覆盖。定义:设一个关系为R(U),X和Y为U的子集,若XY,并且为完全非平凡函数依赖,同时Y为单属性,则称XY为R的最小函数依赖。由R中所有最小函数依赖构成R的最小函数依赖集,其中不含有冗余的传递函数依赖。最小函数依赖集的计算方法P113定理4.7每个函数依赖集F都有最小覆盖。最小函数依赖集的计算方法:1、Fmin中任一函数依赖的右部都是单个属性,故先把F中的函数依赖的右部化为单属性的形式。2、Fmin中不存在冗余的FD(即不存在这样的FD:X

A,使得F

{X

A}与F等价;故消去冗余的FD。3、消去左边冗余的属性:对F中的任一函数依赖X

A,若Z

X,则(F

{X

A})

{Z

A}与F不等价。每一个函数依赖集至少存在一个最小函数依赖集,但并不一定唯一。最小函数依赖集的计算方法:4.3关系范式分解前后模式的好坏,是用什么标准来衡量呢?

——关系模式的规范化标准(范式)关系规范化的条件可以分为几级,每一级称为一个范式,记为XNF。NF(NormalForm),范式——即关系模式满足的条件。范式的概念4.3关系范式分解前后模式的好坏,是用什么标准来衡量呢?4.3.1范式的定义及规范化1、第一范式(1NF)定义:如果一个关系模式R的每个属性的值都是不可再分的基本数据项,则称R属于第一范式。2、第二范式(2NF)定义:如果一个关系模式R属于1NF,且它的任一非主属性都完全函数依赖于任一候选关键字,则称R满足第二范式。2NF不允许关系模式中的非主属性部分函数依赖于关键字。例:书P122分析可知:部分依赖必然带来数据冗余和操作异常。如何消除部分依赖,使一个只满足1NF的关系模式变为属于2NF的关系模式???4.3.1范式的定义及规范化1、第一范式(1NF)通过模式分解,使任一非主属性都完全函数依赖于它的任一候选关键字。对于一个关系R(U),假定W、X、Y、Z是U的互不相交的属性子集,其中(W、X)是主码,且XY,(W,X)Z,Z中不包含依赖于X的属性,则把R(U)分解为两个关系R1(X,Y)和R2(W,X,Z)后就取消了Y对(W,X)的部分依赖。通过模式分解,使任一非主属性都完全函数依赖于它的任一候选关键3、第三范式(3NF)定义:如果一个关系模式R属于1NF,且每一个非主属性不传递依赖于任一候选关键字,则称R满足第三范式。消除关系的传递函数依赖也是通过关系分解的方法来实现的。设一个关系R(U),假定X、Y、Z、W是U的互不相交的属性子集,其中X是主码,YZ是直接函数依赖(也可能包含部分函数依赖),XZ是传递函数依赖,则把R(U)分解为两个关系R1(Y,Z)和R2(X,Y,W),其中Y是R1的主码,R2的外码,这样就消除了Z对X的传递依赖。3、第三范式(3NF)4、Boyce-Codd范式(BCNF)定义:设有关系模式R及其函数依赖集F,X和A是R的属性集会,且。如果只要R满足X

A,X就必包含R的一个候选关键字,则称R满足BCNF。或:若一个关系为R(U),它是满足1NF的,当R中不存在任何属性对候选码的传递函数依赖时,则称R是符合BCNF的。或:若R中的所有属性都完全直接依赖于候选码,或说R的所有函数依赖的决定因素都是候选码。没有任何属性完全函数依赖于非码的任何一组属性。关系数据库的规范化理论课件定理如果一个关系模式RBCNF,则它必满足3NF。反之,不一定成立。3NF和BCNF是在函数依赖的条件下对模式分解所能达到的分离程度的测度。一个模式中的关系模式如果都属于BCNF,那么在函数依赖范畴内,它已实现了彻底的分离,已消除了插入和删除的异常。3NF的“不彻底”性表现在可能存在主属性对码的部分依赖和传递依赖。定理如果一个关系模式RBCNF,则它必满足3NF。4.3.2关系规范化小结规范化的基本思想是逐步消除数据依赖中不适合的部分,使各关系模式达到某种程度的“分离”,即“一事一地”的模式设计原则。尽量让一个关系描述一个概念、一个实体或一种联系。若有多于一个概念的,就把它“分解”出去。因此,所谓规范化实质上是概念的单一化。4.3.2关系规范化小结4.3.2关系模式规范化步骤4.3.2关系模式规范化步骤4.4关系分解原则研究函数依赖规范化理论以及Armstrong公理等的目的是为了更有效地规范关系模式。通过关系模式的分解,使之满足某种规范化条件。但是分解处理中又会涉及一些新问题:书上的例子:4.4关系分解原则假设有一个成绩关系(学号,课程,教师,成绩),如表5-1所示,成绩关系的函数依赖集F如下:(学号,课程)教师,成绩(学号,教师)课程,成绩教师课程表5-1学号课程教师成绩010205数据库张静96010338数据库张静88020308数据库张静90010205C语言刘天民92假设有一个成绩关系(学号,课程,教师,成绩),如表5-1所示分解:表5-2和5-3学号课程成绩010205数据库96010338数据库88020308数据库90010205C语言92学号教师010205张静010338

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论