4.3 엔터티 통합 대상
데이터의 성격이 유사한 통합 대상 엔터티
▶ 슈퍼/서브타입 엔터티로 통합
■ 주식계좌 엔터티, 선물옵션계좌 엔터티, 수익증권계좌 엔터티를 계좌 슈퍼타입 엔터티, 주식/선물옵션/수익증권 서브타입 엔터티로 통합한다.
■ 계좌 슈퍼타입 엔터티에는 공통속성을 정의한다.
■ 서브타입을 구분하는 계좌구분 속성을 정의한다.
■ 각 엔터티에만 존재하는 개별속성은 서브타입 엔터티에 속성으로 정의한다.
역할을 관리하는 통합 대산 엔터티
1) 병렬식
▶ 테이블이 될 때 여러 개의 칼럼으로 나열된다.
▶ 하나의 로우(row)에서 관리되므로 새로운 테이블을 추가할 필요하가 없다.
▶ 인덱스 수가 증가되고 SQL이 복잡해진다.
▶ 새로운 관계의 추가, 관계 형태의 변경 등에 매우 취약한 형태이다.
▶ 관계 내용별로 상세 정보를 관리할 수 없다.
2) 직렬식
▶ 관계들을 관리하는 새로운 엔터티가 추가되어야 한다.
▶ 관계들이 로우(Rows) 형태로 나타난다.
▶ 인데스 수가 감소하고 SQL이 단순해진다.
▶ 새로운 관계의 추가, 관계 형태의 변경 등에 매우 유연한 형태이다.
▶ 관계 내용별로 상세 정보를 관리할 수 있다 (자식 엔터티를 거느릴 수 있다).
3) 직렬식 관계 통합
▶ 계좌 엔터티와 사원 엔터티 사이에 존재하는 권유사원, 관리사원, 상담사원, 실적사원의 관계를 계좌관계사원 관계명으로 통합한다.
▶ 계좌 엔터티와 사원엔터티간에 계좌관계사원 관계명으로 M:M 관계가 발생한다.
▶ 계좌관계사원 엔터티를 추가하여 M;M 관계를 해소한다.
▶ 계좌관계사원 엔터티를 슈퍼/서브타입으로 통합할지를 고려한다.
주 식별자가 다른 통합 대상 엔터티
▶ 주식별자를 통합한 엔터티
■ 고객알림서비스 엔터티의 고객번호 식별자와 계좌알림서비스 엔터티의 계좌번호 식별자를 고객계좌통합번호로 식별자를 통합한다.
■ 고객알림서비스와 계좌알림서비스를 구별하기 위한 고격계좌구분 속성을 추가한다.
▶ 인조식별자를 사용한 엔터티 통합
■ 알림서비스번호라는 인조식별자를 생성한다.
■ 고객알림서비스 엔터티의 고객번호 식별자와 계좌알림서비스 엔터티의 계좌번호 식별자를 통합하여 고객계좌통합번호를 생성한다.
■ 고객알림서비스와 계좌알림서비스를 구별하기 위한 고객계좌구분 속성을 추가한다.
▶ 수퍼/서브타입 엔터티를 사용한 엔터티 통합
■ 알림서비스번호라는 인조식별자를 생성한다.
■ 고객알림서비스 엔터티의 고객번호 식별자와 계좌알림서비스 엔터티의 계좌번호 식별자를 통합한 알림서비스통합번호를 생성한다.
■ 고객알림서비스와 계좌알림서비스를 구별하기 위한 알림서비스 구분 속성을 추가한다.
일반화해 통합할 수 있는 대상 엔터티
▶ 대표속성을 이용한 고객 연락처 엔터티 통합
■ 고객 연락처 엔터티로 공통속성을 정의한다.
■ 연락처유형코드 속성을 정의한다.(집주소, 회사주소, 이메일, 홈페이지, 메신저 등)
■ 개별속성 중 통합이 어려운 속성(우편번호 속성)을 정의한다.
■ 우편주소, 전자주소, 전화번호를 대표속성인 연락처내용 속성으로 정의한다.
■ 연락처내용 속성은 항상 데이터 값이 존재하므로 NOT NULL 제약조건을 정의한다.
▶ 고객 연락처 엔터티 통합
■ 연락처유형코드 속성을 정의한다.
■ 각 엔터티에 존재하는 속성을 고객 연락처 엔터티의 개별 속성으로 정의한다.
■ 개별 속성들은 데이터가 존재하지 않을 수 있으므로 NULL 허용한다.
대칭적인 업무로 인해 통합 대상인 엔터티
▶ 매출전표번호와 매입전표번호가 중복되지 않는다.
▶ 중복될 수 있다면 통합된 전표 엔터티의 주 식별자에 전표구분 속성을 추가한다.
공통속성과 주 식별자가 같은 통합 대상 엔터티
▶ 인조 식별자가 주식별자면 유사한 데이터가 아닐 수 있으므로 주의해야 한다.
기초 속성이 유사한 통합 대상 엔터티
▶ 두 엔터티의 주 식별자인 고객번호는 서로 중복되지 않는다.
계층 관계로 인한 통합 대상 엔터티
배타 관계로 인한 통합 대상 엔터티
▶ 배타관계가 발생하면 조인하기 불편하고, 요건에 따라서 성능에 치명적인 영향을 미친다.
▶ 배타관계를 없애기 위해서는 배타 관계를 발생시킨 엔터티를 통합하면 된다.
일대일 관계 통합 대상 엔터티
▶ 일대일 관계의 엔터티는 개념 모델링이나 논리 모델링 단계에서 정확히 도출
▶ 관계의 정확한 도출 후 분해, 통합을 고려해야 한다.
▶ 순환관계를 이용한 엔터티 통합
■ 입고 엔터티의 식별자 입고번호, 출고 엔터티의 식별자 출고번호를 입출고번호 식별자로 정의한다.
■ 입고, 출고 엔터티의 개별속성 정의를 입고/출고를 표현하는 통합 명칭으로 정의한다.
■ 순환관계를 정의하여 입고, 출고 관계를 정의한다.
■ 업무정의) 비즈니스 규칙은 입고 엔터티와 출고 엔터티간 1:1 관계인데 순환관계 표현 시 1:M 관계로 표현됨
▶ 개별 속성을 이용한 엔터티 통합
■ 입출고 엔터티의 식별자 입고번호를 정의한다.
■ 입고 엔터티의 개별 속성을 정의한다.
■ 출고 엔터티의 개별 속성을 정의한다.
■ 업무정의) 입고에 대한 출고 여부를 출고 속성들의 값 존재로 판단
[관련 keyword] ▶ 데이터 통합의 장단점에 대해 이해하고 있다. |
'Learning > DB SQL 가이드' 카테고리의 다른 글
DB 모델링 - 4. 데이터 통합 : 4.2 데이터 통합의 장단점 (0) | 2015.11.20 |
---|---|
DB 모델링 - 4. 데이터 통합 : 4.1 데이터 통합 (0) | 2015.11.20 |
DB 모델링 - 3. 정규화 : 3.6 정규형과 성능 (0) | 2015.10.25 |
DB 모델링 - 3. 정규화 : 3.5 정규형의 종류 (0) | 2015.10.25 |
DB 모델링 - 3. 정규화 : 3.4 함수종속 (0) | 2015.10.25 |
댓글