본문 바로가기

DB

정규화(Normalization)

정규화란 관계형 데이터베이스에서 중복을 최소화하도록 데이터를 구조화하는 것입니다.

 

삽입, 삭제, 갱신 이상(의도하지 않은 값이 삽입, 삭제되거나 일부만 갱신 등)과 같은

이상현상을 해결하기 위하여 정규화를 진행합니다.

 

[ 정규화 과정 ]

1 정규화> 중복되는 그룹 제거 (원자값 만으로 구성)

(a-영어-학교,학교 -> 학교 두 개로 분리)

 

2 정규화> 부분적 함수 종속 제거 (완전 함수적 종속)

(a-영어-학교/b-영어-학교에서 영어제거 후 새로운 테이블 생성하여 분리)

 

3 정규화> 이행적 함수 종속 제거

(기본키 이외의 다른 컬럼이 다른 컬럼을 결정할 수 없게 X->Y/Y->Z로 분리)

 

---보통 이쯤 정규화 되었다고 말합니다.---

BCNF(Boyce-Codd) 정규화> 결정자가 후보키가 아닌 함수 제거

 

4 정규화> 다중 값 종속성 제거

 

5 정규화> Join 종속성 제거

 

 

 

 

* 분리하다보면 조인연산이 많아져 응답시간이 느려질수 있습니다,

  이때 반정규화를 통해 분리할 수 있습니다.

 

728x90
반응형