정규화(Normalization)은 다양한 정보를 포함하고 있는 하나의 테이블을 각 정보에 맞게 쪼개는 작업을 의미합니다.
따라서, 정규화는 '무손실 분해'라고 합니다.
정규화는 각각의 정보를 별도의 릴레이션으로 무손실 분해해서 이상현상을 제거하는 것에 목적을 두고 있습니다.
이러한 정규화는 6가지로 나눌 수 있지만 일반적으로 세 종류의 정규화를 주로 사용합니다.
각 정규화 단계를 거쳐야 다음 정규화 과정을 수행할 수 있습니다.
# 정규화
- 1NF 릴레이션
- 2NF 릴레이션
- 3NF 릴레이션
- BCNF 릴레이션
- 4NF 릴레이션
- 5NF 릴레이션
1. 제 1정규형(1NF)
1NF는 다중값 속성을 제거하는 단계입니다.
즉, 정규화를 수행하는 릴레이션의 모든 속성값이 원자(단일)값을 가지면 1NF라고 합니다.
2. 제 2정규형(2NF)
2NF는 하나의 릴레이션에 두 개의 릴레이션이 종속되어 있다면 분해하는 단계입니다.
즉, 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때 2NF라고 합니다.
3. 제 3정규형(3NF)
비이행적(non-transitive)으로 종속할 때 3NF라고 합니다.
이행적 종속이란 A = B, B = C일때, A = C가 성립되는 함수 종속성입니다.