欢迎来到天天文库
浏览记录
ID:45212706
大小:696.50 KB
页数:53页
时间:2019-11-10
《《函数依赖的理论》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章关系模式的规范化设计——函数依赖的理论数据库原理与应用1关系模式的规范化设计所要解决的问题什么是“好”的关系数据模式如何评价一个好的关系数据模式如何设计一个“好”的关系数据模式2关系模式的规范化设计主要内容关系模式的设计问题关系模式规范化的基本概念和理论关系模式分解的理论基础和算法3回顾1NF2NF3NFBCNF去除非主属性对于候选键的部分函数依赖去除非主属性对于候选键的传递函数依赖去除主属性对于候选键的部分和传递函数依赖去除不被候选键所蕴涵的非平凡的多值依赖4NF----消除决定因素非码的非平凡函数依赖4理论研究的必要
2、性对于应用所表达的语义用一组函数依赖是否能充分表达模式属性间的约束关系,即得到一个给定的关系模式的完整函数依赖集F?能否将完整函数依赖集F缩小到一个可管理的范围?即找到一个远远小于F的集合T,蕴含集合F的所有函数依赖,则DBMS只要实现函数依赖集T,函数依赖集F中的所有函数依赖便会自动实现。函数依赖的理论5主要内容Armstrong公理逻辑蕴含函数依赖集F的闭包F+Armstrong公理推理规则属性集闭包函数依赖集等价和最小函数依赖集候选码及其求解方法函数依赖的理论6【例】设有关系模式R(A,B,C),及其函数依赖集F={A→
3、B,B→C},判断A→C是否成立。Armstrong公理解:对于关系模式R的任一实例r的任意元组ti、tj,i≠j,若ti[A]=tj[A],根据函数依赖的定义由A→B可推出ti[B]=tj[B]又由B→C可推出ti[C]=tj[C]因此,若ti[A]=tj[A],可推出ti[C]=tj[C]根据函数依赖的定义,则可得出A→C。7逻辑蕴含设F是关系模式R上的函数依赖集,X→Y是R上的一个函数依赖,若对于R的每个满足F的关系r也满足X→Y,则称F逻辑蕴含X→Y记为:F┝X→Y。Armstrong公理8【例】R(学生学号,学生姓名
4、,所在系,系主任,课程名称,成绩},F={学生学号→学生姓名,学生学号→所在系,所在系→系主任,(学生学号,课程名称)→成绩}Armstrong公理逻辑蕴含9【例】R(学生学号,学生姓名,所在系,系主任,课程名称,成绩}F={学生学号→学生姓名,学生学号→所在系,所在系→系主任,(学生学号,课程名称)→成绩}Armstrong公理逻辑蕴含学生学号→学生学号,学生学号→系主任(学生学号,所在系)→学生学号(学生学号,所在系)→所在系(学生学号,课程名称)→所在系(学生学号,所在系)→系主任(学生学号,课程名称)→(学生学号,学生
5、姓名,所在系,系主任,课程名称,成绩)10函数依赖集F的闭包F+F逻辑蕴含的所有函数依赖的集合称为函数依赖集F的闭包,并记为F+F+={X→Y│F┝X→Y}Armstrong公理11Armstrong公理推理规则通过推理规则,可以从给定的函数依赖中推出其所蕴含的新的函数依赖。假设U为关系模式R的属性集,F是U上的函数依赖集,X、Y、Z是U的任意子集,并采用把子集X、Y的并集记为XY的方式,对关系模式R来说有以下的推理规则:基本规则(3条)扩充规则(3条)Armstrong公理12Armstrong公理推理规则基本规则
6、Al.自反律(Reflexivity)若YXU,则X→Y为F所蕴含。A2.增广律(Augmentation)若X→Y为F所蕴含,且ZU,则XZ→YZ为F所蕴含。A3.传递律(Transitivity)若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。Armstrong公理13Armstrong公理推理规则扩充规则合并规则由X→Y,X→Z,有X→YZ。(A2,A3)伪传递规则由X→Y,WY→Z,有XW→Z。(A2,A3)分解规则由X→Y及ZY,有X→Z。(A1,A3)Armstrong公理14Armstrong公理推理规则
7、根据合并规则和分解规则:引理1:X→A1A2…Ak成立的充分必要条件是X→Ai成立(i=l,2,…,k)Armstrong公理15Armstrong公理推理规则Armstrong公理【例】设有关系R,它的属性集U={A,B,C,D,E,F},R满足下列函数依赖:F={A→BC,B→E,CD→EF},试证AD→F证明:∵A→BC(已知)∴AD→BCD(增广律)∵BCD→CD(自反律)∵CD→EF(已知)∴BCD→EF(传递律)∴AD→EF(传递律)∴AD→F(分解规则)16Armstrong公理的有效性从F中的已有函数依赖关系利
8、用Armstrong公理推出的每一个函数依赖X→Y∈F+Armstrong公理的完备性给定函数依赖集F,该函数依赖集所蕴含的函数依赖,即F+中的每一个函数依赖都可以利用Armstrong公理推导出来。Armstrong公理推出的所有函数依赖为真可以推出所有的函数依赖17函数依
此文档下载收益归作者所有