5.3. 엔터티 통합 대상

  • 엔터티 통합에 대한 최종 결정은 종합적인 판단에 따라 이루어져야 함.
  • 같은 종류의 모델도 어떤 기업에서는 통합해야 하고 어떤 기업에서는 통합하면 안 될 수도 있음.
  • 데이터만을 고려하기보다 여러 가지 환경을 다닥도로 고려해 종합적으로 판단해야 함.
  • 엔터티 통합은 개념 모델링 단계에서 주로 이루어지며 논리, 물리 모델링 단계에서도 언테티는 통합될 수 있음.
  • 가장 기본적인 통합 대상은 언테티를 구성하는 데이터의 성격이 유사할 때.
  • 고객, 계좌, 상품 등과 같이 핵심적인 실체 엔터티에서 주로 발생함.


CASE_1) 데이터의 성격이 유사한 통합 대상 엔터티

  • 계좌 엔터티. 기초 속성 성격 유사. 실체 엔터티. 주 식별자 같음


CASE_2) 데이터의 성격이 유사한 통합 대상 엔터티

  • 고객 엔터티. 기초 속성 성격 유사. 실체 엔터티. 주 식별자 같음


CASE_3) 역할을 관리하는 통합 대상 엔터티

  • 데이터 성격 유사.

CASE_4) 주 식별자가 다른 통합 대상 엔터티 (통합전)


주 식별자를 통합한 엔터티와 인조 식별자를 사용한 엔터티 (통합후)

  • (좌) 주 식별자를 하나의 속성으로 통합
  • (우) 인조 식별자 사용


CASE_6) 일반화해 통합할 수 있는 대상 엔터티 (통합전)


연락처를 통합한 엔터티 (통합후)

  • (좌) 연락처유형코드-> 집주소, 회사주소, 개인이메일, 회사이메일, 홈페이지, 메신저, 집전화, 회사전화, 휴대전화, 팩스 등
  • 연락처-> 유형별로 별도의 인스턴스에서 관리
  • (좌) 연락처내용-> 실제주소, 전화번호, 전자주소, not null
  • (우) 연락처분리-> 우편주소, 전화번호, 전자주소는 배타속성
  • 연락처유형코드 속성에 따라서 셋 중 하나 값만 발생. 우편번호, 전화번호, 전자주소는 null 허용


CASE_8) 대칭적인 업무로 인해 통합 대상인 엔터티

  • 서로 다른 속성이 일부 존재. 데이터의 성격이 유사하므로 통합 대상
  • 매도와 매입, 입고과 출고 등


CASE_9) 공통 속성과 주 식별자가 같은 통합 대상 엔터티

  • 주 식별자가 동일할 때 통합 고려. 업무 식별자가 유사하면 유사한 성격의 데이터
종목 유사성 존재. 주 식별자 동일
  • 주 식별자 단순화를 위한 포괄적 인조 식별자가 주 식별자면 유사한 데이터가 아닐 수 있음+
  • 개별 속성이 공통 속성보다 많이 존재하므로 서브타입별로 개별 속성을 관리하는 것이 바람직+
  • 개별 종목 엔터티의 속성이 많이 다르다는 이유로 미통홥된다면, 추후 새로운 종목이 생길때마나 엔터티가 늘어남. 관계(배타 관계) 등도 늘어나고 복잡해지며 통합 조회할 때도 복잡해짐+
  • UNION 구문을 사용하면 해당 구문에 새로운 종목에 대한 구문을 일일이 추가해야 하며 배타 관계가 발생하고 성능에도 문제가 발생하고 프로그램도 수정돼야 함+


CASE_10) 기초 속성이 유사한 통합 대상 엔터티

  • 개별적 관리되는 속성 다소 존재. 기초 속성 동일로 슈파타입과 서브타입으로 통합


CASE_11) 식별자와 기초 속성이 유사한 통합 대상 엔터티

  • 데이터 성격은 조금 다르지만 속성이 유산한 예도 통합. 특히 기초 속성이 유사하면 통합하는게 바람직


CASE_12) 속성이 유사한 통합 대상 엔터티

  • 데이터 성격은 조금 다르지만 속성이 유산한 예도 통합. 특히 기초 속성이 유사하면 통합하는게 바람직


CASE_13) 계층 관계로 인한 통합 대상 엔터티

  • 대부분 엔터티 통합은 수평적인 관계에서 통합돼 서브타입(Subtypes)이 발생
  • 계층 관계의 엔터티 통합은 수직적인 관계에서 통합으로 순환(Recursive) 관계가 발생
  • (좌) 계층관계의 엔터티
  • (우) 수직 통합해 순환 관계가 발생한 모델


CASE_14) 속성이 유사한 통합 대상 엔터티 (통합전)

  • 통보 데이터를 관리하는 속성이 공통으로 존재


공통 속성만을 별도록 통합한 모델 (통합후)


CASE_16) 내용 속성만을 통합한 모델

  • (좌) 대량의 테스트 내용을 조회하는 환경이면 성능에 악영향을 미칠 수 있음
  • (좌) 내용텍스트 엔터티가 하위 엔터티면 수많은 배타 관계가 발생해 관리하기 어려움
  • (우) 계좌 엔터티의 참조내용 속성과 같은 긴 텍스트 내용을 관리하면 인스턴스가 길어져 한 블록에 많은 인스턴를 저장하지 못함


CASE_17) 배타 관계로 인한 통합 대상 엔터티

  • 거래내역 엔터티