기능적 종속성 표기(A - > BC)의 의미를 이해하는 데 문제가 있습니다.

StackOverflow https://stackoverflow.com//questions/20024007

  •  21-12-2019
  •  | 
  •  

문제

A->BC가 무엇을 의미하는지, 주로 정확히 BC가 무엇을 의미하는지 시각화하는 데 어려움을 겪고 있습니다.
예를 들어, 테이블에서 "If A -> B 및 B -> C, then A -> C"는 다음과 같으며 명령문은 true입니다.

A  |  B  |  C 
1  |  2  |  3 
1  |  2  |  3 

A -> BC는 어떤 모습일까요?

"AB -> C이면 A -> BC"와 같은 내용이 거짓임을 어떻게 표시할 수 있나요?

감사해요!

편집하다:
내 생각에는 AB -> C는 C가 A와 B 모두에 종속된다는 것을 의미하므로 테이블은 다음과 같습니다.

A  |  B  |  C 
1  |  2  |  3 
1  |  2  |  3 

또는 이것은 (위의 질문에 대한 반례가 될 것입니다):

A  |  B  |  C 
1  |  2  |  4 
1  |  3  |  4 

그리고 둘 다 사실일 것이다.그러나 이것은 거짓이다:

A  |  B  |  C 
1  |  2  |  4 
1  |  3  |  5

그게 맞는 생각인가요?

도움이 되었습니까?

해결책

아직 읽지 않으셨다면 이것, 기능적 종속성에 대한 괜찮은 소개입니다.그것은 말한다:

노동 조합:X → Y 및 X → Z이면 X → YZ

분해:X → YZ이면 X → Y 및 X → Z

읽으면 도움이 될 것 같아요 A -> B "A가 B를 결정합니다"라고 읽고 A -> BC "A가 B와 C를 결정합니다"처럼.즉, A가 주어지면 B와 C의 값을 고유하게 결정할 수 있지만 B와 C가 주어지면 A의 값을 고유하게 결정할 수 있는 것은 아닙니다.

간단한 예는 다음과 같습니다.A가 기본 키이고 B와 C가 다른 열인 3개 이상의 열이 있는 테이블:

 id | x | y
------------
 1  | 7 | 4
 2  | 9 | 4
 3  | 7 | 6

그것을 보여주기 위해 If AB -> C, then A -> BC 거짓이라면 단 하나의 반례를 생각해내면 됩니다.다음은 하나입니다.AB가 기본 키인 테이블(따라서 정의에 따라 다음을 충족함) AB -> C):

 A | B | C
------------
 1 | 1 | 4
 1 | 2 | 5
 2 | 1 | 6
 2 | 2 | 4

하지만, 만족스럽지 못하다 A -> B (A=1, B=1,2이기 때문에) 따라서 Union에서는 다음을 만족하지 않습니다. A -> BC.(보너스 포인트:그것은 만족합니까? A -> C?그게 그렇게 중요한 건가?)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top