💽 DataBase

함수적 종속: Functional Dependency

한 테이블에 있는 두개의 Attribute 집합 사이의 제약
notion image
  • 두 Tuple의 X 값이 같다면 Y 값도 같다.
  • X 값에 따라 Y 값이 유일하게 결정될 때
    • X가 Y를 함수적으로 결정한다(Functionally Determine)
    • Y가 X에 함수적으로 의존한다(Functionally Dependent)
    • 라고 말하고
  • 두 집합 사이의 이러한 제약 관계를 Functional Dependency(FD)라고 한다.
💡
X → Y

FD 파악하기

테이블의 스키마를 보고 의미적으로 파악해야한다.
  • 즉, 테이블의 state를 보고 FD를 파악해서는 안된다.
    • notion image
  • 구축하려는 DB의 Attributes가 관계적으로 어떤 의미(Semantics)를 지닐지에 따라 FD들이 달라진다.

Left-Hand Side, Right-Hand Side

notion image
  • X → Y ≠ Y → X
notion image
  • Y 값은 언제나 하나의 값만을 가진다.
    • notion image

FD 종류

Trivial Functional Dependency

X → Y가 유효할 때, Y가 X의 부분집합이면, X → Y는 Trivial FD
notion image

Non-Trivial Functional Dependency

X → Y가 유효할 때, Y가 X의 부분집합이 아니면, X → Y는 Non-Trivial FD
notion image
  • 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

출처