💽 DataBase
함수적 종속: Functional Dependency
한 테이블에 있는 두개의 Attribute 집합 사이의 제약
- 두 Tuple의 X 값이 같다면 Y 값도 같다.
- X 값에 따라 Y 값이 유일하게 결정될 때
- X가 Y를 함수적으로 결정한다(Functionally Determine)
- Y가 X에 함수적으로 의존한다(Functionally Dependent)
- 라고 말하고
- 두 집합 사이의 이러한 제약 관계를 Functional Dependency(FD)라고 한다.
X → Y
FD 파악하기
테이블의 스키마를 보고 의미적으로 파악해야한다.
- 즉, 테이블의 state를 보고 FD를 파악해서는 안된다.
- 구축하려는 DB의 Attributes가 관계적으로 어떤 의미(Semantics)를 지닐지에 따라 FD들이 달라진다.
Left-Hand Side, Right-Hand Side
- X → Y ≠ Y → X
- Y 값은 언제나 하나의 값만을 가진다.
FD 종류
Trivial Functional Dependency
X → Y가 유효할 때, Y가 X의 부분집합이면, X → Y는 Trivial FD
Non-Trivial Functional Dependency
X → Y가 유효할 때, Y가 X의 부분집합이 아니면, X → Y는 Non-Trivial FD
- X와 Y 사이에 공통된 요소가 하나도 없으면, Completely Non-Trivial FD
Partial Functional Dependency
X의 어떠한 진부분집합이 Y를 결정할 수 있으면, X → Y는 Partial FD
* 부분집합 중에서 자기 자신과 동일하지는 않은 부분집합
Full Functional Dependency
X → Y가 유효할 때, X의 모든 진부분집합이 Y를 결정할 수 없으면, X → Y는 Full FD