#5 Weekly Paper _데이터베이스 정규화

Heidi J.·2026년 3월 24일

Weekly_Paper

목록 보기
14/37
post-thumbnail

Q1) 데이터베이스 정규화란 무엇인가요? 또, 정규화의 장단점은 무엇인가요?

1. 데이터베이스 정규화 (Normalization)

1) 정규화란?

  • 데이터의 중복을 최소화하고,

  • 데이터 구조를 체계적으로 정리하는 과정

  • "같은 데이터를 여러 번 저장하지 않도록 테이블을 잘 나누는 작업"

  • 데이터를 여러 개의 테이블로 분리하고,

  • 각 테이블이 하나의 주제(엔터티)만 가지도록 설계하는 과정
    예를 들어:

    -> 이런 구조는 문제 있음

  • 고객정보가 계속 반복됨

  • 수정 시 오류 발생 가능

그래서 정규화하면,
고객 테이블
|고객ID|이름|주소|
주문 테이블
|주문ID|고객ID|
상품 테이블
|상품ID|상품명|가격|
-> 이렇게 각각 고객/주문/상품 테이블로 나눠서 중복제거 + 관계로 연결

2. 정규화 장단점

1) 정규화 장점

  • 데이터 중복 최소화
    • 저장 공간 절약
    • 데이터 일관성 유지
  • 데이터 이상(Anomaly) 방지
    • 삽입 이상(Inser anomaly)
    • 수정 이상(Update anomaly)
    • 삭제 이상(Delete anomaly)
  • 유지보수 용이
    • 데이터 변경 시 한 곳만 수정하면 됨
  • 데이터 무결성 향상
    • 잘못된 데이터 발생 확률 감소

2) 정규화 단점

  • JOIN 연산 증가
    • 테이블이 많아짐 -> 조회 시 JOIN 필요
      • 성능 저하 가능
  • 설계 복잡도 증가
    • 구조가 복잡해져서 이해하기 어려움
  • 조회 성능 저하(특히 분석/리포트)
    • 한 번에 데이터 보기 어려움
  • 과도한 정규화 문제
    • 너무 쪼개면 오히려 비효율적
      • 실무에서는 적당히 정규화 + 일부 비정규화로 사용

"정규화는 데이터의 중복을 줄이고
무결성을 유지하지 위해 테이블을 구조적으로 분리하는 과정이며,
성능과 복잡도 사이의 Trade-off가 존재한다" >

😎

profile
꼬꼬마 데분가😎

0개의 댓글