设有关系模式R (A,B,C,D,E),其上的函数依赖集:F={A→BC,CD→E,B→D,E→A}(1)计算B+。(2)求

设有关系模式R (A,B,C,D,E),其上的函数依赖集:F={A→BC,CD→E,B→D,E→A}(1)计算B+。(2)求出R的所有关键字。

首先把函数依赖分成单一的函数依赖,F=(A→C,C→A,B→A,B->C,D→A,D->C), 因为D→A,A→C,所以D->C冗余了,所以删去。同样,B->C,C→A,所以B→A删去。 Fmin=(A→C,C→A,D→A,B->C)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-12
(1)B+=BD
关键字:
A+=ABCDE 所以A是关键字
B+=BD,
C+=C
D+=D
E+=AE
B+=ABCDE
AC+=ABCED
AD+=ABCDE
AE+=ABCDE
BC+=BCDEA 关键字
BD+=BD
BE+=BDEABC 关键字
CD+=CDEAB 关键字
CE+=ABCED 关键字
DE+=DEABC 关键字追问

大佬看看我另外的题呗

本回答被提问者采纳
第2个回答  2023-01-15

    B+ = (BD)+ = BD 

    A,B,C,D,E左右都有,那慢慢求闭包呗...

    先求单属性闭包

    A+ = (ABC)+ = (ABCD)+ = ABCDE,所以A是关键字,多属性关键字不能再包含A。

    E+ = (AE)+ = ABCDE,所以E是关键字,多属性关键字不能再包含E。

    再求二属性闭包

    (BC)+ = (BCD)+ = (BCDE)+ = ABCDE,所以BC是关键字,三属性以上关键字不能同时包含BC

    (CD)+ = (CDE)+ = ABCDE,所以CD是关键字,三属性以上关键字不能同时包含CD

    即三属性关键字不能同时包含BCD,那就不用再求了,因为除去AE,三属性组合刚好只剩BCD了。

    综上,关键字为A, E, BC, CD

相似回答