数据库原理与应用(第二版)Chapter4课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库原理与应用(第二版)Chapter4课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 第二 Chapter4 课件
- 资源描述:
-
1、第四章第四章关系数据理论关系数据理论4.1 4.1 关系数据库模式的设计问题关系数据库模式的设计问题1引言引言 数据库设计的一个最基本的问题是如何建立一数据库设计的一个最基本的问题是如何建立一个好的数据库模式,即给出一组数据,如何个好的数据库模式,即给出一组数据,如何构造一个适合于它们的数据模式,使数据库构造一个适合于它们的数据模式,使数据库系统有较好的性能。系统有较好的性能。2 2关系模式的存储异常问题关系模式的存储异常问题 1)1)数据冗余量大数据冗余量大 2)2)数据修改量大数据修改量大 3)3)插入异常插入异常 4)4)删除异常删除异常 3 3 冗余和数据依赖冗余和数据依赖数据依赖是指
2、数据之间存在的各种联系,数据依赖是指数据之间存在的各种联系,譬如键就是一种依赖。数据冗余的产譬如键就是一种依赖。数据冗余的产生和数据依赖有着密切的联系。生和数据依赖有着密切的联系。例如关系例如关系S S中,为什么学生中,为什么学生S2S2的班级会重的班级会重复出现?就是因为复出现?就是因为S S和和CLSCLS之间存在之间存在依赖关系,即每个学生只属于一个班依赖关系,即每个学生只属于一个班级,这种依赖称为函数依赖。这个依级,这种依赖称为函数依赖。这个依赖势必造成关系出现冗余现象。赖势必造成关系出现冗余现象。4.2 4.2 关系模式的函数依赖关系模式的函数依赖1.1.函数依赖的定义函数依赖的定义
3、定义定义1 1:设有关系模式设有关系模式R R(),),是是R R的的属性的集合,属性的集合,X X、Y Y,对于,对于R R的任意的任意关系实例关系实例r r,r r中的任意两个元组中的任意两个元组t t和和s s,如果如果tX=sXtX=sX,则,则tY=sYtY=sY,则称,则称Y Y函数依赖于函数依赖于X X,或称,或称X X函数地决定函数地决定Y Y,记,记作作XYXY。定义定义2 2:设设R R是一个具有属性集合是一个具有属性集合的关系的关系模式,如果模式,如果XY XY,并且对于,并且对于X X的任何的任何一个真子集一个真子集Z Z,ZYZY都不成立,则称都不成立,则称Y Y完全
4、函数依赖于完全函数依赖于X X,记作:,记作:X Y X Y。若。若XYXY,但,但Y Y不完全函数依赖于不完全函数依赖于X X,则称,则称Y Y部分函数依赖于部分函数依赖于X X,记作:,记作:X YX Y。fp定义定义3 3:设设R R是一个具有属性集合是一个具有属性集合的关的关系模式,系模式,X X,Y Y,Z Z是是的子集,的子集,YXYX不成立,不成立,Z ZX X、Z ZY Y和和Y YX X不空。如不空。如果果XYXY,YZYZ则称则称Z Z传递函数依赖于传递函数依赖于X X,记作:记作:X ZX Z。例如对于关系:学生(学号,班级,班例如对于关系:学生(学号,班级,班主任),有
5、:主任),有:学号学号班级,班级班级,班级班班主任,则学号主任,则学号班主任,所以班主任,所以 学号学号 班主任。班主任。tt2.键键 定义定义4 4 设设R R是一个具有属性集合是一个具有属性集合的关系的关系模式,模式,K K是是的子集。若的子集。若K K满足下列两满足下列两个条件,则称个条件,则称K K是是R R的一个候选键。的一个候选键。1)1)KK2)2)不存在不存在K K的真子集的真子集Z Z,使得,使得ZZ。候选键可以唯一地识别关系的元组。一个候选键可以唯一地识别关系的元组。一个关系模式中可能具有多个候选键。我关系模式中可能具有多个候选键。我们可以指定一个候选键作为主键。们可以指定
6、一个候选键作为主键。定义定义5 5 设设X X是关系模式是关系模式R R的属性的子集。如果的属性的子集。如果X X是另一关系模式的候选键,则称是另一关系模式的候选键,则称X X是是R R的外的外部键。部键。例如,在学生关系例如,在学生关系S S(S S,SNSN,CLSCLS,MONMON,C C,GRGR)中存在以下函数依赖:)中存在以下函数依赖:1)1)S SSNSN,每个学生有唯一的一个学号;,每个学生有唯一的一个学号;2)2)CLSMONCLSMON,每个班最多只有一个班主任;,每个班最多只有一个班主任;3)3)S SCLSCLS,每个学生只属于一个班级;,每个学生只属于一个班级;4)
7、4)(S S,C C)GRGR,一个学生选修一门课,一个学生选修一门课程有一个成绩等级;程有一个成绩等级;可以看出(可以看出(S S,C C)是主键。)是主键。4.3 关系的规范化关系的规范化 在关系数据模式设计中,为了避免由依赖在关系数据模式设计中,为了避免由依赖引起的数据冗余和更新异常等问题,引起的数据冗余和更新异常等问题,必须进行关系模式的合理分解,即关必须进行关系模式的合理分解,即关系模式的规范化。系模式的规范化。1.1.关系模式的范式关系模式的范式关系模式的设计原则:关系模式的设计原则:1)1)数据的冗余量尽量小;数据的冗余量尽量小;2)2)对关系进行插入、删除等操作,不要出问题对关
8、系进行插入、删除等操作,不要出问题3)3)尽量能如实地反映现实世界的实际情况,而尽量能如实地反映现实世界的实际情况,而且又易懂。且又易懂。关系数据库中的关系满足一定的要求。而把满关系数据库中的关系满足一定的要求。而把满足不同程度要求的关系称为不同的范式。足不同程度要求的关系称为不同的范式。满足最低要求的关系叫第一范式,简称满足最低要求的关系叫第一范式,简称1NF1NF。在。在第一范式中进一步满足一定要求的为第二范第一范式中进一步满足一定要求的为第二范式,简称式,简称2NF2NF,其余以此类推。,其余以此类推。关系规范化关系规范化:就是一个低一级范式的关系模式通就是一个低一级范式的关系模式通过投
9、影运算,转化为若干高一级范式的关系过投影运算,转化为若干高一级范式的关系模式的集合,这种过程就叫关系的规范化。模式的集合,这种过程就叫关系的规范化。各范式之间的关系各范式之间的关系1NF1NF2NF2NF3NF3NF4NF4NF5NF5NF(1)(1)第一范式(第一范式(1NF1NF)设设R R是一个关系模式。如果是一个关系模式。如果R R的每一属性的值都的每一属性的值都是不可分离的原子值,即每个属性的值域是是不可分离的原子值,即每个属性的值域是单值域,则单值域,则R R是第一范式,记作是第一范式,记作R1NFR1NF。符合符合1NF1NF的工资关系的工资关系编编 号号姓姓 名名基本工资基本工
10、资奖奖 金金1 12 210101515张三张三李四李四王五王五赵六赵六200200000028028000002602600000230230000030300000505000004545000040400000(2)(2)第二范式第二范式如果关系模式如果关系模式R1NFR1NF,且,且R R中每一非主属性完全中每一非主属性完全函数依赖于函数依赖于R R的键,则的键,则R R称为第二范式,记作称为第二范式,记作R2NFR2NF。例如,例如,4.14.1节给出的学生关系节给出的学生关系S S中非主属性中非主属性CLSCLS、MONMON都不是完全函数依赖于主键(都不是完全函数依赖于主键(S
11、S,C C),),而部分函数依赖于(而部分函数依赖于(S S,C C)。对)。对1NF1NF进行进行投影运算,将其分解为两个关系:投影运算,将其分解为两个关系:SSSSS S,SNSN,CLSCLS,MONMON(S S)SCSCS S,C C,GRGR(S S),其中),其中S S为为SSSS的主键,的主键,(S S,C C)为)为SCSC的主键。的主键。这样,在这两个关系中,非主属性对主键都是这样,在这两个关系中,非主属性对主键都是完全函数依赖,所以关系完全函数依赖,所以关系SSSS和和SCSC都为都为2NF2NF。(3)(3)第三范式第三范式如果关系模式如果关系模式R R是是2NF2NF
12、,且它的任何一个非,且它的任何一个非主属性都不传递函数依赖于任何候选键,主属性都不传递函数依赖于任何候选键,则称则称R R为第三范式,记作为第三范式,记作R3NFR3NF。例如,例如,订单订单关系关系(订单号,顾客名称,商(订单号,顾客名称,商店货号,定购数量,交货日期)中的主店货号,定购数量,交货日期)中的主键是订单号,存在的函数依赖是:订单键是订单号,存在的函数依赖是:订单号号顾客名称;订单号顾客名称;订单号商品货号;订商品货号;订单号单号定购数量;订单号定购数量;订单号交货日期,交货日期,不再有别的函数依赖,此关系是不再有别的函数依赖,此关系是2NF2NF的,的,且所有非主属性对主键没有
13、传递函数依且所有非主属性对主键没有传递函数依赖,所以是赖,所以是3NF3NF的。的。(4)BC(4)BC范式(范式(BCNFBCNF)如果关系模式如果关系模式R1NFR1NF,且每个函数依赖,且每个函数依赖XYXY中中X X必为候选键,则必为候选键,则R R是是BCNFBCNF范式。范式。从从BCNFBCNF的定义可以明显地得出一个满足的定义可以明显地得出一个满足BCNFBCNF的的关系模式如下结论:关系模式如下结论:1)1)所有非主属性对键是完全函数依赖。所有非主属性对键是完全函数依赖。2)2)所有主属性对不包含它的键是完全函数依赖。所有主属性对不包含它的键是完全函数依赖。3)3)没有属性完
14、全函数依赖于非键的任何属性组没有属性完全函数依赖于非键的任何属性组例例4-3 4-3 在关系模式在关系模式SJPSJP(S S,J J,P P)中,中,S S是学号,是学号,J J是课号,是课号,P P为名次。为名次。每一个学生每门课程有一定的名次,每每一个学生每门课程有一定的名次,每门课程中每一名次只有一个学生。由这门课程中每一名次只有一个学生。由这些语义可得到下面的函数依赖:些语义可得到下面的函数依赖:(S S,J J)P P(J J,P P)S S 显然,(显然,(S S,J J)与()与(J J,P P)都是候)都是候选键。这两个候选键各由两个属性组成,选键。这两个候选键各由两个属性组
15、成,而且相交。这个关系模式中显然没有属而且相交。这个关系模式中显然没有属性对键传递或部分依赖,所以性对键传递或部分依赖,所以SJP SJP 3NF3NF。例例4 44 4 关系模式关系模式SCTSCT(S S,C C,T T)中,中,S S表示学号,表示学号,C C表示课程号,表示课程号,T T表示教师。每一教师只教一门课。表示教师。每一教师只教一门课。每门课由若干教师教授,某一学生每门课由若干教师教授,某一学生选定某门课,就确定了一个固定的选定某门课,就确定了一个固定的教师。教师。于是有如下的函数依赖:于是有如下的函数依赖:1)1)(S S,C C)TT2)2)(S S,T T)CC3)3)
16、TCTC 显然,(显然,(S S,C C)和()和(S S,T T)都是)都是候选键。候选键。SCTSCT是是3NF3NF,因为没有任何非因为没有任何非主属性对键的传递或部分函数依赖。主属性对键的传递或部分函数依赖。但但SCTSCT不是不是BCNFBCNF,因为,因为T T是决定因素,是决定因素,而而T T不是候选键。不是候选键。S#C#TS#TC#2关系规范化方法与实例关系规范化方法与实例 关系模式规范化遵循以下原则:关系模式规范化遵循以下原则:1)关系模式进行无损连接分解。关系模式分解关系模式进行无损连接分解。关系模式分解过程中数据不能丢失或增加,必须把全部关过程中数据不能丢失或增加,必须
17、把全部关系模式中的所有数据无损地分解到各个子关系模式中的所有数据无损地分解到各个子关系模式中,以保证数据的完整性。系模式中,以保证数据的完整性。2)合理选择规范化程度。低级范式造成的冗余合理选择规范化程度。低级范式造成的冗余度很大,既浪费了存储空间,又影响了数据度很大,既浪费了存储空间,又影响了数据的一致性,因此希望一个子模式的属性越少的一致性,因此希望一个子模式的属性越少越好,即取高级范式;若考虑查询效率、低越好,即取高级范式;若考虑查询效率、低级范式比高级范式好,此时连接运算的代价级范式比高级范式好,此时连接运算的代价较小,这是一对矛盾,所以应根据实际情况,较小,这是一对矛盾,所以应根据实
18、际情况,合理选择规范化程度。合理选择规范化程度。3)正确性与可实现性原则。正确性与可实现性原则。4.4函数依赖的公理系统函数依赖的公理系统 定义定义6 6 设设R R是一个具有属性集合是一个具有属性集合的关系模式,的关系模式,F F是是R R上的函数依赖集合。如果对于上的函数依赖集合。如果对于R R的任意一个使的任意一个使F F成立的关系实例成立的关系实例r r,函数依赖,函数依赖XYXY都成立,则称都成立,则称F F逻辑地蕴含逻辑地蕴含XYXY。ArmstrongArmstrong公理系统公理系统 设设R R是一个关系模式,是一个关系模式,为为R R的属性集合,的属性集合,F F为为上的一组
19、函数依赖的集合。上的一组函数依赖的集合。ArmstrongArmstrong公理系统包含如下三条推理规则:公理系统包含如下三条推理规则:(1 1)自反律自反律 若若Y Y X X ,则,则F F蕴含蕴含XYXY(2 2)增广律增广律 若若XYXY为为F F所蕴含,且所蕴含,且Z Z ,则,则XZYZXZYZ为为F F所蕴含。所蕴含。(3 3)传递律传递律 若若XYXY和和YZYZ为为F F所蕴含,则所蕴含,则XZXZ为为F F所蕴含。所蕴含。定理定理1 Armstrong1 Armstrong推理规则是正确的。推理规则是正确的。证明:证明:(1 1)设设Y Y X X U U。对于。对于R R
20、的任一关系实例的任一关系实例r r的任意的任意两个元组两个元组t t和和s s,若,若tX=SX,tX=SX,由于由于Y Y X X,有,有tY=sYtY=sY,所以所以XYXY成立。自反律得证。成立。自反律得证。(2 2)设设XYXY为为F F所逻辑蕴含,所逻辑蕴含,Z Z U U。对于。对于R R的任的任一 关 系 实 例一 关 系 实 例 r r 的 任 意 两 个 元 组的 任 意 两 个 元 组 t t 和和 s s,若,若tXZ=sXZ,tXZ=sXZ,则有则有tX=sXtX=sX,tZ=sZ tZ=sZ。由由XYXY,tY=sYtY=sY。于是。于是tYZ=sYZtYZ=sYZ从
21、而从而XZYZXZYZ成立。增广律得证。成立。增广律得证。(3 3)设设XYXY及及YZYZ为为F F所逻辑蕴含,所逻辑蕴含,Z Z U U。对于。对于R R的任一关系实例的任一关系实例r r的任意两个元组的任意两个元组t t和和s s,若,若tX=sX,tX=sX,由于由于XYXY,有,有tY=sYtY=sY。又由。又由YZYZ,有,有tZ=sZtZ=sZ。于是,。于是,XZXZ成立。成立。三条推理规则:三条推理规则:(1 1)合并规则)合并规则 如果如果XYXY,XZXZ成立,成立,则则XYZXYZ成立。成立。(2 2)伪传递规则)伪传递规则 如果如果XYXY和和WYZWYZ成立,成立,则
22、则XWZXWZ成立。成立。(3 3)分解规则)分解规则 如果如果XYXY和和Z Z Y Y成立,成立,则则XZXZ成立。成立。定理定理2 2 合并规则、伪传递规则和分解规则是正合并规则、伪传递规则和分解规则是正确的。确的。证明:证明:(1 1)由由XYXY和增广律,和增广律,XXYXXY。又由。又由XZXZ和增和增广律,广律,XYYZXYYZ。由传递律,。由传递律,XYZXYZ成立。合并成立。合并规则得证。规则得证。(2 2)由由XYXY和增广律,和增广律,XWYWXWYW。又由。又由YWZYWZ和和传递律,传递律,XWZXWZ。伪传递规则得证。伪传递规则得证。(3 3)由由Z Z Y Y和自
23、反律,和自反律,YZYZ。又由。又由XYXY和传递和传递律,律,XZXZ。分解规则得证。分解规则得证。引理引理1 XA1 XA1 1 A A2 2 A AK K成立的充分必要条件是成立的充分必要条件是对于对于1ik1ik,XAXA1 1成立。成立。引理引理1 1 设设F F是属性集是属性集U U上的一组函数依赖的上的一组函数依赖的集合。集合。X X、Y Y U U,XYXY能由能由F F根据根据ArmstrongArmstrong公理导出的充分必要条件是公理导出的充分必要条件是Y Y X X+。定义定义7 7 设设R R是一个具有属性集合是一个具有属性集合U U的关系模的关系模式,式,F F是
24、给定的函数依赖集合。由是给定的函数依赖集合。由F F逻辑逻辑蕴含的所有函数依赖称为蕴含的所有函数依赖称为F F的闭包,记的闭包,记作作F F+。定义定义8 8 设设R R是一个具有属性集合是一个具有属性集合U U的关系模的关系模式,式,F F是给定的函数依赖集合。是给定的函数依赖集合。X X U U。X X+=A|XA=A|XA能由能由F F根据根据ArmstrongArmstrong公理导公理导出出 称为属性集称为属性集X X关于函数依赖集关于函数依赖集F F的闭的闭包。包。引理引理2 2 把判定把判定XYXY是否能由是否能由F F根据根据ArmstrongArmstrong公理导出的问题转
25、化为求出公理导出的问题转化为求出X X+,判定,判定Y Y是否是否为为X X+的子集合的问题。的子集合的问题。证明:证明:(1 1)充分性)充分性 设设Y Y X X+,并设,并设Y=BY=B1 1 B B2 2 B BK K。根据属性闭包的定义可知,根据属性闭包的定义可知,XBXB1 1,XBXBK K是根据是根据ArmstrongArmstrong公理从公理从F F导出的。由导出的。由合并规则,有合并规则,有XYXY。所以当。所以当Y Y X X+时,时,XYXY能根据能根据ArmstrongArmstrong公理从公理从F F导出。导出。(2 2)必要性)必要性 设设XYXY能根据能根据
展开阅读全文