본문 바로가기
IT개발/Tech Notes

정규화란? 1NF부터 5NF까지 핵심 개념 완전 정리

by 시간기억자 2025. 5. 13.
반응형

정규화(Normalization)는 데이터의 중복을 최소화하고,
삽입·삭제·갱신 시 발생할 수 있는 이상현상(Anomaly)을 방지하기 위한
데이터베이스 설계 기법이다.

정규화는 데이터의 무결성, 일관성, 안정성을 보장하며,
정보처리기사나 SQL 인터뷰에서도 자주 등장한다.

 

https://time-memorizer.tistory.com/273

 

정규화란? 제1정규형부터 제3정규형까지 쉽게 정리

**정규화(Normalization)**란 데이터베이스에서 중복을 제거하고 논리적으로 데이터를 정리하는 과정이다.정규화는 관계형 데이터베이스 설계의 기본이며, 실무와 정보처리기사 시험 모두에서 필수

time-memorizer.tistory.com

 


✅ 1NF (제1정규형) – 원자값만 저장

  • 테이블의 모든 속성 값은 분해할 수 없는 원자값이어야 한다.
  • 한 셀에 여러 개의 값이 있으면 안 된다.
  • 반복 속성 제거가 목적이다.

예시:

이름 전화번호
홍길동 010-1234, 010-5678 ← ❌
→ 분리 후  
이름 전화번호
------ ----------------
홍길동 010-1234
홍길동 010-5678
 

✅ 2NF (제2정규형) – 부분 함수 종속 제거

  • 기본키의 일부분에만 종속되는 컬럼 제거
  • 기본키 전체에 종속되어야 한다.

예시:

학번 과목 교수이름
1 수학 김교수
1 영어 이교수
 

→ 교수이름은 과목에만 종속 → 분리 필요


✅ 3NF (제3정규형) – 이행 함수 종속 제거

  • 기본키를 거치지 않고 비주요 속성이 다른 비주요 속성에 종속되면 안 된다.
  • 중복 정보 제거 및 갱신 이상 방지

예시:
| 학번 | 학과코드 | 학과이름 |
→ 학과이름이 학과코드에 종속 → 분리 필요


✅ BCNF – 결정자이지만 후보키가 아닌 속성 제거

  • 3NF보다 강화된 정규형
  • 결정자가 후보키가 아닌 경우 분리

예시:

  • 학과명 → 교수
  • 학과명이 후보키가 아니라면 분리해야 함

✅ 4NF – 다치 종속 제거

  • 하나의 기본키에 여러 개의 속성이 독립적으로 종속되는 경우
  • 다치 종속이 발생하면 테이블 분리

예시:
| 학생 | 과목 | 동아리 |
→ 과목과 동아리가 서로 독립 → 다치 종속 → 분리 필요


✅ 5NF – 조인 종속 제거

  • 조인된 테이블이 정보 손실 없이 복원 가능해야 함
  • 조인 시 정보가 손실되거나 중복되면 5NF를 위반한 것

💡 마무리 정리

정규형 주요 개념
1NF 원자값 유지
2NF 부분 종속 제거
3NF 이행 종속 제거
BCNF 후보키가 아닌 결정자 제거
4NF 다치 종속 제거
5NF 조인 종속 제거
 

정규화를 통해 테이블의 설계 품질이 향상되며,
데이터 중복 감소, 이상현상 방지, 쿼리 성능 향상에 도움이 된다.

 

https://time-memorizer.tistory.com/273

 

정규화란? 제1정규형부터 제3정규형까지 쉽게 정리

**정규화(Normalization)**란 데이터베이스에서 중복을 제거하고 논리적으로 데이터를 정리하는 과정이다.정규화는 관계형 데이터베이스 설계의 기본이며, 실무와 정보처리기사 시험 모두에서 필수

time-memorizer.tistory.com

 


📌 매일 간단히 IT 관련 개념을 익히고 싶다면 구독하세요!👇👇👇

http://www.youtube.com/@itbite_daily

 

오늘의 IT한입

👋 하루 한 입, 쉽게 배우는 IT & 개발 개념! 프로그래밍, 데이터베이스, 운영체제, 네트워크, 보안, 코딩테스트까지! 취업 준비부터 실무 감각까지 매일 짧고 강력하게 정리해드립니다. 📍 매일

www.youtube.com

 

 

반응형

댓글