1과목 · 데이터 모델링의 이해·10장
모델링 기타 · 슈퍼/서브타입·분산
슈퍼/서브타입 변환 전략, 분산 DB 투명성 6가지, CAP 정리를 다룹니다.
1. 슈퍼/서브타입
슈퍼타입(공통 속성 부모) ← 서브타입(고유 속성 자식).
예) 인력(슈퍼) ← 정규직 / 계약직 / 인턴.
관계 유형
- 배타적(Exclusive): 하나에만 속함.
- 포괄적(Inclusive): 여러 서브타입 동시 가능.
- 완전/비완전: 모든 슈퍼 인스턴스가 반드시 어떤 서브타입에 속하는가.
2. 물리 변환 3전략
(a) 1 Table — 슈퍼타입 중심
구분자 컬럼으로 통합.
CREATE TABLE staff (
id INT PRIMARY KEY, name VARCHAR(50),
type CHAR(1), -- R/C/I
salary NUMERIC, end_date DATE
);
- 장: 조회 간단, 공통 쿼리 쉬움.
- 단: NULL 많음, 제약 느슨.
(b) N Tables — 서브타입 중심
서브별로 테이블 분리.
- 장: NULL 없음, 제약 명확.
- 단: 전체 조회 시 UNION.
(c) 1 + N Tables
공통은 슈퍼, 고유는 서브. PK 공유.
- 장: 중복 없음, 확장 유리.
- 단: 조인 필요.
선택
| 조건 | 전략 |
|---|---|
| 고유 속성 적고 트랜잭션 공통 | (a) |
| 완전히 다른 업무 | (b) |
| 정규화·확장 고려 | (c) |
3. 분산 DB
여러 노드에 데이터 나눠 저장, 하나의 논리 DB로 서비스.
6가지 투명성
- 분할 — 쪼개짐 몰라도 됨.
- 위치 — 어느 노드 몰라도 됨.
- 복제 — 복제본 의식 X.
- 병행 — 동시 간섭 의식 X.
- 장애 — 일부 노드 고장에도 동작.
- 지역 — 로컬/원격 접근 동일.
CAP 정리
일관성(C) · 가용성(A) · 분할허용(P) 중 두 개만 동시 보장.
4. 자주 출제되는 포인트
- 서브타입 3전략의 적합 상황.
- 배타/포괄 구분.
- 분산 6투명성.
- CAP = 두 개만.
5. 요약 체크리스트
- 3가지 서브타입 변환 전략을 비교한다.
- 배타/포괄 서브타입을 예로 든다.
- 분산 DB 6투명성을 열거한다.
- CAP를 한 줄로 설명한다.