最小函数依赖集

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最小函数依赖集

定义:如果函数依赖集F满足下列条件,则称F为最小函数依赖集或最小覆盖。

①F中的任何一个函数依赖的右部仅含有一个属性;

②F中不存在这样一个函数依赖X→A,使得F与F-{X→A}等价;

③F中不存在这样一个函数依赖X→A,X有真子集Z使得

F-{X→A}∪{Z→A}与F等价。

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

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

此题fd={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};

相关文档
最新文档