关系数据库的规范化理论

上传人:宝路 文档编号:48095772 上传时间:2018-07-09 格式:PPT 页数:31 大小:589.07KB
返回 下载 相关 举报
关系数据库的规范化理论_第1页
第1页 / 共31页
关系数据库的规范化理论_第2页
第2页 / 共31页
关系数据库的规范化理论_第3页
第3页 / 共31页
关系数据库的规范化理论_第4页
第4页 / 共31页
关系数据库的规范化理论_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《关系数据库的规范化理论》由会员分享,可在线阅读,更多相关《关系数据库的规范化理论(31页珍藏版)》请在金锄头文库上搜索。

1、第四章 关系数据库的规范化理论本章内容n1、问题的提出n2、函数依赖n3、 关系范式n4、 函数依赖理论n5、 关系分解原则4.1 问题的提出学号姓名年龄性别系名系主任课程名成绩011121王强19男计算机王金喜操作系统87011132李琳18女信息刘成数据结构90020923刘过19男信息刘成C语言97021206张克20男数学刘国民高等数学88021511吴雯18女计算机王金喜软件工程76出现的问题:1、数据冗余2、修改异常3、插入异常4、删除异常例:教学关系S1实例出现问题的原因:有太多相互之间相联系的属性保存在了同一个关系模 式中,这就造成因一种信息被捆绑在其他信息上而产 生的信息之间

2、相互依附存储的问题数据依赖n解决问题的方法:将相互之间有太多依赖关系的属性分别存放在不 同的关系中。n分解后的三个关系学号姓名年龄性别系名011121王强19男计算机011132李琳18女信息020923刘过19男信息021206张克20男数学021511吴雯18女计算机系名系主任计算机王金喜信息刘成信息刘成数学刘国民计算机王金喜学号课程名成绩011121操作系统87011132数据结构90020923C语言97021206高等数学88021511软件工程76学生 S1系 S2选修 S34.2关系模式的函数依赖n4.2.1 函数依赖的相关定义n(1)函数依赖n定义4.1 设一个关系为R(U),

3、X、Y是属性集U的子集。若对于元组 中X上的每个值都有Y上的一个唯一值与之对应, 则称X和Y具有函数 依赖关系,并称X函数决定Y,或称Y函数依赖于X,记作XY,称X为 决定因素。(同书上的概念p106)n例1:设一个职工关系为(职工号,姓名,性别,年龄,职称)职工号为决该函数依赖的决定因素例2:U=(学号,姓名,性别,班级,系,课程号,成绩)则其函数依赖情况是:F学号姓名,学号性别,学号班级,学号系,班级系, (学号,课程号)成绩 注意:几点说明4.2.2 函数依赖的类型n(1)平凡函数依赖与非平凡函数依赖n定义4.3 对于函数依赖XY,如果满足 ,则称此 函数依赖为非平凡函数依赖, 否则称之

4、为平凡函数依 赖。n例如:学号姓名,学号性别,(学号,课程号)成绩 等都是非平凡函数依赖。n例如: (学号,课程号)学号,(学号,课程号)课程号 是平凡函数依赖n对于任一关系模式,平凡函数依赖必然是成立的。n通常讨论的都是非平凡函数依赖。n(2)完全函数依赖与部分函数依赖n定义4.4 对于函数依赖XY,若Y函数依赖于X,但不依赖于X的任意一个真子集 ,则称Y完全函数依赖于X。记作:n n例:(学号,课程号) 成绩 n定义4.4 若Y函数依赖于X,但并非完全依赖于X,则称 Y部分函数依赖于X,或称Y函数依赖于X的某个真子集。n记作:n例:(学号,课程号)姓名n(学号,课程号) 姓名,而对于每个学

5、生都有唯一的学号值,所 以 学号姓名。因此(学号,课程号) 姓名 是部分函数依赖。n(3)传递函数依赖n定义4.5 如果XY,( ), , YZ,则称Z 传递依赖于X。记作:n例:学号班级,班级系,学号 系n例:有以下班级关系:n班级(班号,专业名,系名,人数,入学年份)n其中,主码是班号。 n经分析,有:班号专业名,班号人数,班号入 学年份,专业名系名。n又因为:班号专业名,专业名 班号,专业名系 名,所以有:班号 系名。4.2.3 关键字的相关定义n1、关键字n定义:在关系模式R(U)中,若 , 且满足 ,则称K为R的候选键或候 选关键字。n2、候选关键字、主关键字n3、主属性、非主属性、

6、主属性集、非主 属性集4.2.4 函数依赖的推理规则n1、函数依赖的逻辑蕴涵n2、Armstrong 公理系统n3、函数依赖推理规则的完备性n4、闭包的计算n4.2 函数依赖理论n一个关系模式可能存在很多个函数依赖,它们构成 了该关系模式的函数依赖集。n该集合是很大的,如果仅依靠语义分析的方法去找 出一个关系模式的所有函数依赖是一件很不 容易 的事情,实际上也没有必要。n1,逻辑蕴涵:用推理的方法,从一个已知的函数依 赖集去推导出另一个函数依赖集,这样两个函数依 赖集之间的互为因果关系称之为逻辑蕴涵。n因此,我们给出一个函数依赖集闭包的定义。n定义:所有被一个已知函数依赖集(F) 逻辑蕴涵的那

7、些函数依赖的集合称为F的 闭包。nP109n如何由一个已知函数依赖集找出它的闭 包呢?1974年,Armstrong提出了用 推理方法计算闭包的一套规则,具体包 括三个推理规则和三条推论,及一定的 算法。n函数依赖的一些常用规则:n自反性:n增广性n传递性n合并规则n分解规则n伪传递性P109p110n实际上计算推导出函数依赖集的闭包是 一件非常繁琐复杂的事情,所以引入的 属性集闭包的概念。定义4.9 设F是属性集合U上的一个函数依赖集, XU,称为属性集X关于F的闭包。 P110引理4.2 设F是属性集U上的函数依赖集,X,Y是 U的子集,则XY能由F根据Armstrong公理导出 的充分必

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

9、F中的函数依赖的右部化为单属性的 形式。n2、 Fmin中不存在冗余的FD(即不存在这样的 FD:X A,使得 FXA与F等价;故消去 冗余的FD。n3、消去左边冗余的属性:对F中的任一函数依 赖X A,若Z X,则(FXA)ZA与F 不等价。n每一个函数依赖集至少存在一个最小函数依赖 集,但并不一定唯一。4.3 关系范式n分解前后模式的好坏,是用什么标准来衡量呢?n 关系模式的规范化标准(范式)n关系规范化的条件可以分为几级,每一级称为一个范 式,记为XNF。nNF(Normal Form),范式即关系模式满足的 条件。n范式的概念4.3.1 范式的定义及规范化n1、第一范式(1NF)n定义

10、:如果一个关系模式R的每个属性的值都是不可再 分的基本数据项,则称R属于第一范式。n2、第二范式(2NF)n定义:如果一个关系模式R属于1NF,且它的任一非主 属性都完全函数依赖于任一候选关键字,则称R满足第 二范式。n2NF不允许关系模式中的非主属性部分函数依赖于关键字。n例:书P122n分析可知:部分依赖必然带来数据冗余和操作异常。n如何消除部分依赖,使一个只满足1NF的关系模式变为属于2NF的 关系模式?n通过模式分解,使任一非主属性都完全函数依赖于它 的任一候选关键字。n对于一个关系R(U),假定W、X、Y、Z是U的互不 相交的属性子集,其中(W、X)是主码,且X Y ,(W,X)Z,

11、Z中不包含依赖于X的属性,则把R (U)分解为两个关系R1(X,Y)和R2(W,X,Z )后就取消了Y对(W,X)的部分依赖。n3、第三范式(3NF)n定义:如果一个关系模式R属于1NF,且每一个非主属 性不传递依赖于任一候选关键字,则称R满足第三范式 。n消除关系的传递函数依赖也是通过关系分解的方法来实现的。n设一个关系R(U),假定X、Y、Z 、W是U的互不相交的属性子 集,其中 X是主码,YZ是直接函数依赖(也可能包含部分函数 依赖), XZ 是传递函数依赖,则把 R(U)分解为两个关系 R1(Y,Z)和R2(X,Y,W),其中Y是R1的主码,R2的外 码,这样就消除了Z对X的传递依赖。

12、n4、Boyce-Codd范式(BCNF)n定义:设有关系模式R及其函数依赖集F,X和A是R的 属性集会,且 。如果只要R满足X A,X就必 包含R的一个候选关键字,则称R满足BCNF。n或:若一个关系为R(U),它是满足1NF的,当R中 不存在任何属性对候选码的传递函数依赖时,则称R是 符合BCNF的。n或:若R中的所有属性都完全直接依赖于候选码,或说 R的所有函数依赖的决定因素都是候选码。n没有任何属性完全函数依赖于非码的任何一组属性。n定理 如果一个关系模式R BCNF,则它必满足3NF 。反之,不一定成立。n3NF和BCNF是在函数依赖的条件下对模式分解所能达 到的分离程度的测度。n一

13、个模式中的关系模式如果都属于BCNF,那么在函数 依赖范畴内,它已实现了彻底的分离,已消除了插入 和删除的异常。n3NF的“不彻底”性表现在可能存在主属性对码的部分 依赖和传递依赖。n4.3.2 关系规范化小结n规范化的基本思想是逐步消除数据依赖中不适 合的部分,使各关系模式达到某种程度的“分 离”,即“一事一地”的模式设计原则。尽量让 一个关系描述一个概念、一个实体或一种联系 。n若有多于一个概念的,就把它“分解”出去。因 此,所谓规范化实质上是概念的单一化。n4.3. 2关系模式规范化步骤n4.4 关系分解原则 研究函数依赖规范化理论以及 Armstrong公理等的目的是为了更 有效地规范

14、关系模式。n通过关系模式的分解,使之满足某种规范化条 件。n但是分解处理中又会涉及一些新问题:n书上的例子:n假设有一个成绩关系(学号,课程,教师,成绩), 如表5-1所示,成绩关系的函数依赖集F 如下:n(学号,课程) 教师,成绩n(学号,教师) 课程,成绩n教师课程n表5-1 学号课程教师成绩 010205数据库张静96010338数据库张静88020308数据库张静90010205C语言刘天民92n分解:n表5-2和5-3 学号课程成绩010205数据库96010338数据库88020308数据库90010205C语言92 学号教师 010205张静010338张静020308张静010205刘天民当需查询某位教师上什么课,就要对M和N两个关系 以学号为公共属性进行自然连接.?n模式分解要遵循两个原则:n(1)无损连接:当对关系模式R 进行分解时, R的元组将分别在相应属性集进行投影而产生 新的关系,如果对新的关系进行自然连接得到 的元组的集合与原关系完全一致,则称无损连 接 。n无损连接反映了模式分解的数据等价原则。n(2)保持依赖:分解前后总的函数依赖集应 保持一致。n无损连接反映了模式分解的依赖等价原则。

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

当前位置:首页 > 高等教育 > 大学课件

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