数据库系统概论15候选码的求解方法解析.ppt

授课主题 第15讲 计划学时 2 第6章 关系数据理论 二 教学目的 和要求 1、求最小函数依赖集 2、理解候选码求解理论和算法 教学重点 和难点 重点是候选码的求解方法 难点是求最小函数依赖集 教学内容 1、求解最小函数依赖集 2、候选码求解理论和算法 教学过程 见课件 一、求函数依赖的最小集 定义6.15:对于给定的函数依赖F,当满足下列条件时,称为F的最小依赖集,记作FM。 FM的每个依赖的右边都是单个属性。 对于FM中的任何一个X→A和X的真子集Z, FM- X→A ∪ Z→A 与FM都不等价。 保证了FM中每个函数依赖的左边没有多余的属性 对于FM中的任何一个函数依赖X→A,FM- X→A 与FM都不等价。 保证了在FM中不存在多余的函数依赖 定理:每个函数依赖集与它的最小依赖集FM等价。 输入:一个函数依赖集F 输出:F的一个等价最小依赖集G 方法: 1 应用分解规则,使F中每一个依赖的右边属性单一化。 2 去掉各依赖左边多余的属性。具体做法是;一个一个地检查F中左边是非单属性的依赖,例如XY→A。现在要判断Y是否多余的,即以X→A代替XY→A是否等价。只要在F中求X+,若X+包含A,则Y是多余的属性;否则Y不是多余的属性。依次判断其他属性即可消除各依赖左边的多余属性。 3 去掉多余的依赖。具体做法是:从第一个依赖开始,从F中去掉它 假设该依赖是X→Y ,然后在剩下的依赖中求X+,看X+是否包含Y,若是,则可以去掉X→Y;若不包含Y,则不能去掉。 例:设有依赖集:F AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG ,计算其等价的最小依赖集。 解: 1 将依赖右边属性单一化,结果为: F1 AB→C,C→A,BC→D,ACD→B,D→E, D→G,BE→C,CG→B,CG→D,CE→A,CE→ G 2 在F1中去掉左边多余的属性。 Ⅰ、对于ACD→B,由于 CD + ABCDEG,则A是多余的,所以结果为: F2 AB→C,C→A,BC→D,CD→B,D→E, D→G,BE→C,CG→B,CG→D,CE→ G Ⅱ、对于CE→A,由于C→A,则E是多余的 3 在F2中去掉多余的依赖。 对于CD→B,在剩下的函数依赖中,由于 CD + CDAEGB,所以CD→B是多余的,则Fm AB→C,C→A,BC→D,D→E, D→G,BE→C, CG→B ,CG→D,CE→G 或者对于CG→B,由于 CG + ABCDEG,所以CG→B是多余的,则 Fm AB→C,C→A,BC→D,CD→B,D→E, D→G,BE→C,CG→D,CE→G 总结:求得的最小依赖集并不是唯一的。 课堂练习:设有关系模式,其中U E,F,G,H ,F E→G,G→E,F→EG,H→EG,FH→E ,计算其等价的最小依赖集。 结果为:Fm E→G,G→E,F→G,H→G 或者:Fm E→G,G→E,F→G,H→E 或者:Fm E→G,G→E,F→E,H→G 或者:Fm E→G,G→E,F→E,H→E 二、候选码求解理论和算法 对于给定的关系R A1,A2,…An 和函数依赖集F,可将其属性分为4类: L类:仅出现在F的函数依赖左边的属性 R类:仅出现在F的函数依赖右边的属性 N类:在F的函数依赖左右边均未出现的属性 LR类:在F的函数依赖左右边均出现的属性 1、快速求解候选码的一个充分条件 定理1:对于给定的关系模式R及其函数依赖集F,若X X∈R 是L类属性,则X是R的任一候选码成员。 推论:对于给定的关系模式R及其函数依赖集F,若X X∈R 是L类属性,且X包含了R的全部属性,则X必是R的唯一候选码。 例:设有关系模式R A,B,C,D ,其函数依赖集F D→B,B→D,AD→B,AC→D ,求R的所有候选码。 解:考察F发现,A、C两属性是L类属性,由上面定理1可知,A、C必是R的候选码的成员。又因为 AC + ABCD,所以AC必是R的唯一候选码。 定理2:对于给定的关系模式R及其函数依赖集F,若X X∈R 是R类属性,则X不在任何候选码中。 定理3:对于给定的关系模式R及其函数依赖集F,若X X∈R 是N类属性,则X必包含在R的任一候选码中。 例:设有关系模式R A,B,C,D,E,P ,其函数依赖集F A→D,E→D,D→B,BC→D ,DC→A ,求R的所有候选码。 解:考察F发现,C、E两属性是L类属性,由上面定理1可知,C、E必是R的候选码的成员; P是N类属性,由上面的定理3可知,P也是R的候选码的成员。 又因为 CEP + ABCDEP,所以CEP必是R的唯一候选码。 定理4:对于给定的关系模式R及其函数依赖集F,若X X∈R 是N类

文档评论(0)

1亿VIP精品文档

相关文档