-주식별자가 다른 엔터티 통합
주식별자가 다르더라도 데이터 성격이 같고, 기초속성이 유사하다면 통합할 수 있다.
예외) 업무식별자를 주식별자로 사용하지 않고, 인조식별자를 주식별자로 사용한 경우는 주식별자가 같더라도 다른 성격의 데이터 일 수 있으므로 무조건 통합 제외
-주식별자 속성의 개수가 같을때
알림서비스를 관리하는 엔터티로, 고객별로 관리하는지 계좌별로 관리하는지에 따라 주식별자가 달라진 엔터티. 단 주식별자를 구성한 속성의 개수는 같음.
통합하는 방법은 두가지이다.
첫번째 주식별자를 통합하는 것
고객계좌통합번호 속성은 고객번호/계좌번호 중 하나 사용.고객계좌구분코드 속성으로 구분가능
주식별자에 구분코드까지 포함시킬때 있지만, 없더라도 식별에 문제 없음
고객계좌통합번호는 조회할떄 주로 사용하기에 구분코드에 식별자에 추가해서는 안된다.
계좌번호로 식별불가할때 구분코드를 포함시킬때도 있다고 함
두번째 인조식별자 사용하는 것
주식별자 통합하는 것과 달리 인조식별자를 사용하면 주식별자 길이는 고정!!
모델의 업무식별자는 고객통합번호 속성이며, 통합번호 고객인지 계좌인지 구분할려면 구분코드 추가필요
첫번째보다 인조식별자가 하나더 사용되었고, 인덱스가 하나 늘어났으며, 조ㅚ에 자주사용되는 식별자가 주식별자(인조식별자)가 아닌 점이 단점!!
-주식별자 속성의 개수가 다를때
첫번째 종합계좌알림서비스 엔터티의 주식별자를 통합엔터티의 주식별자로 사용
고객에 대한 알림서비스 데이터는 값이 없기에 기본값을 사용
고객/ 계좌 구분하기 위해 고객계좌구분속성을 추가
두번째 인조식별자 사용
고객에대한 알림서비스라면 종합계좌순번 속성값이 존재하지 않기때문에 널값을 허용해야함
-공통속성 존재하지만, 주식별자 속성의 개수도 다르고 유사성이 없는 모델
첫번째 일반적으로 인조식별자 사용
고객변호 양쪽속성이기때문에 항상 값이 존재
나머지 종합계좌순번,개설상품번호,개설순번 속성은 널 값이 존재
ex) 종합계좌구분코드 속성이 계좌일때는 고객번호 개설상품번호 개설순번은 널값이 존재
이는 상위엔터티의 주식별자가 서로 배타속성이라는 것을 의미
고객번호속성처럼 상위엔터티의 주식별자가 같은 속성은 공유해서 사용하는 것이 이모델의 특징
두번째 성능을 고려하여 예외적으로 선택할수 있는 모델
원칙적으로 옆에 모델은 틀린모델
상위엔터티의 주식별자가 하위엔터티로 상속될때 식별자/일반속성으로 상속되었기 때문
관계는 식별관계든 비식별관계든 동일하게 상속되어야지 분리해서는 안된다.
고객변호는 주식별자로 속성/ 종합계좌순번은 일반속성 --->틀림 /성능상 예외로 둔 케이스
알림서비스순번 속성은 부분인조식별자를 사용했는데 이것도 바람직하지 않다.
상위엔터터와의 관계선을 표현할 수 없다. 성능이 아니면 사용하지 말자!
- 통합하려는 엔터티의 주식별자가 전혀다른 모델/ 주식별자 유사성이 전혀없음
이처럼 유사성이 전혀 없을때 인조식별자 사용하는 것이 유일한 방법
주식별자 공통속성이 없기 때문에 상위엔터티의 주식별자를 쌍으로 사용
상위엔터티의 주식별자를 관리하는 속성도 모두 널값을 허용
이력데이터을 관리하는 대상이 계좌·고객 ·고객주소
각각 식별자 개수가 다름. 통합이력관리하는 엔터티는 배타관계발생
세 개의 속성에서 대상엔터티의 주식별자 값을 관리
이력대상속성은 별도의 엔터티에서 기준정보로 관리
이모델은 일반적인 속성명을 미리 정해놓고 대상이 추가될때 고려하여 사용하는 매우 유연한 모델이지만 엔터티의 의미가 상당히 희석되며 너무 일반화 돼서 사용하기 혼란스러운 단점이 있음
데이터 성격이 유사하고 관리할 속성이 유사하다면, 주식별자가 다르더라도 엔터티 통합할 수 있음
통합엔터티의 주식별자는 가능하면 통합대상엔터티의 주식별자를 활용하는 것이 좋다.
하지만 인조식별자를 사욯해서라도 유사한 데이터를 관리하는 엔터티를 통합하는 것이 우선!!
'관계형데이터모데링노트 요약' 카테고리의 다른 글
서브타입과 부분집합 (0) | 2023.10.29 |
---|---|
서브타입과 슈퍼타입 (0) | 2023.10.29 |
데이터 통합과 합체 (0) | 2023.10.28 |
데이터 주제 영역 (1) | 2023.10.27 |
데이터 통합(일반화/상세화) (0) | 2023.10.23 |