관계형데이터모데링노트 요약

배타 서브타입

mitomi 2023. 10. 31. 22:37
반응형
SMALL

배타 서브타입(Exclusive Subtype) 서브타입 부분집합간에 중복이 발생하지 않는 서브타입

서브타입  A 와 B가 있다면 특정 인스턴스는 A이거나  B 둘중 하나

배타적 서브타입 표기법

배타 서브타입에서는 하나의 슈퍼타입 인스턴스는  단하나의 서브타입과 관계가 발생(일대일관계)

전체 서브타입의 합은 슈퍼타입이 된다. 상호배탁적이기 때문에 포함관계는 없어야 함.

개인고객 서브타입 + 사원고객 서브타입 = 슈퍼타입 고객 인스턴수 개수가 됌

 

 배타서브타입과 이력데이터

배타서브타입인데 이력데이터 때문에 배타서브타입이 아니라고 판단할수 있어서, 판단 시점이 중요함

배타서브타입과 중복서브타입을 판단하는 기준은 특정 시점이다.

배타서브타입은 특정시점에 동시에 중복이 발생하지 않는다는 것--> 판단기준

중복서브타입은 동시에 중복발생 시점이 있다는 것을 의미

서브타입 설계 대상 릴레이션  &  배타 서브타입

주민번호가 같은 홍길동에 대해 정규직, 임시직이 모두 보이기 때문에 중복 서브타입이라고 생각할 수 있음

그러나 홍길동이 정규직이면서 동시에  임시직일 수 없다는 요건이 있다면 배타 서브타입으로 도출해야함

중복으로 보이는 현상은 이력데이터 때문에 발생

이력데이터를 분리한 릴레이션 및 모델

이처럼 이력데이터를 별도의 엔터티에서 분명하게 관리하지 않아 릴레이션에 중복인스턴스가 존재한다고 중복서브타입으로 파악하면 안된다. 중복관계처럼 보이지만 이력 데이터가 원인이 된 것이며, 논리적을 배타관계라는 것을 인식해야함

서브타입의 이력데이터는 가능하면 별도의 엔터티에서 관리하는 것이 바람직

" 배타서브타입을 판단하는 기준은 특정 시점에 동시에 발생 할 수 있느냐??" 요건이 우선

이력데이터를 배제하고 원천데이터가 우선이 돼서 서브타입을 판단해야함.

 

728x90