카테고리 없음

🧩 정규화(Normalization) 쉽게 이해하기

빛나는오늘 님의 블로그 2026. 5. 31. 12:42


🧩 정규화(Normalization) 쉽게 이해하기

데이터베이스에서 정규화(Normalization)는 데이터를 효율적으로 저장하고, 중복과 오류를 줄이기 위해 테이블을 정리하는 과정입니다.

즉, 한마디로 말하면
👉 “데이터를 깔끔하게 나누는 작업”입니다.



📊 왜 정규화가 필요할까?

정규화를 하지 않으면 다음 문제가 생깁니다.

* 데이터 중복 저장
* 수정 시 여러 곳을 동시에 변경해야 함
* 데이터 불일치 발생 가능
* 저장 공간 낭비

👉 그래서 데이터베이스는 정규화를 통해 구조를 개선합니다.



🧱 정규화의 핵심 목적

정규화의 목적은 다음 3가지입니다.

* 데이터 중복 최소화
* 데이터 무결성 유지
* 데이터 구조 단순화



🔢 정규화 단계 쉽게 이해하기

1️⃣ 제1정규형 (1NF)

제1정규형
👉 하나의 칸에는 하나의 값만 들어가야 합니다.

✔ 예시 문제

* 한 칸에 “홍길동, 김철수” 같이 여러 값 저장 ❌

✔ 해결

* 각각 행으로 분리



2️⃣ 제2정규형 (2NF)

제2정규형
👉 기본키의 일부에만 의존하는 데이터를 분리합니다.

✔ 핵심

* 부분 종속 제거
* 테이블 분리로 중복 감소



3️⃣ 제3정규형 (3NF)

제3정규형
👉 기본키가 아닌 속성 간의 종속 관계를 제거합니다.

✔ 핵심

* A → B → C 구조 제거
* 불필요한 의존성 삭제





⚙️ 정규화의 장점

* 데이터 중복 제거
* 저장 공간 절약
* 데이터 수정 오류 감소
* 유지보수 쉬움



⚠️ 단점도 있음

* 테이블이 많아짐
* JOIN 연산 증가
* 쿼리가 복잡해질 수 있음



🧠 정리

정규화는 데이터베이스를 더 효율적이고 안전하게 만들기 위한 과정입니다.
중복을 줄이고 구조를 나누어 데이터의 정확성을 높입니다.



💡 핵심 요약

* 1NF = 하나의 값만
* 2NF = 부분 종속 제거
* 3NF = 이행 종속 제거
* 목표 = 중복 제거 + 무결성 유지