欢迎来到天天文库
浏览记录
ID:56463646
大小:71.50 KB
页数:36页
时间:2020-06-19
《关系模式设计理论.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关系模式设计理论主要内容关系数据库的基本结构是关系模式设计好的关系模式集合控制数据冗余对数据进行有效管理模式设计理论包括:数据依赖、范式、模式设计方法内容1关系模式的设计准则2函数依赖3关系模式的分解特性4范式1关系模式的设计准则1.1关系模式的冗余和异常问题1.2关系模式的非形式化设计准则1.1关系模式的冗余和异常问题数据冗余是指同一个数据在系统中重复出现数据冗余引起的操作异常修改异常插入异常删除异常解决冗余的主要方法:分解什么是最优关系模式?标准是什么?如何实现?1.2关系模式的非形式化设计准则四个非形式化的衡量准则准则1:尽可能只包含有直接联系的属性准则2:尽可能不出现插入、
2、删除、修改异常准则3:尽量避免放置经常为空的属性准则4:尽可能使关系的等值连接在主键和外键的属性上进行2函数依赖函数依赖是关键码概念的推广。内容2.1函数依赖的定义2.2FD的逻辑蕴涵2.3FD的推理规则2.4FD和关键码的联系2.5属性集的闭包2.6FD集的最小依赖集2.1函数依赖的定义数据库中,属性值之间会发生联系,这类联系称为函数依赖(functionaldependency)。函数依赖的定义:设有关系模式R(U),X,YU,r是R(U)上的任意一个关系,如果成立对t,sr,若t[X]=s[X],则t[Y]=s[Y],那么称“X函数决定Y”,或“Y函数依赖于X”,记作X
3、Y。称X为决定因素。如果XY和YX同时成立,则可记为XY,即X值与Y值一一对应。2.2FD的逻辑蕴涵设F是在关系模式R上成立的函数依赖的集合,XY是一个函数依赖。如果对于R的每个满足F的关系r也满足XY,那么称F逻辑蕴涵XY,记为F
4、=XY。设F是函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集F的闭包,记为F+。即F+={XY
5、F
6、=XY}2.3FD的推理规则问题的提出:数据库设计者把ER图转换为关系模式后,根据实际情况确定相应的函数依赖集合。为了更科学合理地分解关系模式,不仅知道函数依赖集合,还要知道这个函数依赖集合所蕴涵的所有函数依赖的集
7、合。那么怎么从给定大的函数依赖集合推导出它所蕴涵的所有函数依赖呢?Armstrong公理系统由若干原始概念和推理规则构成利用Armstrong公理系统中的推理规则,可以由给定的原始函数依赖集合推导出这个函数依赖集合所蕴涵的所有函数依赖。2.3FD的推理规则设U是关系模式R的属性集,F是R的一个函数依赖集合。Armstrong公理系统包含如下三条推理规则:A1自反性:若YXU,XY在R上成立。A2增广性:若XY在R上成立,且ZU,则XZYZ在R上成立。A3传递性:若XY和YZ在R上成立,则XZ在R上成立。给定R的一个函数依赖集F,使用这三条推理规则,可以推出F所蕴含
8、的所有函数依赖关系。2.3FD的推理规则FD推理规则A1、A2、A3是正确的。即,如果XY是从F用推理规则导出,那么XY在F+中。FD的其它五条推理规则A4合并性:{XY,XZ}
9、=XYZ。A5分解性:{XY,ZY}
10、=XZ。A6伪传递性:{XY,WYZ}
11、=WXZ。A7复合性:{XY,WZ}
12、=XWYZ。A8:{XY,WZ}
13、=X∪(W-Y)YZ。2.3FD的推理规则对于FDXY,如果YX,那么称XY是一个“平凡的FD”,否则为“非平凡的FD”。“非平凡的FD”和“真正的”完整性约束条件相关。如果A1…An是关系模式R的属性集,那么XA
14、1…An成立的充要条件是XAi(i=1,…,n)成立。例:关系模式R(X,Y,Z),给定函数依赖集F=(XY,YZ)。根据Armstrong公理的推理规则3,可知XZ也是R上的一个函数依赖。思考:XYY是R上的一个函数依赖吗?为什么?2.4FD和关键码的联系设关系模式R的属性集是U,X是U的一个子集。如果XU在R上成立,那么称X是R的一个超键。如果XU在R上成立,但对于X的任一真子集X1都有X1U不成立,那么称X是R上的一个候选键。一般,键都是指候选键。2.5属性集的闭包规则集{A1、A2、A3}是函数依赖的一个正确的和完备的推理规则集。P74设F是属性集U上的F
15、D集,X是U的子集,那么属性集X的闭包X+是一个从F集使用FD推理规则推出的所有满足XA的属性A的集合:X+={属性A
16、F
17、=XA}XY能用FD推理规则推出的充要条件是YX+。计算属性集闭包的算法2.6FD集的最小依赖集如果关系模式R(U)上的两个函数依赖集F和G,有F+=G+,则称F和G是等价的函数依赖集。最小依赖集的形式定义如果函数依赖集G满足以下三个条件,则称G是最小依赖集:(1)G中每个FD的右边都是单属性;(2)G中没有冗余的F,即G中不存在这样的
此文档下载收益归作者所有