완전 함수 종속, 부분 함수 종속, 이행 함수 종속 비교
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)을 발생시키므로 제거해야 할 대상이다. 따라서 데이터베이스 설계 시 정규화 과정을 통해 이들 종속성을 올바르게 관리해야 한다.
'IT Tech.' 카테고리의 다른 글
| (AI) Ambient AI (앰비언트 인공지능) (1) | 2025.08.19 |
|---|---|
| (보안) CC(Common Criteria) (0) | 2025.08.19 |
| (클라우드) 서버리스 컴퓨팅(Serverless Computing) (2) | 2025.08.18 |
| (AI) LLM 특징 및 도입 시 보안 위험과 대응 방안 (4) | 2025.08.17 |
| (컴퓨터시스템) CXL(Compute Express Link) (1) | 2025.08.17 |