2014-03-30 8 views
1

R의 모든 최소한의 후보 키를 찾기 내가 R의 모든 최소한의 후보 키를 찾을 필요하고, 어떻게내가 가진

을 BCNF에 R을 정상화 R= {A,B,C,D,E,F,G,H,I,J,K}F={ABGH->IJKF,JIGH->ABF, A->CDE} 내가 가지고 지금까지 다음과 같은 답변 : ABGH, GHJIKAGHIJK.

그러나이 사이트에서 내 대답을 확인했다 : 'K'는 대답의 일부가 아닌 내가 내 대답이 정확하면 확실하지 않다 왜 모르겠어요 checked site

. 감사!

답변

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 
0

BCNF 분해 R1 (ACDE) ND 때문에 R에서 R2 (ABFGHIJK) (> CDE A)가 될 것이다. 그래서 우리는 R1에서 그것을 분해합니다. 여기서 A는 ck이고 R2는 ABGH와 GHIJ가 후보 키입니다.

0

아니요. 후보 키에 추가 된 속성의 수퍼 키가 수퍼 키를 형성합니다. 따라서 우리는 후보 키가 최소 수퍼 키라고 말할 수 있습니다. 여기서 ABGHGHIJ은 관계의 다른 모든 속성을 결정하여 후보 키가 될 수 있으므로 GHIJK은 (K의 추가로 인해) 수퍼 키가되고 후보 키가 아니며 AGHIJK (추가로 AK이 추가됨)이됩니다. 후보 키인 GHIJ이 있으므로 슈퍼 키가됩니다.