IT개발/Tech Notes
정규화란? 제1정규형부터 제3정규형까지 쉽게 정리
시간기억자
2025. 5. 1. 23:03
반응형
**정규화(Normalization)**란 데이터베이스에서 중복을 제거하고 논리적으로 데이터를 정리하는 과정이다.
정규화는 관계형 데이터베이스 설계의 기본이며, 실무와 정보처리기사 시험 모두에서 필수 개념이다.
✅ 정규화가 필요한 이유
- 데이터 중복을 방지
- 데이터 무결성을 유지
- 테이블 구조를 단순화
- 변경 이상(삽입, 삭제, 갱신 이상) 방지
✅ 제1정규형 (1NF)
- 정의: 모든 속성의 값이 **원자값(Atomic value)**이어야 한다.
- 예시:
잘못된 형태: 취미 = 독서, 여행
올바른 형태: 취미 = 독서, 취미 = 여행 - 핵심: 하나의 컬럼에 하나의 값만 존재해야 한다.
✅ 제2정규형 (2NF)
- 정의: 부분 함수 종속 제거
- 조건: 1NF를 만족하면서, 기본키가 복합키인 경우, 기본키의 일부에만 종속된 속성은 분리해야 한다.
- 예시:
테이블: (학생ID, 과목) → 교수
교수는 과목에만 종속되므로, 별도 테이블로 분리해야 한다. - 핵심: 기본키 전체에 종속되지 않은 속성 제거
✅ 제3정규형 (3NF)
- 정의: 이행 함수 종속 제거
- 조건: 2NF를 만족하면서, 기본키가 아닌 다른 속성에 종속된 속성이 없어야 한다.
- 예시:
테이블: 학번 → 학과코드 → 학과이름
학과이름은 학과코드를 통해 결정되므로, 별도 테이블로 분리해야 한다. - 핵심: 기본키가 아닌 속성을 통해 또 다른 속성이 결정되면 안 된다.
✅ 정규형 요약표
정규형 | 조건 | 목적 |
1NF | 속성 값이 원자값 | 컬럼 값 정제 |
2NF | 부분 함수 종속 제거 | 기본키 종속성 명확히 분리 |
3NF | 이행 함수 종속 제거 | 중복 제거 및 논리적 분리 |
✅ 결론
정규화는 단순한 암기 대상이 아니라, 데이터베이스 설계의 원칙이다.
정규화를 이해하면, 데이터 중복을 줄이고 유지보수를 쉽게 할 수 있다.
정보처리기사 시험뿐 아니라 실무 DB 설계에서도 매우 중요하게 작용한다.
📌 매일 간단히 IT 관련 개념을 익히고 싶다면 구독하세요!👇👇👇
http://www.youtube.com/@itbite_daily
오늘의 IT한입
👋 하루 한 입, 쉽게 배우는 IT & 개발 개념! 프로그래밍, 데이터베이스, 운영체제, 네트워크, 보안, 코딩테스트까지! 취업 준비부터 실무 감각까지 매일 짧고 강력하게 정리해드립니다. 📍 매일
www.youtube.com
반응형