DAP 자격증
[DAP자격증] 엔티티 서브타입에 관하여
IronAreum
2024. 12. 30. 12:55
728x90
책을 읽다가 서브타입에 관한 관계에서
약간 헷갈려서 정리.
(질문)
배타적 서브타입과 포괄적 서브타입에 대해 설명해줘.
예를들어 회원 이라는 엔티티가 있고
개인회원, 법인회원 이라는 서브타입이 있다고 예를 들어서 설명해줘도 좋아
배타적 서브타입과 포괄적 서브타입은 데이터 모델링에서 서브타입과 슈퍼타입 간의 관계를 정의하는 중요한 개념입니다. 이를 회원 엔티티를 예로 들어 설명하겠습니다.
1. 배타적 서브타입 (Exclusive Subtype)
- 정의: 하나의 슈퍼타입(회원)이 여러 서브타입(개인회원, 법인회원) 중 하나에만 속할 수 있는 경우.
- 특징:
- 서브타입 간의 속성이 겹치지 않음.
- 데이터가 하나의 서브타입에만 포함될 수 있음.
- 예를 들어, 어떤 회원이 개인회원이면 법인회원일 수 없음.
예시
- 슈퍼타입: 회원(Member)
속성: 회원ID, 회원명 - 서브타입1: 개인회원(IndividualMember)
속성: 주민등록번호 - 서브타입2: 법인회원(CorporateMember)
속성: 사업자등록번호
설명:
- 개인회원은 주민등록번호가 있어야 하고, 사업자등록번호는 없습니다.
- 법인회원은 사업자등록번호가 있어야 하고, 주민등록번호는 없습니다.
- 하나의 회원이 개인회원이면서 법인회원일 수는 없습니다.
즉, 배타적 서브타입 관계를 통해 데이터의 명확성과 무결성을 보장합니다.
2. 포괄적 서브타입 (Inclusive Subtype)
- 정의: 하나의 슈퍼타입(회원)이 여러 서브타입(개인회원, 법인회원)에 동시에 속할 수 있는 경우.
- 특징:
- 서브타입 간의 속성이 일부 겹칠 수 있음.
- 데이터가 두 개 이상의 서브타입에 포함될 수 있음.
예시
- 슈퍼타입: 회원(Member)
속성: 회원ID, 회원명 - 서브타입1: 개인회원(IndividualMember)
속성: 주민등록번호 - 서브타입2: 법인회원(CorporateMember)
속성: 사업자등록번호
설명:
- 어떤 회원이 개인회원이면서 동시에 법인회원일 수도 있습니다.
예를 들어, 한 사람이 개인으로는 주민등록번호를 이용해 가입하고, 소유한 법인으로는 사업자등록번호를 이용해 또 가입할 수 있습니다. - 이 경우 회원은 두 서브타입에 모두 속하게 됩니다.
차이점 요약
항목배타적 서브타입포괄적 서브타입소속 | 하나의 서브타입에만 소속 가능 | 여러 서브타입에 동시에 소속 가능 |
서브타입 간 관계 | 서로 배타적 | 서브타입 간 중복 허용 |
예시 | 회원은 개인회원 또는 법인회원 중 하나만 선택 가능 | 회원은 개인회원 및 법인회원 모두 선택 가능 |
ERD 예시
- 배타적 서브타입:
- 회원 → 개인회원 (Exclusive)
- 회원 → 법인회원 (Exclusive)
- 포괄적 서브타입:
- 회원 → 개인회원 (Inclusive)
- 회원 → 법인회원 (Inclusive)
둘 중 어떤 관계를 사용할지는 시스템 요구사항에 따라 달라집니다.
728x90
728x90