SQLD 1-2-1 정규화

김희영·2026년 1월 16일

SQLD

목록 보기
7/28

데이터 모델과 SQL

+) 데이터 모델링 순서

  • 정규화
  • DB 용량 산정
  • 트랜젝션 유형 파악
  • 반정규화
  • 이력모델 조정, PK,FK 조정, 슈퍼/서브 타입 조정
  • 성능 검증

정규화

정규화 : 데이터의 중복 제거, 일관성, 유연성 유지를 위해 데이터를 분리 하는 과정

-> 정규화를 통해 삭제 이상, 삽입 이상, 갱신 이상 방지

논리 데이터 모델 : 함수적 종속 제거 하는 상세화 과정

종류

1) 제 1 정규화 : 컬럼이 1개의 값을 가짐 (완전 함수적 종속 제거)

2) 제 2 정규화 : 부분 함수 종속
기본키의 부분집합이 결정자가 되지 않는 것
-> PK 될 수 있는 게 1개

3) 제 3 정규화 : 이행적 함수 종속, 모든 결정자가 후보키
이행적 함수: A->B, B->C 일때 A->C 성립

4) BCNF 정규화 : 모든 결정자가 후보키가 됨

5) 제 4 정규화 : 다치 종속 제거
다치 종속 : A -> B에서 단일 값 A와 다중 값 B가 존재

6) 제 5 정규화 : 조인 종속 제거 (=JOIN시 손실 없음, 불필요 데이터 생성)

-> 각 단계를 통해 다른 테이블을 만든다. (단, 결정자는 본 테이블에 유지)

성능

  • 장점
    - 데이터 중복 감소로 성능 향상
    • CRUD 향상
  • 단점
    - join 많아짐
profile
내는 반드시 개발자가 되고 말것어

0개의 댓글