数据库试题-[word]可编辑.doc_第1页
数据库试题-[word]可编辑.doc_第2页
数据库试题-[word]可编辑.doc_第3页
数据库试题-[word]可编辑.doc_第4页
数据库试题-[word]可编辑.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

蚆螃袆肀薂袂羈芅蒈袂肀肈莄袁螀芄芀袀羂肆蚈衿肅莂薄袈膇膅蒀袇袇莀莆袆罿膃蚅羆肁荿薁羅膄膁蒇羄袃莇莃薀肆膀荿蕿膈蒅蚇蕿袈芈薃薈羀蒃葿薇肂芆莅薆膄聿蚄蚅袄芅薀蚄羆肇蒆蚃腿芃蒂蚃袈膆莈蚂羁莁蚇蚁肃膄薃蚀膅荿葿虿袅膂莅螈羇莈芁螈肀膁蕿螇蝿莆薅螆羂艿蒁螅肄蒄莇螄膆芇蚆螃袆肀薂袂羈芅蒈袂肀肈莄袁螀芄芀袀羂肆蚈衿肅莂薄袈膇膅蒀袇袇莀莆袆罿膃蚅羆肁荿薁羅膄膁蒇羄袃莇莃薀肆膀荿蕿膈蒅蚇蕿袈芈薃薈羀蒃葿薇肂芆莅薆膄聿蚄蚅袄芅薀蚄羆肇蒆蚃腿芃蒂蚃袈膆莈蚂羁莁蚇蚁肃膄薃蚀膅荿葿虿袅膂莅螈羇莈芁螈肀膁蕿螇蝿莆薅螆羂艿蒁螅肄蒄莇螄膆芇蚆螃袆肀薂袂羈芅蒈袂肀肈莄袁螀芄芀袀羂肆蚈衿肅莂薄袈膇膅蒀袇袇莀莆袆罿膃蚅羆肁荿薁羅膄膁蒇羄袃莇莃薀肆膀荿蕿膈蒅蚇蕿袈芈薃薈羀蒃葿薇肂芆莅薆膄聿蚄蚅袄芅薀蚄羆肇蒆蚃腿芃蒂蚃袈膆莈蚂羁莁蚇蚁肃膄薃蚀膅荿葿虿袅膂莅螈羇莈芁螈肀膁蕿螇蝿莆薅螆羂艿蒁螅肄蒄莇螄膆芇蚆螃袆肀薂袂羈芅蒈袂肀肈莄袁螀芄芀袀羂肆蚈衿肅莂薄袈膇膅蒀袇袇莀莆袆罿膃蚅羆肁荿薁羅膄膁蒇羄袃莇莃薀肆膀荿蕿膈蒅蚇蕿袈芈薃薈羀蒃葿 二.候选码的求解理论和算法对于给定的关系R(A1,An)和函数依赖集,可将其属性分为4类: L类:仅出现在F的函数依赖左部的属性 R类:仅出现在F的函数依赖右部的属性。 N类:在F的函数依赖左右均未出现的属性 LR类:在F的函数依赖左右均出现的属性。 1)快速求解候选码的充分条件 a.对于给定的关系模式R及其函数依赖F,如果X是R的L类和N类组成的属性集,且包含了R的全部属性,则X是R的唯一候选码。 b.对于给定的关系模式R及其函数依赖F,如果X是R的R类属性,则X不在任何候选码中。例1:设有关系模式R(A,B,C,D),F=( ),求R 的所有候选码。例2:设有关系模式R(A,B,C,D,E,P),F=( ),求R的所有候选码。2)左边为单属性的函数依赖集的候选码成员的图论判定法一个函数依赖图G是一个有序二元组(R,F),R中的所有属性是结点,所有依赖是边。术语:引入线/引出线:若结点Ai到Aj是联接的,则边(Ai,Aj)是Ai的引出线,是Aj的引入线;原始点:只有引出线而无引入线的结点 终结点:只有引入线而无引出线的结点途中点:既有引入线又有引出线的结点 孤立点:既无引入线又无引出线的结点关键点:原始点和孤立点称为关键点 关键属性:关键点对应的属性独立回路:不能被其他结点到达的回路算法: 输入:关系模式R,R的属性和F 输出:R的候选码 方法:(1)求出F的最小依赖集Fm (2)构造函数依赖图FDG(3)从图中找出关键属性X(可为空) (4)查看G中有无独立回路,若无则输出X即为R的唯一候选码,转(6)否则转(5)(5)从个独立回路中各取一结点对应的属性与X组合成一候选码,并重复这一过程,取尽所有可能的组合,即为R的全部候选码。注: R的每个候选码均有两部分组成:u 关键属性X;u K个独立回路中,每个独立回路任选一个作为候选码的成员 候选码个数等于各个独立回路中节点个数的乘积 每个候选码所含属性个数等于关键属性个数加上独立回路个数。例:设关系模R(O,B,I,S,Q,D),F=( ), 求R 的所有候选码。3)多属性依赖集候选码求解 输入:关系模式R,R的属性和F 输出:R的候选码 方法:(1)求R的所有属性分为L,N,R和LR四类,令X代表L,N类,Y代表LR类(2)求X+,若包含了R的全部属性,则X为R的唯一候选码,转(5),否则转(3)(3)在Y中取一属性A,求(XA)+,若它包含了R的全部属性,则转(4);否则,调换一属性反复进行这过程,直到试完Y中所有属性.(4)如果以找出所有候选码,转(5);否则依次取两个,三个.求他们的属性闭包,直到闭包包含R的全部属性(5)停止,输出结果.例:设有关系模式R(A,B,C,D,E),其上的函数依赖集:F=ABC,CD E,B D,E A,求出R的所有候选码.指出下列关系模式属于第几范式?并说明理由?(1) R(X,Y,X) F=XY Z(2) R(X,Y,Z) F=Y Z,XZ Y(3)R(X,Y,Z) F=Y Z,Y X,X YZ(4)R(X,Y,Z) F=X Y,X Z(5)R(X,Y,Z,W) F=X Z,WX Y三模式分解算法1.把一个关系模式分解为3NF,使它具有依赖保持性 算法1: 输入:关系模式R和R的最小依赖集Fm 输出:R的一个分解 方法:(1)如果Fm中有一依赖,且XA=R,则输出 ,转(4) (2)如果R中某些属性与F中所有依赖的左右部都无关,则将他 们构成关系模式,从R中将它们分出去 (3)对于Fm中的每一个 ,都构成一个关系子模式R=XiAi (4)停止分解,输出例:设有关系模式R ,U=C,T,H,R,S,G F= CSG, C T,TH R ,HR C,HS R, 将其保持依赖性分解为3NF。2.把一个关系模式分解为3NF,使它既具有无损连接性又具有依赖保持性算法2: 输入:关系模式R和R的最小依赖集Fm 输出:R的一个分解 方法:(1)根据算法1求出依赖保持性分解(2)判断是否具有无损连接性,若是,转(4)(3)令 ,其中X是候选码(4)输出例:设有关系模式R ,U=C,T,H,R,S,G F= CSG, C T,TH R ,HR C,HS R, 将其将其无损连接和保持依赖性分解为 3NF。3.把一个关系模式无损分解为BCNF算法3: 输入:关系模式R和R的依赖集F 输出:R的无损分解方法:(1)令(R) (2)如果中所有模式都是BCNF,转(4)(3)如果有一个关系模式S不是BCNF,则S中必能找到一个函数依赖XA,有X不是R的候选码,且A不属于X,设S1XA,S2=S-A,用分解S1,S2代替S,转(2)(4)分解结束,输出例:设有关系模式R ,U=C,T,H,R,S,G F= CSG, C T,TH R ,HR C,HS R, 将其将其无损连接分解为 BCNF。例:设有关系模式R(A,B,C,D),其上的函数依赖集为:FAC,C A,B AC,D AC 计算() 求的最小等价依赖集 求的码 将分解使其满足且具有无损连接性 将分解满足并具有无损连接性和保持依赖性进行模式分解时,除考虑数据等价和依赖等价以外,还要考虑效率。当对DB的操作主要是查询时,为提高查询效率,可保留适当的数据冗余,让关系模式中的属性多些,而不把模式分解得太小,否则为了查询一些数据,常常要做大量的连接运算,把多个关系模式连在一起才能从中找到相关的数据。在设计DB时,为减少冗余,节省空间,把关系模式一再分解,到使用DB时,为查询相关数据,把关系模式一再连接,花费大量时间,或许得不偿失。因此,保留适量冗余,达到以空间换时间的目的,也是模式分解的重要原则。小 结 本章讨论如何设计关系数据库的模式问题。关系模式设计得好与不好,直接影响数据库中数据冗余度、数据一致性等问题。要设计好的数据库模式,必须有一定的理论为基础。这就是模式设计理论。 函数依赖是对关系中属性值之间多对一联系的描述,也是对关系中值的一种约束。它是对关键字概念的扩充。 关系模式在分解时应保持“等价”,有数据等价和语义等价两种,分别用无损分解和保持依赖两个特征来衡量。前者能保持关系在投影操作以后,经过连接操作仍能恢复回来,保持不变;而后者能保证数据在投影或连接中其语义不会发生变化,也就是不会违反函数依赖的语义。 范式是衡量关系模式优劣的标准。范式的级别越高,其数据冗余和操作异常现象就越少。 关系模式的规范化过程实际上是一个“分解”过程:把逻辑上独立的信息放在独立的关系模式中。 袀莅蕿蚈罿蒇莂羇羈膇薇袃羇荿莀衿羆蒂蚆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁肂膈蒅蚇肁芀蚁薃肀蒂蒃羂聿膂蝿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅膅芁薈螁膄莃莁蚇膃肃薆蚃膃芅葿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀螆袃莈薂蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈罿蒇莂羇羈膇薇袃羇荿莀衿羆蒂蚆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁肂膈蒅蚇肁芀蚁薃肀蒂蒃羂聿膂蝿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅膅芁薈螁膄莃莁蚇膃肃薆蚃膃芅葿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀螆袃莈薂蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈罿蒇莂羇羈膇薇袃羇荿

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论