0

考虑以下关系 R = (ABCDEFGH),这组函数依赖关系在该关系上成立: {BE -> GH, G -> FA, D -> C, F -> B} R 的候选键是什么?

我发现答案可以是 BED、DEG、FED。但是,这个问题是单选题,所以我不能选择多个答案......

希望有人能给我正确的答案和他使用的方法。

4

2 回答 2

0

一组候选键是{{BDE}, {DEF}, {DEG}}

一个关系可以有多个候选键。但是,您只能选择其中一个作为主键。

链接解释了如何为您的示例评估候选键。

于 2014-04-12T05:34:17.033 回答
0

让我解释一下如何以简单的方式找到候选键:

形成左、右、中三列

在左栏中,添加仅出现在 FD 左侧的属性

在右栏中,添加仅出现在 FD 右侧的属性

在中间列中,添加出现在 FD 左右两侧的属性

解释:

左栏的属性表示,每个可能的候选键都必须包含这些属性

右列的属性表示候选键不应包含它

中间的属性可能包含在候选键中,也可能不包含在候选键中

在这个例子中,我们在左列得到 E、D,在中间得到 B、F、G,在右列得到 A、C、H

然后,应用Closure 属性

床+=ABCDEFGH

自从

BE->GH给定

BE->FA分解规则和传递性规则BE->G 和 G->FA

BED->C 由于 D->H给出

类似地,可以证明 DEF 和 DEG 是候选键。

因此,这三个都是候选

希望能帮助到你!

于 2015-05-10T09:55:15.720 回答