본문 바로가기

DA

서브타입(SUB-TYPE)

서브타입(Sub Type)이란 엔터티와 같은 데이터의 집합입니다. 엔터티 내의 특정 속성에 의해 구분될 수 있는 부분집합이 정의될 수 있을 때 이를 서브타입이라고 합니다. 서브타입을 갖는 엔터티를 슈퍼타입이라고 부른다. 서브타입은 엔터티를 상세화하거나 통합화하는 과정에서 주로 도출됩니다.


① 배타적 서브타입(Exclusive Sub Type)
서브타입 간에 상호 배타적이므로 슈퍼타입의 인스턴스 하나는 반드시 하나의 서브타입과 1:1관계가 존재해야 합니다.
예) 복무상황 엔터티 내 복무구분의 서브타입으로 휴가, 출장, 교육, 근무 등


② 포괄적 서브타입(Inclusive Sub Type)
겹쳐지는 부분이 있는 서브타입으로 슈퍼타입의 인스턴스 하나에 두 개 이상의 서브타입과 관계가 존재할 수 있습니다.
예) 수강신청 엔터티 내 수강생구분의 서브타입으로 학생과 직원(직원이면서 학생인 사람이 수강생이 될 수 있습니다.)


① 엔터티를 더블 클릭한 후 엔터티 편집창의 속성 Tab에서 서브타입을 정의할 속성을 선택 합니다.
② 하단의 서브타입 버튼을 클릭합니다.
③ 서브타입셋 정의(편집)화면이 실행되고 서브타입명, 구분값, 기타 항목을 입력 후 확인 버튼을 클릭합니다

 

수강신청(직원,학생) 통합

 

통합 기술 서브타입

 

엔터티 통합의 장점

데이터 모델의 구조가 단순하고 명확해진다.
SQL 이 단순해지고 코딩 량이 줄어 개발 생산성이 좋아진다.
조인이 최소화 되어 성능 이슈도 없어진다.
통합되지 않은 모델과 비교해서 요건 변경에 따른 유연성이 극대화 된다.

 

엔터티 통합 기준

-통합과 분할의 일차적 기준은 데이터의 성격
-업무 행위의 주체와 대상, 그리고 업무 행위의 최상위에 놓이는 Account등이 대상
-마스터 데이터들은 유사하다는 기준을 다소 관대하게 적용해서 강하게 통합해도 괜찮다.(단 서브 타입은 명확히 표현)
-최상위 엔터티 들을 통합하는 이유 모델 구조가 단순해지고, SQL 구현 난이도, 성능 이슈, 업무에 대한 유연한 대응
 

'DA' 카테고리의 다른 글

관계(Relationship)  (0) 2023.01.17