정규화 :
이상현상이 발생하는 릴레이션을 분해하여 이상현상을 없애는 과정
■ 이상현상이 있는 릴레이션은 이상현상을 일으키는 함수 종속성의 유형에 따라 등급을 구분 가능
■ 릴레이션은 정규형 개념으로 구분하며, 정규형이 높을수록 이상현상은 줄어듬
1. 제 1정규형
- 릴레이션 R의 모든 속성 값이 원자값을 가지면 제 1정규형이라고 함
- 제 1정규형으로 변환
- 고객취미들(이름, 취미들) 릴레이션을 고객취미(이름, 취미) 릴레이션으로 바꾸어 저장하면 제 1정규형을 만족함
2. 제 2정규형
- 릴레이션 R이 제 1정규형이고 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때 제 2정규형이라고 함.
- 완전 함수 종속(full functional dependency) : A와 B가 릴레이션 R의 속성이고 A → B 종속성이 성립할 때, B가 A의 속성 전체에 함수 종속하고 부분 집합 속성에 함수 종속하지 않을 경우 완전 함수 종속라고 함.
▣ 제 2정규형으로 변환
: 수강강좌 릴레이션에서 이상현상을 일으키는(강좌이름, 강의실)을 분해함
3. 제 3정규형
- 릴레이션 R이 제 2정규형이고 기본키가 아닌 속성이 기본키에 비이행적으로 종속할 때(직접 종속) 제 3정규형이라고 함
- 이행적 종속이란 A → B, B → C가 성립할 때 A → C가 성립되는 함수 종속성
▣ 제 3정규형으로 변환
: 계절학기 릴레이션에서 이상현상을 일으키는 (강좌이름, 수강료)를 분해함
그림으로 설명해주셔서 이해가 확 와닿네요. 2,3정규형의 정의가 항상 헷갈렸는데 이번에 제대로 감을 잡았습니다.