본문 바로가기
정보처리기사/데이터베이스 구축

정규화

by jhwannabe 2023. 7. 18.

정규화 과정

 

제 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