# 계층형 모델

### 위키백과 ― 우리 모두의 백과사전.

데이터 모델
흔한 모델
계층형 네트워크형 관계형 개체-관계형 개체형
기타 모델
결합형 콘셉트-기반형 다-차원 스타 스키마 XML 데이터베이스

계층형 데이터 모델이란, 데이터가 트리 형태의 구조로 조직된 것을 말한다. 이 구조는 반복적인 부모-자식 관계 정보를 표현한다. 각 부모는 다수의 자식을 가질 수 있고, 자식은 단 하나만의 부모를 가질 수 있다. 어떤 레코드에 관한 모든 애트리뷰트(영어: attribute)는 엔티티 타입(영어: entity type) 하나 내에 나열된다.

이 모델에 대한 데이터베이스 구현에서는, 하나의 엔티티 타입은 하나의 테이블에 해당한다. 각각의 레코드는 행으로 표현되며, 애트리뷰트(영어: attribute)는 열로 표현된다. 엔티티 타입은 엔티티 타입끼리 서로 1:N 매핑된다. 이 방식은 일-대-다 관계로도 불리는 방식으로 불리기도 한다.

예를 들어 보자. 계층형 데이터 모델의 한 예는, 회사의 직원 목록을 "직원"이라는 이름의 테이블(영어: table) (엔티티 타입)에 저장한 것이다. 이 테이블 안에는 성명, 직위, 봉급 같은 속성(열)이 있을 수 있다. 또한 각 직원의 자녀에 대한 자료도 성명, 생년월일 등의 속성을 갖는 "자녀"라는 이름의 별도의 테이블에 둘 수 있다. "직원" 테이블은 부모 세그먼트를 표현하며, "자녀" 테이블은 자녀 세그먼트를 표현한다. 이 두 세그먼트는 “계층”을 하나 형성한다: 각각의 직원은 다수의 자녀를 가질 수 있지만, 각각의 자녀는 한 명의 직원을 부모로서 가진다. (단, 한 회사 안에 부부, 혹은 부모-자녀가 동시에 재직하고 있지 않다고 가정한다.)

계층형 구조는 초창기 메인프레임 컴퓨터 데이터베이스 매니지먼트 시스템에 널리쓰였다. 여러 타입의 데이터 사이의 계층형 관계를 이용할 경우, 어떤 문제는 매우 쉽게 답할 수 있지만, 어떤 문제는 매우 답하기 어려워진다. 일-대-다의 관계가 무너졌을 경우(예를 들어 학생이 한 명 이상의 담임 선생님을 가질 경우), 계층형 관계는 네트워크 모델이 되어버린다. [1]

오늘날 가장 널리 쓰이는 계층형 모델은 LDAP 모델이다. 이외에는 계층형 모델은 오늘날의 데이터베이스들에서 거의 쓰이지 않고 있다. 그러나, 정보를 기록하는 다른 매체 및 기법들, 예를 들어 XML 문서라든지, 파일 시스템이라든지, 윈도 레지스트리 등에서는 쓰이고 있다.

## [편집] 관계형 모델 중 트리 자료 구조

관계형 데이터베이스 모델 중 계층형 자료의 예는 다음과 같다. 다음은 어떤 회사 조직 내에서 누가 누구에게 보고할 책임이 있는가 하는 데이터이다. [2]

다음 테이블을 보라:

직원_테이블
직원번호 | 직책
--- | ---
10 | 국장
20 | 부장
30 | 서무직원
40 | 프로그래머

"직원번호" 20이 10에 보고하고, 30이 20에게 보고하고, 40이 20에게 보고한다는 내용의 "계층"은 다음과 같은 테이블에 표현된다.

감독_테이블
상사직원번호 | 부하직원번호
--- | ---
10 | 20
20 | 30
20 | 40

위 테이블에서 만약 한 직원이 두 명의 상사에게 보고를 하는 관계가 아니라면 이 계층은 '자식 하나마다 오직 하나의 부모를 갖는' 타입이 된다.

## [편집] 주석

1. ↑ White, Basil (1996) Developing Products and Their Rhetoric from a Single Hierarchical Model, 1996 Proceedings of the Annual Conference of the Society for Technical Communication, 43, 223-224.
2. ↑ Chapter 23 'Logic-Based Databases' of An Introduction To Database Systems by C.J.Date seventh Edition
3. ↑ White, Basil (1996) Developing Products and Their Rhetoric from a Single Hierarchical Model, 1996 Proceedings of the Annual Conference of the Society for Technical Communication, 43, 223-224.
4. ↑ Chapter 23 'Logic-Based Databases' of An Introduction To Database Systems by C.J.Date seventh Edition

## [편집] 바깥 고리

- 계층
- 계층적인데이터를관계형 데이터베이스 안에서 관리하는 법
- 멈프스 컴파일러
- C++ 계층 툴킷

## [편집] 잘 알려진 계층형 DBMS

- Adabas
- GT.M
- IMS
- MUMPS
- Caché (소프트웨어)
- Metakit
- Multidimensional hierarchical toolkit
- Mumps compiler
- DMSII
- FOCUS

원본 주소 ‘http://ko.wikipedia.org../../../%EA%B3%84/%EC%B8%B5/%ED%98%95/%EA%B3%84%EC%B8%B5%ED%98%95_%EB%AA%A8%EB%8D%B8.html’

분류: 데이터베이스 관리 시스템 | 데이터베이스 | 데이터 모델링

##### Views

- 문서
- 토론
- 현재 버전

##### 찾기

##### 다른 언어

- Deutsch
- English
- Español
- Français
- עברית
- Interlingua
- Italiano
- 日本語
- Nederlands
- Português
- Русский