关系数据库的规范化理论课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《关系数据库的规范化理论课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 规范化 理论 课件
- 资源描述:
-
1、第四章第四章 关系数据库的规范化理论关系数据库的规范化理论本章内容本章内容n1、问题的提出、问题的提出n2、函数依赖、函数依赖n3、 关系范式关系范式n4、 函数依赖理论函数依赖理论n5、 关系分解原则关系分解原则4.1 问题的提出问题的提出学号学号姓名姓名年龄年龄性别性别系名系名系主任系主任课程名课程名成绩成绩011121王强王强19男男计算机计算机王金喜王金喜操作系统操作系统87011132李琳李琳18女女信息信息刘成刘成数据结构数据结构90020923刘过刘过19男男信息信息刘成刘成C语言语言97021206张克张克20男男数学数学刘国民刘国民高等数学高等数学88021511吴雯吴雯18
2、女女计算机计算机王金喜王金喜软件工程软件工程76出现的问题:出现的问题:1、数据冗余、数据冗余2、修改异常、修改异常3、插入异常、插入异常4、删除异常、删除异常例:教学关系例:教学关系S1实例实例出现问题的原因出现问题的原因:有太多相互之间相联系的属性保存在了同一个关系模有太多相互之间相联系的属性保存在了同一个关系模式中,这就造成因一种信息被捆绑在其他信息上而产式中,这就造成因一种信息被捆绑在其他信息上而产生的信息之间相互依附存储的问题生的信息之间相互依附存储的问题数据依赖数据依赖n解决问题的方法解决问题的方法:将相互之间有太多依赖关系的属性分别存放在不将相互之间有太多依赖关系的属性分别存放在
3、不同的关系中。同的关系中。n分解后的三个关系分解后的三个关系学号学号姓名姓名年龄年龄性别性别系名系名011121王强王强19男男计算机计算机011132李琳李琳18女女信息信息020923刘过刘过19男男信息信息021206张克张克20男男数学数学021511吴雯吴雯18女女计算机计算机系名系名系主任系主任计算机计算机王金喜王金喜信息信息刘成刘成信息信息刘成刘成数学数学刘国民刘国民计算机计算机王金喜王金喜学号学号课程名课程名成绩成绩011121操作系统操作系统87011132数据结构数据结构90020923C语言语言97021206高等数学高等数学88021511软件工程软件工程76学生学生
4、S1系系 S2选修选修 S34.2关系模式的函数依赖关系模式的函数依赖n4.2.1 函数依赖的相关定义函数依赖的相关定义n(1)函数依赖)函数依赖n定义定义4.1 设一个关系为设一个关系为R(U),),X、Y是属性集是属性集U的子集。若对于元组的子集。若对于元组中中X上的每个值都有上的每个值都有Y上的一个唯一值与之对应,上的一个唯一值与之对应, 则称则称X和和Y具有函数具有函数依赖关系,并称依赖关系,并称X函数决定函数决定Y,或称,或称Y函数依赖于函数依赖于X,记作,记作XY,称,称X为为决定因素决定因素。(同书上的概念。(同书上的概念p106)n例例1:设一个职工关系为(:设一个职工关系为(
5、职工号职工号,姓名,性别,年龄,职称),姓名,性别,年龄,职称) 职工号职工号为决该函数依赖的决定因素为决该函数依赖的决定因素 例例2: U=(学号,姓名,性别,班级,系,课程号,成绩)(学号,姓名,性别,班级,系,课程号,成绩) 则其函数依赖情况是:则其函数依赖情况是: F学号学号姓名,学号姓名,学号性别,学号性别,学号班级,学号班级,学号系,班级系,班级系,系,(学号,课程号)(学号,课程号)成绩成绩 注意:几点说明注意:几点说明4.2.2 函数依赖的类型函数依赖的类型n(1)平凡函数依赖与非平凡函数依赖)平凡函数依赖与非平凡函数依赖n定义定义4.3 对于函数依赖对于函数依赖XY,如果满足
6、如果满足 ,则称,则称此函数依赖为非平凡函数依赖,此函数依赖为非平凡函数依赖, 否则称之为平凡函数否则称之为平凡函数依赖。依赖。n例如:例如:学号学号姓名,学号姓名,学号性别,(学号,课程号)性别,(学号,课程号)成绩成绩 等都是非平凡函数依赖。等都是非平凡函数依赖。n例如:例如: (学号,课程号)(学号,课程号)学号,(学号,课程号)学号,(学号,课程号)课程号课程号 是平凡函数依赖是平凡函数依赖n对于任一关系模式,平凡函数依赖必然是成立的。对于任一关系模式,平凡函数依赖必然是成立的。n通常讨论的都是非平凡函数依赖。通常讨论的都是非平凡函数依赖。YXYXn(2)完全函数依赖与部分函数依赖)完
7、全函数依赖与部分函数依赖n定义定义4.4 对于函数依赖对于函数依赖XY,若,若Y函数依赖于函数依赖于X,但不依赖于,但不依赖于X的任的任意一个真子集意一个真子集 ,则称,则称Y完全函数依赖于完全函数依赖于X。记作:。记作:n n例:(学号,课程号)例:(学号,课程号) 成绩成绩 n定义定义4.4 若若Y函数依赖于函数依赖于X,但并非完全依赖于,但并非完全依赖于X,则称,则称Y部分函数依赖于部分函数依赖于X,或称,或称Y函数依赖于函数依赖于X的某个真子集。的某个真子集。n记作:记作:n例:(学号,课程号)例:(学号,课程号)姓名姓名n(学号,课程号)(学号,课程号) 姓名,而对于每个学生都有唯一
8、的学号值,所姓名,而对于每个学生都有唯一的学号值,所以以 学号学号姓名。因此(学号,课程号)姓名。因此(学号,课程号) 姓名姓名 是部分函数依赖。是部分函数依赖。XXFXY PXY P F n(3)传递函数依赖)传递函数依赖n定义定义4.5 如果如果XY,(,( ),), , YZ,则称,则称Z传递依赖于传递依赖于X。记作:记作:n例:学号例:学号班级,班级班级,班级系,学号系,学号 系系n例:有以下班级关系:例:有以下班级关系:n班级(班级(班号班号,专业名,系名,人数,入学年份),专业名,系名,人数,入学年份)n其中,主码是班号。其中,主码是班号。 n经分析,有:班号经分析,有:班号专业名
9、,班号专业名,班号人数,班号人数,班号入入学年份,专业名学年份,专业名系名。系名。n又因为:班号又因为:班号专业名,专业名专业名,专业名 班号,专业名班号,专业名系名,所以有:班号系名,所以有:班号 系名。系名。YXYXTXZ T T FKU 4.2.3 关键字的相关定义关键字的相关定义n1、关键字、关键字n定义:在关系模式R(U)中,若 ,且满足 ,则称K为R的候选键或候选关键字。n2、候选关键字、主关键字、候选关键字、主关键字n3、主属性、非主属性、主属性集、非主、主属性、非主属性、主属性集、非主属性集属性集KU4.2.4 函数依赖的推理规则n1、函数依赖的逻辑蕴涵n2、Armstrong
10、 公理系统n3、函数依赖推理规则的完备性n4、闭包的计算n4.2 函数依赖理论函数依赖理论n一个关系模式可能存在很多个函数依赖,它们构一个关系模式可能存在很多个函数依赖,它们构成了该关系模式的函数依赖集。成了该关系模式的函数依赖集。n该集合是很大的该集合是很大的,如果仅依靠语义分析的方法去找如果仅依靠语义分析的方法去找出一个关系模式的所有函数依赖是一件很不出一个关系模式的所有函数依赖是一件很不 容易容易的事情,实际上也没有必要。的事情,实际上也没有必要。n1,逻辑蕴涵:用推理的方法,从一个已知的函数依逻辑蕴涵:用推理的方法,从一个已知的函数依赖集去推导出另一个函数依赖集,这样两个函数赖集去推导
11、出另一个函数依赖集,这样两个函数依赖集之间的互为因果关系称之为逻辑蕴涵。依赖集之间的互为因果关系称之为逻辑蕴涵。n因此,我们给出一个函数依赖集闭包的定义。因此,我们给出一个函数依赖集闭包的定义。n定义:所有被一个已知函数依赖集(定义:所有被一个已知函数依赖集(F)逻辑蕴涵的那些函数依赖的集合称为逻辑蕴涵的那些函数依赖的集合称为F的的闭包。闭包。nP109n如何由一个已知函数依赖集找出它的闭如何由一个已知函数依赖集找出它的闭包呢?包呢?1974年,年,Armstrong提出了用提出了用推理方法计算闭包的一套规则,具体包推理方法计算闭包的一套规则,具体包括三个推理规则和三条推论,及一定的括三个推理
12、规则和三条推论,及一定的算法。算法。n函数依赖的一些常用规则:函数依赖的一些常用规则:n自反性:自反性:n增广性增广性n传递性传递性n合并规则合并规则n分解规则分解规则n伪传递性伪传递性P109p110n实际上计算推导出函数依赖集的闭包是实际上计算推导出函数依赖集的闭包是一件非常繁琐复杂的事情,所以引入的一件非常繁琐复杂的事情,所以引入的属性集闭包属性集闭包的概念。的概念。 定义定义4.9 设设F是属性集合是属性集合U上的一个函数依赖集,上的一个函数依赖集,X U,称,称 为属性集为属性集X关于关于F的闭包。的闭包。P110引理引理4.2 设设F是属性集是属性集U上的函数依赖集,上的函数依赖集
展开阅读全文