我有R= {A,B,C,D,E,F,G,H,I,J,K}
F={ABGH->IJKF,JIGH->ABF, A->CDE}
我需要查找R
的所有最小候选键,以及如何将R
标准化为BCNF
到目前为止,我得到了以下答案:
ABGH
,GHJIK
和AGHIJK
。
但是我在这个网站上查看了我的答案:checked site
我不知道为什么'K'不是答案的一部分,我不确定我的答案是否正确。谢谢!
答案 0 :(得分: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
答案 1 :(得分:0)
BCNF分解将是 R1(ACDE)和R2(ABFGHIJK) 因为在R(A - > CDE)中是部分依赖。所以我们在R1中分解它,其中A是ck和R2,其中ABGH和GHIJ是候选键。
答案 2 :(得分:0)
任何不。添加到候选键的属性形成超级键。因此,我们也可以说候选键是最小超级键。这里ABGH
和GHIJ
可以确定关系的所有其他属性,因此它们成为候选键,因此GHIJK
成为超级密钥(由于添加了K
而不是候选者)密钥和类似原则AGHIJK
(由于添加了A
和K
)也成为超级密钥,因为它具有GHIJ
作为候选密钥。