글
8)정규화
답)
1.데이터베이스 중복 제거를 위한 정규화의 개요
가.정규화(Normalization)의 정의
- 베이스의 중복을 제거하기 위해 릴레이션을 수학적 원리에 의해 분해하는 일련의 과정
나.정규화 가 필요한 이유(이상현상:anomaly)
1)삽입이상(inserting anomaly): 불필요한 정보까지 삽입해야 하는 현상
2)갱신이상(update anomaly) : 일부 속성만 갱신 시킴으로서 정보의 모순성 발생
3)삭제이상(delete anomaly) : 삭제시 유지되어야 하는 정보까지 삭제되는 현상
2.정규화의 원칙 및 절차
가.정규화의 원칙
1)종속성 유지: 릴레이션 분해후에도 종속성 유지
2)무손실 분해 : X->A,B로 분해후, A,B->X로 유추할수 있어야 함.
나.정규화의 절차
1)제1정규화(1NF): 모든 속성 값은 원자값이어야함
2)제2정규화(2NF) : 부분함수 종속성 제거
3)제3정규화(3NF) : 이행함수 종속성 제거
4)BCNF : 결정자가 후보키가 아닌 종속 제거(제3 정규화 만족하고)
5)제4정규화(4NF) : 다치 종속 제거(BCNF만족하고)
6)제5정규화(5NF) : 조인종속 제거 (제4정규화를 만족하고)
3.정규화 수행시 고려사항
가.데이터의 일관성 유지 수준까지 정규화 수행(BCNF수준까지 권장)
나.많은 단계의 정규화는 많은 Join을 발생시켜 SQL성능저하 초래
다.반정규화는 정규화를 끝낸후 물리모델 단계에서 고려.
RECENT COMMENT