정규화 과정
제 1 정규형
- 어떤 릴레이션에 속한 모든 도메인이 원자값(Atomic Value)만으로 되어 있는 릴레이션
- 하나의 속성만 있어야 하고 반복되는 속성은 별도 테이블로 분리함
제 2 정규형
- 1 정규형을 만족하고, 릴레이션에 내재된 부분 함수적 종속을 제거함
- 기본키가 아닌 애트리뷰트 모두가 기본키에 완전 함수 종속이 되도록 부분 함수적 종속에 해당하는 속성을 별도의 테이블로 분리함
- 등급, 할인율 필드는 혼합 속성의 기본키(고객아이디, 이벤트번호)에 부분 함수적 종속성을 가짐
- 다음과 같이 완전 함수적 종속을 만족하도록 두 개의 테이블로 분할하여 부분 함수적 종속성을 해소함
제 3 정규형
- 1, 2정규형을 만족하고, 속성 간 이행적 함수 종속을 제거함
- 위 그림과 같이 고객아이디는 등급을 결정하고, 등급은 할인율을 결정하는 이행 함수적 종속성이 남아 있음
- 아래 그림과 같이 테이블을 2개로 분할하여 이행 종속성을 해소함
BCNF (보이스/코드)정규형
- 1, 2, 3정규형을 만족하고, 결정자가 후보키가 아닌 함수 종속이 제거되면 보이스/코드 정규형에 속함
- 후보키를 여러 개 가지고 있는 릴레이션에서 발생할 수 있는 이상 현상을 해결하기 위해 3정규형보다 좀 더 강력한 제약조건을 적용함
- 보이스/코드 정규형에 속하는 모든 릴레이션은 3정규형에 속하지만, 3정규형에 속하는 모든 릴레이션이 보이스/코드 정규형에 속하지는 않음
- 위의 함수 종속관계에서(고객아이디, 인터넷강의)는 기본키이고, (고객아이디, 담당강사번호) 후보키로는 튜플을 식별하지 못하므로 모두 후보키가 될 수 없음
- 아래와 같이 후보키가 아닌 결정자를 제거하고 분할함
제 4 정규형
- 1, 2, 3, BCNF 정규형을 만족하고, 다가(다치) 종속을 제거
제 5 정규형
- 1, 2, 3, BCNF, 4 정규형을 만족하고, 후보키를 통하지 않은 조인 종속을 제거
728x90
반응형
'정보처리기사 > 데이터베이스 구축' 카테고리의 다른 글
관계 대수와 연산자 (0) | 2023.07.18 |
---|---|
반정규화 (0) | 2023.07.18 |
데이터베이스 설계와 정규화 (0) | 2023.07.14 |
관계형 데이터베이스 모델 (0) | 2023.07.14 |
데이터베이스의 구성, 모델 (0) | 2023.07.14 |