by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

1.6 정규화




1.6 정규화

  • 다양한 유형의 검사를 통해 데이터모델을 좀더 구조화하고 개선시켜 나가는 절차에 관련된 이론이다.
  • 하나의 테이블에는 중복된 데이타가 없도록하는것이 정규화의 기본원칙이다.
정규화 정규화 내용
1차 정규화 복수의 속성값을 갖는 속성을 분리
2차 정규화 주식별자에 종속적인지 않은 속성의 분리
  부분종속 속성을 분리
3차 정규화 속성에 종속적인 속성의 분리
  이전종속 속성의 분리
보이스-코드 정규화 다수의 주식별자 분리
4차 정규화 다가 종속 속성분리
5차 정규화 결합종속일 경우는 두개 이상의 N개로 분리

1차 정규화

  • 테이블 하나의 컬럼에는 여러 개의 데이터 값이 중복되어 나타나지 않아야한다.
  • 모든 엔티티타입의 속성은 하나의 속성값만을 가지고 있어야 하며 반복되는 속성의 집단은 별도의 엔티티타입으로 분리한다.

1차 정규화 결과

2차 정규화

  • 수출여부,고객번호, 사업자번호,우선순위는 '제품번호+주문번호'로 구성된 주식별자에 의해 종속적이지 않고 단지 주문번호에
    외해 종속적인 관계를 가지고 있다.
  • 주문수량은 제품에 대해서 주문한 양이 되므로 '제품번호+주문번호'에 종속적이다.

2차 정규화 결과

3차 정규화

  • 3차 정규화의 대상이 되는 속성들을 이전종속(Transitive Dependence) 관계속성이라 한다.
  • 주식별자에 의해 종속적인 속성중에서 다시 다른 속성을 결정하는 결정자가 존재하여
    다른 속성이 이 결정자 속성에 종속적인 관계를 나타내는 관계이다.

3차 정규화 결과

보이스-코드 정규화

보이스-코드 정규화 결과

4차 정규화
다음과 같은 업무 규칙이 존재하는 경우

  • 한 명의 사원은 여러 프로젝트를 지원할 수 있다.
  • 한 프로젝트는 여러 명의 사원으로부터 지원될 수 있다.
  • 한 명의 사원은 여러개의 기술을 보유할 수 있다.
  • 하나의 기술 형식은 여러 명의 사원이 보유할 수 있다.
    -기술과 프로젝트 엔티티타입 사이에는 아무런 관계가 존재하지 않은다.

    4차 정규화 결과

  • 한명의 사원은 여러 개의 프로젝트를 지원할 수 있다.
  • 한 프로젝트는 여러 명의 사원으로부터 지원될 수 있다.
  • 한 명의 사원은 여러 개의 기술을 지원할 수 있다.
  • 하나의 기술은 여러 사원에 의해 활용될 수 있다.
  • 하나의 프로젝트는 여러 개의 기술로 지원 될 수 있다.
  • 하나의 기술은 여러 개의 프로젝트를 지원할 수 있다.

문서에 대하여

  • 이 문서는 오라클클럽 [대용량 데이터베이스 스터디] 모임에서 작성하였습니다.
  • 이 문서의 내용은 데이터베이스 설계와 구축(개정판) 이춘식 저 서적을 스터디 하면서 정리한 내용 입니다.
  • 이 문서를 다른 블로그나 홈페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.