배타 서브타입(Exclusive Subtype) 서브타입 부분집합간에 중복이 발생하지 않는 서브타입
서브타입 A 와 B가 있다면 특정 인스턴스는 A이거나 B 둘중 하나
배타 서브타입에서는 하나의 슈퍼타입 인스턴스는 단하나의 서브타입과 관계가 발생(일대일관계)
전체 서브타입의 합은 슈퍼타입이 된다. 상호배탁적이기 때문에 포함관계는 없어야 함.
개인고객 서브타입 + 사원고객 서브타입 = 슈퍼타입 고객 인스턴수 개수가 됌
배타서브타입과 이력데이터
배타서브타입인데 이력데이터 때문에 배타서브타입이 아니라고 판단할수 있어서, 판단 시점이 중요함
배타서브타입과 중복서브타입을 판단하는 기준은 특정 시점이다.
배타서브타입은 특정시점에 동시에 중복이 발생하지 않는다는 것--> 판단기준
중복서브타입은 동시에 중복발생 시점이 있다는 것을 의미
주민번호가 같은 홍길동에 대해 정규직, 임시직이 모두 보이기 때문에 중복 서브타입이라고 생각할 수 있음
그러나 홍길동이 정규직이면서 동시에 임시직일 수 없다는 요건이 있다면 배타 서브타입으로 도출해야함
중복으로 보이는 현상은 이력데이터 때문에 발생
이처럼 이력데이터를 별도의 엔터티에서 분명하게 관리하지 않아 릴레이션에 중복인스턴스가 존재한다고 중복서브타입으로 파악하면 안된다. 중복관계처럼 보이지만 이력 데이터가 원인이 된 것이며, 논리적을 배타관계라는 것을 인식해야함
서브타입의 이력데이터는 가능하면 별도의 엔터티에서 관리하는 것이 바람직
" 배타서브타입을 판단하는 기준은 특정 시점에 동시에 발생 할 수 있느냐??" 요건이 우선
이력데이터를 배제하고 원천데이터가 우선이 돼서 서브타입을 판단해야함.
'관계형데이터모데링노트 요약' 카테고리의 다른 글
완전 서브타입과 불완전 서브타입 (1) | 2023.11.03 |
---|---|
중복 서브타입 (1) | 2023.11.02 |
Is-A 서브타입과 Part-of 서브타입 (0) | 2023.10.31 |
서브타입과 코드 (0) | 2023.10.30 |
한 엔터티에 여러개 서브타입 존재시 (0) | 2023.10.30 |