精华内容
下载资源
问答
  • 属性闭包的求解算法

    千次阅读 2020-09-22 21:47:34
    假设要求属性A的闭包Result 1,在F中找出所以依赖与A的属性,然后把这这些直接依赖于A的属性加入到Result中 2,看Result中的属性根据F中的关系还能推出哪些属性,再把这些属性加入Result中 3,重复步骤1,2。直到...

    假设属性集是U,U上的函数依赖集是F。假设要求属性A的闭包Result
    1,在F中找出所以依赖与A的属性,然后把这这些直接依赖于A的属性加入到Result中
    2,看Result中的属性根据F中的关系还能推出哪些属性,再把这些属性加入Result中
    3,重复步骤1,2。直到全部找完,所得的Result就是A的闭包。

    下面给出一个例子:
    U=(A,B,C,D) 函数依赖集F={ AB->C,D->A } 求属性集(CD)的闭包
    解:在这里插入图片描述

    展开全文
  • 数据库求属性闭包算法

    千次阅读 2020-06-25 21:45:10
    【例】关系模式R,其中U={A,B,C,D,E},F={AB→C,B→D,C→E,EC→B,AC→B},求(AB)+ 第一步:令X(0)=AB。 第二步:求X(1)。...这时候发现X(2)已经等于全部属性集U了,就结束计算,得出 (AB)+ =ABCDE。

    【例】关系模式R<U,F>,其中U={A,B,C,D,E},F={AB→C,B→D,C→E,EC→B,AC→B},求(AB)+
    第一步:令X(0)=AB。

    第二步:求X(1)。先列出X(0)的非空子集,即AB的非空子集为{A,B,AB}。然后扫描F集合,寻找{A,B,AB}可能存在的函数依 赖,就可以得到:AB→C,B→D。于是就可以求得X(1)=X(0)∪C∪D=ABCD。然后判断X(0)如果等于X(1)就结束,所求即为答案,如果X(0)不等于X(1)就继续计算。

    第三步:求X(2)。同第二步求X(1)得非空真子集,然后在F中一次寻找函数依赖,可以得到:AB→C,B→D,C→E,AC→B。求 得X(2)=X(1)∪C∪D∪E∪B=ABCDE。这时候发现X(2)已经等于全部属性集U了,就结束计算,得出 (AB)+ =ABCDE

    展开全文
  • (转)数据库求属性闭包算法

    千次阅读 2020-03-27 22:17:36
    这时候发现X(2)已经等于全部属性集U了,就结束计算,得出(AB)+ =ABCDE。 注:如果计算的X(2)不等于U,并且仍然不等于X(1),则继续计算下去。直到满足X(i)=X(i-1)或X(i)=U时停止,此时所求闭包为X(i)。 ——————...

    【例】关系模式R<U,F>,其中U={A,B,C,D,E},F={AB→C,B→D,C→E,EC→B,AC→B},求(AB)+

    第一步,令X(0)=AB。

    第二步,求X(1)。先列出X(0)的非空子集,即AB的非空子集为{A,B,AB}。

    然后扫描F集合,寻找{A,B,AB}可能存在的函数依赖,就可以得到:AB→C,B→D

    于是就可以求得X(1)=X(0)∪C∪D=ABCD

    然后判断X(0)如果等于X(1)就结束,所求即为答案,如果X(0)不等于X(1)就继续计算。

    第三步,求X(2)。

    同第二步求X(1)得非空真子集,然后在F中一次寻找函数依赖,可以得到:AB→C,B→D,C→E,AC→B

    求得X(2)=X(1)∪C∪D∪E∪B=ABCDE

    这时候发现X(2)已经等于全部属性集U了,就结束计算,得出(AB)+ =ABCDE

     

    注:如果计算的X(2)不等于U,并且仍然不等于X(1),则继续计算下去。直到满足X(i)=X(i-1)或X(i)=U时停止,此时所求闭包为X(i)。
    ————————————————
    版权声明:本文为CSDN博主「灰灰灰灰Gray」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/Game_Zmh/article/details/88058069

    展开全文
  • 属性闭包求解算法 X  XF+ 逐一考察F中的FD,如果存在V→WF,且V中的全部属性都出现在当前的XF+中,将属性组W并入XF+; 当当前的XF+包含全部属性U,或者按(2)重新遍历F而没有对当前XF+ 增加任何属性时算法结束 ...

    前言

    属性闭包用于判定是否蕴含了某种函数依赖,如判断X→Y是否成立,转换为求X在函数依赖集上的属性闭包中是否包含了Y,如果包含则蕴含该关系,如果不包含则不蕴含此函数依赖。属性闭包是求解极小函数依赖集、候选码、判断是否保持函数依赖性、具有保持函数依赖性的3NF模式分解的关键步骤,务必熟练掌握

    属性闭包求解算法

    设R(U,F)是一关系模式,其中U是属性集,F为属性集上的函数依赖,X ⊆ U,求X的属性闭包,计为X F + _F^+ F+。算法如下:
    ① X ⊆ X F + _F^+ F+
    ② 逐一考察F中的FD,如果存在V→W ∈ \in F,且V中的全部属性都出现在当前的X F + _F^+ F+ 中,将属性组W并入X F + _F^+ F+
    当前的 X F + _F^+ F+ 包含全部属性U,或者按(2)重新遍历F而没有对当前 X F + _F^+ F+ 增加任何属性时算法结束

    示例

    已知关系模式R<U,F>,其中U={A, B, C, D, E},F= {AB→C, B→D, C→E, EC→B, AC→B },求 (AB) F + _F^+ F+ ,(CE) F + _F^+ F+
    解:求AB的属性闭包
    (AB) F + _F^+ F+ ={AB}
    扫描F中的函数依赖AB→C, AB ∈ \in (AB) F + _F^+ F+ ,将C纳入,(AB) F + _F^+ F+={ABC}
    扫描F中的函数依赖B→D,B ∈ \in (AB) F + _F^+ F+ ,将D纳入,(AB) F + _F^+ F+={ABCD}
    扫描F中的函数依赖C→E,C ∈ \in (AB) F + _F^+ F+ ,将E纳入,(AB) F + _F^+ F+={ABCDE}
    (AB) F + _F^+ F+已经包含了所有属性,算法终止;
    (AB) F + _F^+ F+={ABCDE}
    求CE的属性闭包
    (CE) F + _F^+ F+={CE}
    扫描F中的函数依赖AB→C, AB ∉ \notin /(CE) F + _F^+ F+ ,(CE) F + _F^+ F+不变
    扫描F中的函数依赖B→D,B ∉ \notin /(CE) F + _F^+ F+ ,(CE) F + _F^+ F+不变
    扫描F中的函数依赖C→E,C ∈ \in (CE) F + _F^+ F+ ,将E纳入,(CE) F + _F^+ F+={CE}
    扫描F中的函数依赖EC→B,EC ∈ \in (CE) F + _F^+ F+ ,将B纳入,(CE) F + _F^+ F+={BCE}
    扫描F中的函数依赖 AC→B,AC ∉ \notin /(CE) F + _F^+ F+ ,(CE) F + _F^+ F+不变
    扫描完成,算法终止。
    (CE) F + _F^+ F+={BCE}

    展开全文
  • 问题 input:关系R(A,B,C,D)以及R的FD(函数...inout:求出{A,B}的闭包 源码: #include <iostream> #include <vector> #include <algorithm> using namespace std; vector<string>...
  • 数据库关系模式中函数依赖的理论涉及不少算法,此次根据课程需要将求属性闭包(closure)和函数最小依赖集(basis)用代码实现。 思路 两个算法已有理论支撑,因此第一步是设计合适的数据结构,存储算法过程需要的...
  • C语言实现的属性集X关于函数依赖集F的闭包算法,数据库老师让写的一个算法,上传到CSDN赚点C币的同时,希望能帮到你
  • 闭包算法

    千次阅读 2017-07-10 23:00:19
    问题描述根据求属性闭包算法,用你熟悉的语言编写程序,要求如下: 1. 由用户输入函数依赖,当用户输入End时,表示所有依赖都输入完毕。(即函数依赖是由用户自己定的,程序中不能假定某个具体的依赖) 2. 函数...
  • )在上面求属性闭包算法的基础上,根据求函数依赖闭包算法,显示用户输入的函数依赖的闭包 F+ 。 以下是我用JAVA编写的程序(如果有所错误的话还望指出!) import java.util.*; public...
  • 数据库老师布置的作业题目,求属性闭包和函数依赖集闭包算法实现 我用比较简单的方法算了一下 欢迎交流 import java.util.*; public class QiuBiBao_DBtext { public static void main(String[] ...
  • 属性闭包求解算法

    2013-07-04 21:58:29
    函数依赖反映了属性间的关联性和数据的完整性约束。函数依赖是解决数据冗余的重要课题,一般总有一个作为问题展开的初始基础的函数依赖集F,为了找出其上的各种函数依赖。Armstrong公理系统是函数依赖的一...
  • 函数依赖闭包算法 属性的闭包 (Closure set of attribute) It is a linear algorithm. The closure is a set of functional dependency from a given set also known a complete set of functional dependency. Here...
  • 3) 计算属性闭包算法,在课件里有详细说明。方法很简单,但用文字描述很抽象。。。。不解释。。。 4) 计算函数依赖的闭包。此步骤不作要求,但要会方法。个人总结:将所有属性元素组成一个集合(域)记为R;...
  • 【数据库】求属性闭包的实现

    千次阅读 2017-11-26 21:23:56
    属性闭包的实现属性闭包: 关系模式R,F>R,F>中,UU代表全部属性集合,UU为一组函数依赖关系。 现设属性集XX属于UU,对XX求属性闭包,即为根据推导规则从属性集合X推导出属性集合(闭包)XF+XF^+ 问题描述:对于...
  • 函数依赖属性闭包算法

    千次阅读 2018-10-31 22:04:20
    F 的闭包: 在关系模式 R&lt;U , F&gt; 中为 F 所逻辑蕴含的函数依赖的全体叫作 F 的闭包,记为 F + 。 属性集 X 关于函数依赖集 F 的闭包: 设 F 为属性集 U 上的一组函数依赖, X ...算法 求属性集 X (...
  • 属性闭包简单求法(包看懂)

    千次阅读 多人点赞 2020-11-06 11:32:16
    属性闭包求法 下面介绍的是比较简单传统的闭包求法 求取属性闭包的步骤: 设要求的闭包属性集是Y,把Y初始化为X. 检查函数依赖集F中的每个函数依赖A->B,如果属性集A中的所有属性都在Y中,而B中有属性不在Y中...
  • 数据库闭包和候选码求解方法

    千次阅读 2016-10-30 19:53:46
    设X和Y均为关系R的属性集的子集,F是R上的函数依赖集,若对R的任一属性集B,一旦X→B,必有B⊆Y,且对R的任一满足以上条件的属性集Y1 ,必有Y⊆Y1,此时称Y为属性集X在函数依赖集F下的闭包,记作X+。  计算关系R...
  • 当当当当~求属性集的闭包和函数依赖的闭包算法dierdan
  • 求函数依赖集闭包 本文讲解具体代码实现,相关概念可查阅资料(其实我只是想把代码保存到博客上嘿嘿 这算是我第一次能够用构建一个个类来解决一个较大的问题(不再是像考试一样在一个类里写n个函数了ORZ),在老师的...
  • 数据库 集合闭包算法

    2019-12-04 12:02:14
    【例】关系模式R,F>,其中U={A,B,C,D,E},F={AB→C,B→D,C→E,EC→B,AC→B},求(AB)+ 第一步,令X(0)=AB。...先列出X(0)的非空子集,即AB的非空子集为{A,B,AB}。...属性集的闭包:$X^+ = ABCD$
  • 属性闭包计算方法 [Algorithm]: 计算一属性集关于一组函数依赖的属性闭包 [Input]:有限属性集合 UUU,UUU 上的函数依赖集合 FFF,及 UUU 的子集 XXX [Output]:XXX 关于 FFF 的属性闭包 X+X^+X+,记作 XF+X^+_FXF+...
  • 属性闭包 码 求候选键算法 最小函数依赖集 关系模式R(U,D,DOM,F) R:关系名,符号化的元组定义 U:一组属性 D:属性组U中的属性所来自的域 DOM:属性到域的映射 F:属性组U上的一组数据依赖 函数依赖集...
  • 基于闭包的关系模式全部主属性的多项式时间算法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,112
精华内容 7,244
关键字:

属性闭包算法