2

관계 R = (A, B, C, D, E) 및 함수 종속 F는 다음과 같이 주어진다 :기능 의존성에 대한 후보 키?

F = {A-> BC, CD-> E, B-> D, E- > A}

E, BC 및 CD는 후보 키가 될 수 있지만 B는 할 수 없습니다.


사람은이 사실 계산 방법 날 지점 수 있을까? 나는 그것을 google했다. 그러나 내가 이전에 알고 있었던 것에 따라 더 많이 해석 할 수 없었다.

답변

2

함수 종속성의 종결을 계산하여 주어진 특성 집합의 모든 종속 특성을 찾을 수 있습니다.

A -> ABC -> ABCD -> ABCDE 

A가 (주어) BC을 결정뿐만 아니라 (사소) 자체 때문에 A -> ABC : 나를 보여 보자. 사실 B -> D을 추가하여 ABC -> ABCD을 얻으십시오. 마지막으로 CD -> E을 추가하여 ABCD -> ABCDE을 얻으십시오. 우리는 전체 관계를 결정했기 때문에 여기에서 멈 춥니 다. 따라서 A이 후보 키입니다.

E, BCCD부터 시작하여 전체 관계를 실제로 확인할 수 있습니다.

B에서 시작, 우리가 얻을 :

B -> BD 

하고 그게 다에요. 나머지 관계는 BD에서 확인할 수 없으므로 후보 키가 아닙니다.

그 일의 시각적 방법은 함수 종속을 스케치하는 것입니다

Functional dependency graph

는 화살표를 따라 다른 모든 속성의 경로를 찾는 시도 속성의 세트에서 시작. E에서 시작하거나 CD을 방문한 경우에만 E에 도달 할 수 있습니다.

B에서, 당신은 D에 도달 할 수 있지만, C없이, 당신은 또한 A를 제외 E로 이동 할 수 없습니다 있습니다. 따라서 B은 후보 키가 될 수 없습니다.

+0

그래서 위 그래프에서 어떻게 계산합니까? – user355834

+0

여기에서 제안한 가장 짧은 방법 (예 : 그래프)을 추가 하시겠습니까? – user355834

+0

주어진 속성 집합에서 시작하여 사용 가능한 모든 화살표를 따라야합니다. 다른 모든 노드에 연결할 수 있다면 후보 키를 얻었습니다. 그렇지 않다면, 그렇지 않습니다. – reaanb