Learning
토픽 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 역정규화(성능/중복허용)

연관: 이상현상, 함수종속, 역정규화, 데이터 모델링