데이터베이스 설계와 구축(개정판) (2009년)
정규화 0 0 62,782

by 구루비스터디 정규화 [2009.05.17]


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


1차 정규화

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

1차 정규화 결과


2차 정규화

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


2차 정규화 결과


3차 정규화

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


3차 정규화 결과


보이스-코드 정규화


보이스-코드 정규화 결과


4차 정규화

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


4차 정규화 결과

  • 한명의 사원은 여러 개의 프로젝트를 지원할 수 있다.
  • 한 프로젝트는 여러 명의 사원으로부터 지원될 수 있다.
  • 한 명의 사원은 여러 개의 기술을 지원할 수 있다.
  • 하나의 기술은 여러 사원에 의해 활용될 수 있다.
  • 하나의 프로젝트는 여러 개의 기술로 지원 될 수 있다.
  • 하나의 기술은 여러 개의 프로젝트를 지원할 수 있다.
"구루비 데이터베이스 스터디모임" 에서 2009년에 "데이터베이스 설계와 구축(개정판)" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/4178

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입