완전 함수 종속, 부분 함수 종속, 이행 함수 종속 비교

1. 정의

  • 함수 종속(Functional Dependency, FD): 관계형 데이터베이스에서 한 속성 집합의 값이 다른 속성 집합의 값을 결정하는 관계(X → Y).
  • 완전 함수 종속(Full Functional Dependency)
    • 기본 키가 여러 속성으로 구성된 경우, 기본 키의 모든 속성이 함께 종속자를 결정.
    • 즉, 기본 키의 부분 집합만으로는 종속자를 결정할 수 없음.
  • 부분 함수 종속(Partial Functional Dependency)
    • 기본 키의 일부 속성만으로도 종속자를 결정.
  • 이행 함수 종속(Transitive Functional Dependency)
    • X → Y, Y → Z가 존재할 때, X → Z가 성립하는 경우.
    • 즉, 기본키가 아닌 속성을 통해 다른 속성이 종속되는 상황.

 

2. 비교

구분 정의 예시
완전 함수 종속 기본키 전체에 종속 (학번, 과목코드) → 성적
부분 함수 종속 기본키 일부에만 종속 (학번, 과목코드) 중 학번 → 학과
이행 함수 종속 기본키가 아닌 속성을 통해 종속 학번(X) → 학과(Y), 학과(Y) → 지도교수(Z) 라면, 학번(X) → 지도교수

 

3. 정규화와의 관계

  • 1NF: 원자값(Atomic Value)만 허용
  • 2NF: 부분 함수 종속 제거 → 완전 함수 종속만 남김
  • 3NF: 이행 함수 종속 제거 → 기본키에만 직접 종속

 

4. 결론

완전 함수 종속은 정규화된 상태에서 바람직한 종속성이며, 부분 함수 종속과 이행 함수 종속은 데이터 중복과 이상(Anomaly)을 발생시키므로 제거해야 할 대상이다. 따라서 데이터베이스 설계 시 정규화 과정을 통해 이들 종속성을 올바르게 관리해야 한다.

+ Recent posts