首页技术函数依赖集 基本函数依赖集

函数依赖集 基本函数依赖集

编程之家2026-06-111114次浏览

大家好,今天小编来为大家解答函数依赖集这个问题,基本函数依赖集很多人还不知道,现在让我们一起来看看吧!

函数依赖集 基本函数依赖集

R的属性集和函数依赖集

(AB)+只的是闭包,闭包的定义是:

F是属性U上的关系依赖集,X是U的子集,X的闭包满足:

X+={属性A| X->A在 F+中}

也就是说(个人解释):X的闭包是用关系依赖把X这个集合中的属性加到不能再加为止。

例如你这道题:

1、A->B,从A可以把B加进来(当然初始的集合里包含了B)

函数依赖集 基本函数依赖集

2、有了B,就可以用B->D,从B可以把D加进来。

所以,(AB)+= ABD

以此类推。

(DE)+如下解:

1、有DE->B,就可以把B加进来,

2、因为有E,所以根据E->A,就可以把A加进来。

函数依赖集 基本函数依赖集

所以(DE)+= ABDE

再说说候选键,定义是:X->U在R上成立,但对于X的任意一个真子集X1都有X1->U不成立,则X是R上的候选键。

也就是说(个人解释),X这个集合的子集不能完整地导出U,即X是最小的集合,它里面的元素不能再少了。

最小函数依赖集的解法

求解最小函数依赖集分三步:

1.将F中的所有依赖右边化为单一元素

2.去掉F中的所有依赖左边的冗余属性.

3.去掉F中所有冗余依赖关系.

F={abd->e,ab->g,b->f,c->j,cj->i,g->h}

1.将F中的所有依赖右边化为单一元素

此题F={abd->e,ab->g,b->f,c->j,cj->i,g->h};已经满足

2.去掉F中的所有依赖左边的冗余属性.

做法是属性中去掉其中的一个,看看是否依然可以推导

此题:abd->e,去掉a,则(bd)+不含e,故不能去掉,同理b,d都不是冗余属性

ab->g,也没有

cj->i,因为c+={c,j,i}其中包含i所以j是冗余的.cj->i将成为c->i

F={abd->e,ab->g,b->f,c->j,c->i,g->h};

3.去掉F中所有冗余依赖关系.

做法为从F中去掉某关系,如去掉(X->Y),然后在F中求X+,如果Y在X+中,则表明x->是多余的.需要去掉.

此题如果F去掉abd->e,F将等于{ab->g,b->f,c->j,c->i,g->h},而(abd)+={a,d,b,f,g,h},其中不包含e.所以不是多余的.

同理(ab)+={a,b,f}也不包含g,故不是多余的.

b+={b}不多余,c+={c,i}不多余.

c->i,g->h不多余.

故都不能去掉.

所以所求最小函数依赖集为 F={abd->e,ab->g,b->f,c->j,c->i,g->h}.

关系模式与函数依赖集

34、给定关系模式R(U,F),U={A,B,C,D},函数依赖集F={AB→C,CD→B}。关系模式R( 1),且分别有( 2)。若将R分解成p={R1(ABC),R2(CDB)},则分解p( 3)。

(1)

A、只有1个候选关键字ACB

B、只有1个候选关键字BCD

C、有2个候选关键字ACD和ABD

D、有2个候选关键字ACB和BCD

(2)

A、0个非主属性和4个主属性

B、1个非主属性和3个主属性

C、2个非主属性和2个主属性

D、3个非主属性和1个主属性

(3)

A、具有无损连接性、保持函数依赖

B、具有无损连接性、不保持函数依赖

C、不具有无损连接性、保持函数依赖

D、不具有无损连接性、不保持函数依赖

答案【C A C】:

解析:

1、首先清楚候选码是什么:某属性集 A决定另一个属性集 B时,称另一属性集 B依赖于该属性集 A。

由此可知本题是根据函数依赖集求候选码:①∵AB->C∴ C依赖于AB;此时D无法被推出所以再加上D就是【ABD】②同理∵CD->B B依赖于CD A无法被推出∴CD加A【ACD】。

2、主属性的定义“包含在任何一个候选码中的属性叫做主属性(Prime attribute),否则叫做非主属性(Nonprime attribute)“;此时的候选码包括【ABD】【ACD】ABCD都存在不同的候选码∴分别有4个主属性。

3、满足无损连接性的充分条件是R1∩R2→(R1-R2)或R1∩R2→(R2-R1),能由函数依赖集F逻辑推出;| R1∩R2=CB;R1-R2=A;R2-R1=D;∵ CB->A和CB->D不能由函数依赖集F推出∴ p不具有无损连接性。

保持函数依赖:若满足(F1UF2)= F,则分解保持函数依赖,其中Fi是函数依赖集F在Ri上的投影;| F1是F在R1上的投影所以F1={AB->C}同理F2是F在R2上的投影F2={CD->B}|我们现在看一下F1、F2否满足判定:(F1∪F2)={AB->C,CD->B}==F;p满足保持函数依赖

好了,关于函数依赖集和基本函数依赖集的问题到这里结束啦,希望可以解决您的问题哈!

骗子利用AI声音冒充亲人诈骗 骗子利用AI声音冒充亲人诈骗怎么预防ai软件是手画吗,为什么ai不会画手