DB
정규화 / 반정규화 란??
2025. 6. 4. 13:11

정규화(Normalization)와 반정규화(Denormalization)는 관계형 데이터베이스 설계에서 데이터 구조의 효율성과 성능을 조절하는 두 가지 접근 방식

 

✅ 정규화 (Normalization)

목적:

  • 데이터 중복 제거,
  • 데이터 무결성 유지,
  • 데이터 구조의 논리적 정합성 확보
 

장점:

  • 데이터 무결성 향상
  • 변경 시 일관성 유지
  • 저장 공간 최적화

단점:

  • 조인이 많아져 성능 저하 가능
  • 실시간 처리에 불리할 수 있음

 

✅ 반정규화 (Denormalization)

목적:

  • 조회 성능 향상
  • 복잡한 조인 최소화

방법:

  • 테이블 병합
  • 중복 데이터 허용
  • 집계 필드 추가
  • 컬럼을 별도로 분리하거나, 계산 결과 컬럼 저장

장점:

  • 조회 성능 향상, 특히 대용량/실시간 시스템에서 유리
  • 조인 감소로 인한 단순한 쿼리 작성 가능

단점:

  • 데이터 중복 증가 → 무결성 문제 가능성
  • 변경 작업이 많아지면 관리 복잡도 증가

 

✅ 정규화 vs 반정규화 요약

항목 정규화 반정규화
목적 중복 제거, 무결성 확보 성능 개선
장점 일관성, 저장 공간 효율 빠른 조회, 간단한 쿼리
단점 느린 조회, 복잡한 쿼리 데이터 중복, 무결성 위험
사용처 OLTP 시스템 (은행, ERP 등) OLAP, 리포팅, 대용량 분석 시스템

'DB' 카테고리의 다른 글

JPA  (0) 2025.01.16
Mybatis  (0) 2024.12.02
Spring <-> Oracle 연동방법  (0) 2024.11.29
DB-트리거  (0) 2024.10.28
저장 프로시저  (0) 2024.10.28