[DB] 정규화 과정
정규화 과정
- 비정규형 릴레이션
- 속성의 도메인이 원자 값으로만 구성되도록 분해
- 제1정규형 릴레이션(모든 속성의 도메인이 원자 값으로만 구성)
- 부분 함수 종속 제거
- 제2정규형 릴레이션(모든 속성이 기본키에 완전 함수 종속)
- 이행적 함수 종속 제거
- 제3정규형 릴레이션(모든 속성이 기본키에 이행적 함수 종속이 아님)
- 후보키가 아닌 결정자 제거
- 보이스/코드 정규형 릴레이션
- 모든 결정자가 후보키
이행적 함수 종속
A->B이고 B->C일 때 A->C를 만족하는 관계
보이스/코드 정규형 릴레이션
하나의 릴레이션에 여러개의 후보키가 존재할 수 있는데 이를 제3정규형까지는 허용이 되지만 이상현상이 발생할 수 도 있다. 즉 후보키를 여러개 가지고 있는 릴레이션에 발생할 수 있는 이상 현상을 해결하기 위해 좀 더 엄격한 제약조건을 제시한 것이 보이스/코드 정규형이다.