데이터베이스 정규화 (Database Normalization)
1. 정의
데이터베이스 정규화(Database Normalization)란 데이터 중복을 최소화하고 데이터 무결성을 보장하기 위해 릴레이션을 분해하는 과정을 말한다. 이를 통해 삽입·갱신·삭제 이상(Anomaly)을 제거하고 효율적인 데이터 구조를 설계할 수 있다.
2. 목적 및 절차
- 목적: 데이터 중복 제거, 무결성 유지, 저장 공간 최적화, 데이터 일관성 확보
- 절차: 정규화 단계(1NF~BCNF 이상) 순차 적용
- 적용 시점: 논리적 설계 단계(Logical Design Phase)에서 수행
3. 정규화 단계별 설명
| 단계 | 정의 | 목적 |
| 1정규형(1NF) | 모든 속성은 원자값(Atomic Value)으로만 구성 | 반복 그룹 제거 |
| 2정규형(2NF) | 1NF 만족 + 부분 함수 종속 제거(기본키 전체에 종속) | 기본키 전체에 종속 |
| 3정규형(3NF) | 2NF 만족 + 이행 함수 종속 제거 | 비키 간 종속성 제거 |
| BCNF | 모든 결정자가 후보키 | 이상 현상 완전 제거 |
| 4정규형(4NF) | BCNF 만족 + 다치 종속(MVD) 제거 | 독립적 다중 값 분리 |
| 5정규형(5NF) | 4NF 만족 + 조인 종속 제거 | 데이터 재구성 최소화 |
4. 장점과 단점
(1) 장점
- 데이터 중복 최소화
- 데이터 무결성 강화
- 이상 현상 제거
(2) 단점
- 테이블 수 증가로 조인 비용 증가
- 조회 성능 저하 가능성 → 반정규화(Denormalization) 고려 필요
5. 결론
정규화는 데이터베이스의 품질을 높이는 핵심 설계 기법으로, 각 단계의 목적과 적용 시점을 이해하고 시스템 특성에 맞게 반정규화와 병행해야 최적 성능을 낼 수 있다.
'IT Tech.' 카테고리의 다른 글
| (컴퓨터시스템) 세그먼테이션 오류 (Segmentation Fault) (1) | 2025.08.14 |
|---|---|
| (정보전략) 공급망관리(SCM, Supply Chain Management) (8) | 2025.08.13 |
| (AI) 머신러닝 학습 유형 (지도학습, 비지도학습, 강화학습) (3) | 2025.08.13 |
| (AI) GAN (Generative Adversarial Network) (4) | 2025.08.13 |
| 정보관리기술사 답안 작성 요령 (7) | 2025.08.13 |