반응형
계층형 데이터모델에 대해 알아봅시다!
반응형

1) 계층형 데이터 모델( Hierarchical Model )
개념
- 데이터를 트리(tree) 구조로 저장하는 모델입니다.
- 부모–자식(상하 관계)가 1개 방향으로 연결됩니다.
- 특징: 자식은 부모를 1명만 가질 수 있음(여러 부모 불가) → 구조가 단순하고 이해가 쉬움.
예시(회사 조직도)
- CEO(부모)
- 부장(자식)
- 팀장(자식)
- 사원(자식)
- 팀장(자식)
- 부장(자식)
“상사는 1명”이라는 조직 구조를 표현하기 좋습니다.
이미지의 EMP 테이블 예시(관리자 MGR)
- 직원 테이블에 MGR(관리자 사번)이 있고, 이 값으로 상사를 가리킵니다.
- 예를 들어:
- KING은 최고 관리자라 MGR = NULL
- BLAKE의 MGR = KING의 사번
- ALLEN의 MGR = BLAKE의 사번
이렇게 따라가면 “누가 누구 밑인가”가 트리처럼 나옵니다.
장점/단점(한 줄씩)
- 장점: 관계가 명확하고 조회가 단순
- 단점: 한 사람이 두 팀/두 프로젝트에 동시에 속하는 구조(다대다)에 약함
→ “부모가 2명”이 필요한 상황을 표현하기 어려움
2) 상호배타적(Exclusive-OR) 관계
개념
- 어떤 엔티티가 여러 “상태/유형” 중 하나만 가질 수 있는 관계입니다.
- “둘 다 가능”이 아니라 “둘 중 하나만 가능”이 핵심입니다.
예시(학생 상태)
학생은 어느 시점에
- 재학생 이거나
- 휴학생 이거나
- 졸업생 이거나
셋 중 하나만 가능합니다. (동시에 재학생+휴학생 불가)
이미지에서도:
- 재학생 엔티티: 학번 + 학기 정보
- 휴학생 엔티티: 학번 + 휴학기간 정보
- 졸업생 엔티티: 학번 + 졸업년도 정보
처럼 상태별로 “추가로 필요한 속성”이 다르기 때문에 분리해서 관리합니다.
왜 중요하냐?
- 데이터 무결성(정확성)을 지키기 위해서입니다.
- 예: 어떤 학생이 재학생이면서 동시에 졸업생으로 등록되면 데이터가 모순이죠.
상호배타 규칙이 이런 모순을 막습니다.
3) 한 번에 정리
- 계층형 모델: 부모–자식 트리 구조(자식은 부모 1명)
→ 조직도, 관리자-직원 구조에 강함 - 상호배타 관계: 여러 상태 중 “한 시점에 하나만”
→ 재학/휴학/졸업처럼 상태가 딱 하나로 결정되는 경우에 사용
반응형
'sqld' 카테고리의 다른 글
| NULL이 무엇인가요? (0) | 2026.02.21 |
|---|---|
| 트랜젝션에 대해 알아보자! (0) | 2026.02.21 |
| 관계와 조인(Join)의 개념 (0) | 2026.02.21 |
| 반정규화는 무엇인가요? (0) | 2026.02.21 |
| 정규화의 형태에대해 알아보자 (0) | 2026.02.20 |