闭包:
1、包含本身,以及属性子集中能推导出来的部分
2、子集的组合能推导出单一子集或组合,若闭包中只含有组合中的单一子集(非组合),则无法推导出单一子集或组合
这么说可能有些含糊,直接上例题:
1、有关系模式R(U),其中U={A,B,C,D,E,F};F={A->BC,E->CF,B->E,CD->EF},求属性集(AB)+
· 求属性集AB的闭包,则包括A和B,A能推出BC,B能推出E,而E能推出CF,那么AB的闭包含有ABCDF,则写为(AB)+=ABCEF .
2、有关系模式R(U),其中U={A,B,C,D,E,F};F={A->BC,E->CF,B->E,CD->EF},求属性集(AC)+
· 这里的CD能推出EF,如果所求的闭包只含有C或者D单一子集,且根据推导闭包中无法得到组合CD,则无法推出EF
· 求属性集AC的闭包,包括本身AC,A能推导出BC,B能推导出E,AC的闭包中目前含有ACBE,CD能推导出EF,但闭包中不含有D,则无法推导 .
3、有关系模式R(ABCD),F={A->C,C->A,B->AC,D->AC},求(AD)+
· 求AD的闭包包含本身A与D,A能推出C,D能推出AC,所以AD的闭包含有ADC,表示为(AD)+=ADC