관계형 데이터 모델링 프리미엄 가이드 DB구축 (2017년)
서브타입의 종류 0 0 685

by 구루비스터디 서브타입 [2017.10.25]


  • Exclusive 서브타입 : 서브타입 부분 집합 간 공통부분을 갖지 않음
  • Inclusive 서브타입 : 서브타이 부분 집합 간 공통부분 보유
중복 서브타입 모델 관리 방법 - 고객 구분코드 중복


Exclusive 서브타입과 유사하게 관리
  • 고객 구분코드 기준으로 모든 서브타입에 대한 인스턴스 생성
  • 슈퍼타입과 서브타입의 1:1 관계 생성 \--> 직관적이며 사용하기 편함
  • 슈퍼타입인 고객 엔터티에 같은 사람이 두번 존재
  • 중복을 제거하기 위해서 통합고객관리 엔터티 같은 추가 엔터티 필요


구분자 속성 코드값를 이용해 슈퍼타입 엔터티의 중복제거
  • 슈퍼타입과 서브타입의 1:N 관계 생성
  • 구분해야할 대상의 종류가 다수일 경우 코드값이 많이 생겨 관리의 어려움 발생
  • 조회조건에 따라 슈퍼타입 엔터티가 아닌 다수의 서브타입 엔터티 별로 조회하는 경우 발생


코드값으로 관리하는 서브타입을 여부 속성으로 관리하는 모델
  • 변경에 취약
  • 구분자를 통해 서브타입이 명확하게 구분되는 경우 사용
  • 모델 구조만으로 물리적 데이터를 어떻게 생성해야 하는지 모호해짐 (Exclusive와 Inclusive구분이 어려움)


인스턴스 제약에 따른 서브타입 구분
  • Complete 서브타입 : 슈퍼타입의 모든 인스턴스가 최소한 한의 서브타입 인스턴스로 반드시 존재
  • Incomplete 서브타입 : 슈퍼타입에만 인스턴스가 존재하고 서브타입에는 인스턴스가 존재하지 않음


가망고객은 이름과 주민등록번호만 관리, 따라서 개별 서브타입 인스턴스가 존재하지 않는다
  • 개념 모델링이나 초기 논리 모델링 단계에서는 서브타입이 명확하지 않을 수 있음.
  • 이 경우 '기타' 등과 같은 서브타입을 사용해 전체 집합이 정의가 안됐다는 것을 표현하지는 것이 좋다.



슈퍼타입 엔터티와 서브타입 엔터티의 관계
  • Exclusive 서브타입과 Complete 서브타입이 실무에서 가장 많이 쓰임


중복 서브타입 모델


!그림6.24_일반화된 중복서브타입모델.png!


중복 서브타입이 존재하면 데이터를 어떻게 관리하는 것이 효율적인지 숙고
  • 조회 방법 및 집합의 정의가 변경 될수 있음
  • 상위 개념 엔터티에서 중복 서브타입이 발생하면 모델 전반적으로 영향을 끼침
  • 서브타입으로 도출된 엔터티는 핵심 엔터티일 가능성이 크므로 주의
"주주클럽 스터디모임" 에서 2017년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

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

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

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

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