0

我有一个R= {A,B,C,D,E,F,G,H,I,J,K} F={ABGH->IJKF,JIGH->ABF, A->CDE}我需要找到的所有最小候选键R,以及如何规范化R为 BCNF

到目前为止,我得到了以下答案 ABGHGHJIKAGHIJK

但我从这个网站检查了我的答案:checked site

我不知道为什么“K”不是答案的一部分,我不确定我的答案是否正确。谢谢!

4

3 回答 3

1

R有两个候选键:{ABGH}和{GHIJ}。

{GHJIK} 不是候选键,但如果,那么 {AGHIJK} 将不是最小键。

属性 K 不是两个候选键的一部分,因为 {ABGH} 的闭包包含 K,而 {GHIJ} 的闭包包含 K。例如,对于 {ABGH} 。. .

ABGH->ABGH (trivial)
ABGH->IJKF (given), therefore
ABGH->ABGHIJKF
A->CDE (given), therefore
ABGH->ABCDEGHIJKF, or in alpha order
ABGH->ABCDEFGHIJK
于 2014-04-10T13:02:48.050 回答
0

BCNF 分解将是 R1 (ACDE) nd R2(ABFGHIJK) 因为在 R (A--> CDE) 中是部分依赖。所以我们在 R1 中分解它,其中 A 是 ck,R2 中 ABGH 和 GHIJ 是候选键。

于 2015-07-26T17:47:21.357 回答
0

任何没有。添加到候选键的属性构成一个超级键。因此我们也可以说候选键是最小的超级键。在这里ABGHandGHIJ可以确定关系的所有其他属性,因此它们成为候选键,因此GHIJK成为超级键(由于添加K)而不是候选键,并且基于类似的原则AGHIJK(由于添加Aand K)也成为超级键,因为它有GHIJ这是一个候选键。

于 2016-11-27T16:00:55.077 回答