TUTORIAL

DB 정규화 완벽 가이드: 1NF부터 3NF까지

데이터베이스 정규화를 실전 예제로 단계별로 배웁니다. 1NF, 2NF, 3NF를 적용해 데이터 중복을 제거하고 무결성을 보장하는 방법을 알아봅니다.

럿지 AI 팀
2025-01-06
12
정규화란?

데이터 중복을 최소화하고 무결성을 보장하기 위해
테이블을 분해하는 과정입니다.

1

1NF

원자값만 허용

2

2NF

부분 종속 제거

3

3NF

이행 종속 제거

1NF: 원자값

Before

상품명: 노트북,마우스
가격: 1000000,50000

After (1NF)

상품명: 노트북  가격: 1000000
상품명: 마우스  가격: 50000

2NF: 완전 함수 종속

기본키 일부에만 종속되는 속성을 분리합니다.

-- 분리 전: (주문ID, 상품명) → 상품가격
-- 상품가격은 상품명에만 종속!

-- 분리 후:
주문상세: (주문ID, 상품명) → 수량
상품: 상품명 → 상품가격

3NF: 이행 종속 제거

A → B → C 형태의 종속을 분리합니다.

-- 주문ID → 고객명 → 고객주소
-- 고객 테이블 분리!

주문: 주문ID → 고객ID
고객: 고객ID → 고객명, 고객주소

정규화 효과

삽입

이상 현상 해결

갱신

한 곳만 수정

삭제

데이터 손실 방지

관련 태그

#정규화
#Database
#1NF
#2NF
#3NF
#SQL