← 개념서모바일 버전
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를 한 줄로 설명한다.