1

입력이 기본 일 때 이러한 문제를 쉽게 해결하는 방법을 알고 있습니다. BCNF뿐만 아니라 1, 2, 3 표준 형식에 대한 규칙을 알고 있습니다. 그러나 몇 가지 실습 연습을보고 있었고 특이한 의견을 보았습니다.BCNF에없는 가장 강한 표준 형태를 찾아내는 것은 그것을 분해합니까?

다음 관계와 종속성을 고려해보십시오. 각 관계는 ABCDEFGHI 특성을 가진 관계에서 분해하여 얻은 것으로, ABCDEFGHI 관계에 대해 알려진 모든 종속성이 각 질문에 나열되어 있다고 가정합니다. 은 (ABCDEFGHI 위에 주어진 의존성이 다르기 때문에 질문 분명히 서로 독립적이다.)

  1. R2 (A, B, F) AC → E, B → F
  2. R1 (A, C, B, D, E)는 → B, C → D

나는 2 해결할 수 :

A+=AB 
C+=CD 
AC+=ABCD 
ACE=ABCDE 

을 따라서 ACE가 후보 키 없으며, A, C 및 E의 어느 것도 있다 슈퍼 키. 확실히 bcnf가 아닙니다. 그것을 분해하고 (ACE) (AB) (CD) 등을 얻으십시오.

그러나 번호 1은 저를 혼란스럽게합니다! C 나 E가 R2에 없을 때 AC → E가있는 이유는 무엇입니까? 어떻게이 문제를 해결할 수 있을까요? 다른 많은 연습 문제는 다음과 같으므로 오류가 될 수 없습니다./

또 다른 질문은 하나의 기능 종속성이 BCNF에 있고 다른 것들은 그렇지 않은 경우 어떻게됩니까? 다른 사람들을 BCNF로 분해하는 동안이 기능적 종속성을 그냥 무시합니까?

+0

FD는 NF에 "있을"수 없습니다. 관계는 주어진 NF에 있거나 없는데, 이해하고있는 일부 NF 집합에서 가장 높은 NF에 있으며, 보유하고있는 FD에 따라 다릅니다. 디자인 또는 일련의 관계는 모든 관계가있는 경우 NF에 있거나 포함되지 않습니다. 당신은 무엇을 말하려고하는? NF의 정의와 정의를 담고있는 FD가있을 경우, FD는 정의에 따라 NF를 "위반"할 수도 있고하지 않을 수도 있습니다. – philipxy

답변

1

연습 문제의 텍스트를 올바르게 이해하면 종속 관계는 원래 관계 (ABCDEFGHI)에서 유지되는 것입니다 : "ABCDEFGHI 관계에 대한 모든 알려진 종속성이 각 질문에 나열되어 있습니다".

그래서, 유일한 지정된 종속성을 AC → EB → F있는 원본과 관련,이 종속성 AC → E이 관계의 (만) 후보 키가 AB 즉, 분해 관계 R2(A,B,F) 손실되는 것을 의미한다고 가정 스키마 2NF가 아니기 때문에 (F은 키의 일부에 의존하므로) BCNF에서 해당 스키마를 분해하려면 (AB)(BF)으로 분해해야합니다.