토픽 17 / 201·정규화 및 역정규화
정규화 (Normalization)
정규화 (Normalization)
함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 분해하여 데이터 중복을 최소화하고 이상현상(Anomaly)을 방지하는 데이터 모델링 기법
목적: 데이터 중복 제거, 이상현상 방지, 데이터 일관성 확보
특징: 데이터 무결성 향상, 저장공간 효율화, 조인 연산 증가
정규형 단계
- •비정규형: 정규화 이전 상태
- •1NF: 원자값만 가짐 (도메인 원자성)
- •2NF: 1NF + 부분함수종속 제거 (완전 함수 종속)
- •3NF: 2NF + 이행함수종속 제거
- •BCNF: 모든 결정자가 후보키
- •4NF: BCNF + 다치종속 제거
- •5NF: 4NF + 조인종속 제거
종속성 이론
- •함수적 종속성(FD): X→Y (X가 Y를 결정)
- •완전 함수 종속: 기본키 전체에 종속
- •부분 함수 종속: 기본키 일부에 종속
- •이행 함수 종속: X→Y→Z (X→Z)
- •다치 종속(MVD): X→→Y
- •조인 종속(JD): 무손실 분해
장점: 데이터 일관성, 중복 최소화, 유지보수 용이, 확장성
단점: 조인 증가, 조회 성능 저하 가능, 설계 복잡도
적용사례: OLTP 시스템, 트랜잭션 처리, 마스터 데이터
비교: 정규화(무결성/중복제거) vs 역정규화(성능/중복허용)
연관: 이상현상, 함수종속, 역정규화, 데이터 모델링