계층형 데이터모델에 대해 알아봅시다!
f
firststep 에디터
IT / 자격증 전문 라이터
2026년 2월 21일753
계층형 데이터모델에 대해 알아봅시다!
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명)
→ 조직도, 관리자-직원 구조에 강함 - 상호배타 관계: 여러 상태 중 “한 시점에 하나만”
→ 재학/휴학/졸업처럼 상태가 딱 하나로 결정되는 경우에 사용
f
firststep 에디터 · IT / 자격증 전문 라이터
firststep.kr의 실무 에디터로서 무언가를 처음 도전하는 분들이 헤매지 않도록 검증된 지식과 실습 가이드를 작성합니다.
댓글 0개
댓글을 작성하려면 로그인이 필요합니다
간단한 이메일과 비밀번호로 3초 만에 가입하고 의견을 남겨보세요.
첫 번째 댓글을 남겨보세요!