서브타입¶
서브타입은 엔터티의 **상위-하위 관계**를 표현하는 바커 표기법의 핵심 요소입니다.
개념¶
하나의 엔터티가 여러 유형으로 분류될 수 있을 때, 각 유형을 **서브타입**으로 정의합니다.
서브타입 정의¶
- 상위 엔터티를 우클릭 → 서브타입 정의 선택
- 서브타입 다이얼로그에서 설정:
| 항목 | 설명 | 예시 |
|---|---|---|
| 구분 속성 | 서브타입을 구분하는 Discriminator 컬럼 | 사원유형코드 |
| 서브타입 항목 | 하위 유형 추가 | 정규직, 계약직, 인턴 |
| 구분값 | 각 항목의 식별 값 | PERM, CONT, INTERN |
시각적 표현¶
서브타입은 상위 엔터티 내부에 **중첩 박스**로 표시됩니다. 각 서브타입 항목은 고유 색상으로 구분됩니다.
색상 팔레트¶
ThinkERD는 8가지 프리셋 색상을 자동 배정합니다:
| 색상 | 용도 |
|---|---|
| 🟢 Green | 첫 번째 서브타입 |
| 🔵 Blue | 두 번째 서브타입 |
| 🟣 Indigo | 세 번째 서브타입 |
| 🟪 Purple | 네 번째 서브타입 |
색상은 수동으로 변경할 수 있습니다.
서브타입 인터랙션¶
서브타입 박스는 다음 인터랙션을 지원합니다:
| 동작 | 설명 |
|---|---|
| 이동 | 서브타입 박스를 엔터티 내에서 드래그 |
| 리사이즈 | 박스 모서리를 드래그하여 크기 조정 |
| 편집 | 더블클릭하여 서브타입 편집 |
| 선택 | 클릭하여 개별 서브타입 선택 |
포함 방식¶
| 방식 | 설명 |
|---|---|
| Exclusive | 각 항목이 상호 배타적 (기본) |
| Inclusive | 항목 간 중복 가능 |
물리 변환
서브타입을 물리 모델로 변환할 때는 단일 테이블 전략(모든 서브타입을 하나의 테이블에), 개별 테이블 전략(각 서브타입을 별도 테이블에), 슈퍼타입+서브타입 전략 등을 선택할 수 있습니다.