Database 关系模式:如何解决这个问题

Database 关系模式:如何解决这个问题,database,relational-database,Database,Relational Database,我解决不了,请帮忙 Q在a关系模式R=(a,B,C,D,E)中,存在以下函数依赖关系: A → BC CD → E B → D E → A 以下哪项是R的两个候选键的组合? 答案选择: a)a和E b) b和C c) B和D d) C和d 正确答案是a)a和E 但是如果E依赖于A(E)→ A) ,那么为什么选项A和E是正确的呢?请提供帮助我们可以为FD左侧的每组属性计算函数依赖项的闭包: A -> A (Trivial) A -> ABC (since A -> BC)

我解决不了,请帮忙 Q在a关系模式R=(a,B,C,D,E)中,存在以下函数依赖关系:

A → BC
CD → E 
B → D 
E → A
以下哪项是R的两个候选键的组合? 答案选择:

a)a和E
b) b和C

c) B和D
d) C和d

正确答案是a)a和E


但是如果E依赖于A(E)→ A) ,那么为什么选项A和E是正确的呢?请提供帮助

我们可以为FD左侧的每组属性计算函数依赖项的闭包:

A -> A (Trivial)
A -> ABC (since A -> BC)
A -> ABCD (since B -> D)
A -> ABCDE (since CD -> E)
所以我们可以看到A决定了关系中的所有属性。A是一个候选键。对于CD,我们得到:

CD -> CD (trivial)
CD -> CDE (since CD -> E)
CD -> CDEA (since E -> A)
CD -> CDEAB (since A -> BC)
所以CD是一个候选密钥。对于B,我们最多可以得出:

B -> B (trivial)
B -> BD (since B -> D)
对于E:

E -> E (trivial)
E -> EA (since E -> A)
E -> EABC (since A -> BC)
E -> EABCD (since B -> D)
同样,我们可以确定R中的所有属性,因此E是候选密钥


我们有候选键A,E和CD。现在,仔细阅读问题。以下哪种可能的答案是两个候选键的组合?选项d具有单个候选密钥的两个属性。选项b和c包含不是候选密钥的b。唯一正确的答案是a)a和E,其中列出了两个独立的候选键。

您使用的是什么参考,以及它对查找CKs有何说明?你被困在哪里了?请阅读,包括关于家庭作业的内容。谢谢@reaanb我有一个问题,我如何解释语法A->ABC。是ABC依赖于A还是ABC来自A。请帮助。我把它读为A决定A、B和C,或者等价地:A、B和C依赖于A。谢谢@reaanb还有一个问题你写了A->ABC(从A->BC开始)。但是这里的A->ABCD(因为B->D)你没有用D替换B,而是如何添加D?如果我们知道A->ABC并且知道B->D,那么我们可以得出结论,A->ABCD因为A->D是通过A->B->D传递的函数依赖关系。我建议你复习阿姆斯特朗的公理,了解更多信息-联合:如果X->Y和X->Z,那么X->YZ。