[sql] 다치 종속성과 정규화
관계형 데이터베이스에서 다치 종속성은 한 테이블의 열이 다른 열에 대해 다중값 종속성을 가지는 것을 말합니다. 이는 데이터의 중복을 초래하여 무결성 문제를 발생시킬 수 있습니다.
다치 종속성의 예
예를 들어, 학생 정보 테이블에서 학생의 수강 과목을 표현하는 열이 개개의 수업을 가리킬 수 있는 경우 다치 종속성이 발생합니다. 이 경우에는 논리적인 오류가 발생할 수 있으므로 정규화가 필요합니다.
정규화
정규화는 데이터베이스 설계에서 중복을 최소화하고 무결성을 유지하기 위해 수행되는 프로세스입니다. 다치 종속성을 해결하기 위해서는 데이터를 여러 테이블로 분리하여 중복을 줄여야 합니다.
다치 종속성 해결을 위한 단계
- 제1정규화(1NF): 각 열은 원자적인 값만을 가지도록 테이블을 분해합니다.
- 제2정규화(2NF): 부분적 함수 종속성을 제거하기 위해 테이블을 분해합니다.
- 제3정규화(3NF): 이행적 함수 종속성을 제거하기 위해 테이블을 분해합니다.
정규화는 데이터의 일관성과 정확성을 유지하기 위해 매우 중요한 단계입니다. 데이터베이스 설계 시에 다치 종속성을 고려하여 테이블을 정규화함으로써 효과적으로 데이터를 관리할 수 있습니다.
참고: 다치 종속성과 비정규화