계층형 모델
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
계층형 모델은 1960년대 IBM에서 개발되어 초기 메인프레임 데이터베이스 관리 시스템(DBMS)에 사용된 데이터 구조이다. 레코드 간의 관계를 트리 형태로 구성하며, 일대다 관계를 특징으로 한다. 관계형 모델의 등장으로 인기를 잃었지만, XML의 등장과 함께 재부상하였고, 현재는 지리 정보 및 파일 시스템 저장에 활용된다. 금융, 의료, 통신 등 고성능과 가용성이 요구되는 애플리케이션에서도 사용되며, IMS, Windows 레지스트리 등이 그 예시이다. 계층형 DBMS는 대규모 데이터베이스에서 자원 소모가 적고 응답 시간 예측이 정확하며, 레코드 단위의 읽기/쓰기가 용이하다는 장점이 있으나, 전용 기술이 필요하고 레코드 필터링 기능이 약하다는 단점이 있다. Adabas, GT.M, IMS 등이 잘 알려진 계층형 DBMS에 해당한다.
더 읽어볼만한 페이지
- 데이터베이스 모델 - 플랫 파일 데이터베이스
플랫 파일 데이터베이스는 각 줄에 레코드를 기록하고 구분자로 필드를 구분하는 단순한 형태이지만, 데이터 중복, 대용량 처리의 어려움, 보안 취약성 등의 한계로 특정 용도로만 활용된다. - 데이터베이스 모델 - 네트워크 모델
네트워크 모델은 찰스 바크만이 발명하고 CODASYL 컨소시엄에 의해 표준 사양으로 개발된 데이터베이스 모델이며, 바흐만 다이어그램으로 표현되고 IDS, IDMS, IMAGE 등 다양한 시스템에서 구현되었다. - 데이터 모델링 - 빌딩 정보 모델링
빌딩 정보 모델링(BIM)은 건축물의 전 생애주기 동안 발생하는 정보를 디지털 모델로 통합 관리하는 프로세스이다. - 데이터 모델링 - 저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다. - 데이터베이스 관리 시스템 - 트랜잭션 처리
트랜잭션 처리는 데이터베이스 시스템에서 데이터의 일관성과 무결성을 보장하기 위한 기술이며, ACID 속성을 통해 데이터 정확성을 유지하고 롤백, 데드락 처리 등의 기술을 활용한다. - 데이터베이스 관리 시스템 - 저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다.
| 계층형 모델 | |
|---|---|
| 개요 | |
| 정의 | 데이터베이스 모델의 한 종류로, 트리와 유사한 구조를 사용하여 데이터를 구성한다. |
| 특징 | 각 레코드는 하나의 상위 레코드와 여러 개의 하위 레코드를 가질 수 있다. |
| 장점 | 데이터 접근 속도가 빠르고, 데이터 구조가 단순하다. |
| 단점 | 데이터 구조 변경이 어렵고, 다대다 관계를 표현하기 어렵다. |
| 역사 | |
| 등장 시기 | 1960년대 |
| 주요 사용처 | IBM의 IMS 데이터베이스 시스템 |
| 발전 | 네트워크 데이터베이스 모델의 등장에 영향을 미침 |
| 구조 | |
| 루트 노드 | 트리 구조의 최상위 노드 |
| 부모 노드 | 하위 노드를 가지는 노드 |
| 자식 노드 | 상위 노드의 하위에 있는 노드 |
| 레코드 | 데이터의 기본 단위 |
| 필드 | 레코드를 구성하는 속성 |
| 관계 | 노드 간의 연결 |
| 특징 | |
| 데이터 접근 방식 | 계층 구조를 따라 상위 노드에서 하위 노드로 순차적으로 접근 |
| 데이터 중복성 | 데이터 중복이 발생할 수 있음 |
| 데이터 독립성 | 데이터 구조 변경 시 응용 프로그램에 영향을 줄 수 있음 |
| 무결성 | 부모-자식 관계를 통해 데이터 무결성을 유지 |
| 장단점 | |
| 장점 | 데이터 접근 속도가 빠름 데이터 구조가 단순하고 이해하기 쉬움 데이터베이스 보안 관리가 용이함 |
| 단점 | 데이터 구조 변경이 어려움 다대다 관계 표현이 복잡함 데이터 중복이 발생할 수 있음 응용 프로그램의 데이터 의존성이 높음 |
| 활용 | |
| 예시 | 조직 구조 관리 파일 시스템 메뉴 구조 |
| 관련 기술 | |
| 관련 기술 | XML (계층적 데이터 표현에 사용) 트리 구조 |
| 참고 | |
| 참고 | 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. 역사
계층형 구조는 1960년대 IBM에 의해 개발되어 초기 메인프레임 데이터베이스 관리 시스템(DBMS)에 사용되었다. 레코드 간의 관계는 트리 형태를 이루는데, 이 구조는 단순하지만 관계가 일대다 관계로 제한되어 유연성이 떨어진다. IBM 정보 관리 시스템(IMS) 및 RDM Mobile은 동일한 데이터에 여러 계층 구조를 가진 계층형 데이터베이스 시스템의 예이다.
코드의 관계형 모델이 사실상 모든 주류 데이터베이스 관리 시스템에서 표준이 되면서 계층형 데이터 모델은 인기를 잃었다. 1990년대 후반 XML의 등장과 함께 계층형 데이터 구성 체계는 다시 부상했다. 계층형 구조는 오늘날 주로 지리 정보 및 파일 시스템을 저장하는 데 사용된다.
현재 계층형 데이터베이스는 특히 금융, 의료, 통신과 같이 매우 높은 성능과 가용성이 필요한 애플리케이션에서 여전히 널리 사용되고 있다. 가장 널리 사용되는 상업용 계층형 데이터베이스 중 하나는 IMS이다. 마이크로소프트 윈도우(Microsoft Windows) 운영 체제의 Windows 레지스트리도 계층형 데이터베이스의 또 다른 예이다.
2. 1. 관계형 데이터베이스에서의 계층형 데이터 표현
관계형 데이터베이스 모델 중 계층형 자료의 예는 다음과 같다. 다음은 어떤 회사 조직 내에서 누가 누구에게 보고할 책임이 있는가 하는 데이터이다.[7]다음 테이블을 보자.
| 직원번호 | 직책 |
|---|---|
| 10 | 국장 |
| 20 | 부장 |
| 30 | 서무직원 |
| 40 | 프로그래머 |
"직원번호" 20이 10에 보고하고, 30과 40이 20에게 보고한다는 내용의 "계층"은 다음과 같은 테이블에 표현된다.
| 상사직원번호 | 부하직원번호 |
|---|---|
| 10 | 20 |
| 20 | 30 |
| 20 | 40 |
위 테이블에서 만약 한 직원이 두 명의 상사에게 보고를 하는 관계가 아니라면 이 계층은 '자식 하나마다 오직 하나의 부모를 갖는' 타입이 된다. 조직은 직원 번호, 이름, 성, 부서 번호와 같은 속성/열을 포함하는 테이블에 직원 정보를 저장할 수 있다. 조직은 필요에 따라 각 직원에게 컴퓨터 하드웨어를 제공하지만, 컴퓨터 장비는 할당된 직원만 사용할 수 있다. 조직은 각 부품의 일련 번호, 유형 및 사용 직원을 포함하는 별도의 테이블에 컴퓨터 하드웨어 정보를 저장할 수 있다. 테이블은 다음과 같다.
| 사원 번호 | 이름 | 성 | 부서 번호 |
|---|---|---|---|
| 100 | 알묵타르 | 칸 | 10-L |
| 101 | 가우라브 | 소니 | 10-L |
| 102 | 시다르타 | 소니 | 20-B |
| 103 | 시드한트 | 소니 | 20-B |
| 일련 번호 | 유형 | 사용자 사원 번호 |
|---|---|---|
| 3009734-4 | 컴퓨터 | 100 |
| 3-23-283742 | 모니터 | 100 |
| 2-22-723423 | 모니터 | 100 |
| 232342 | 프린터 | 100 |
이 모델에서 employee 데이터 테이블은 계층 구조의 "부모" 부분을 나타내고, computer 테이블은 계층 구조의 "자식" 부분을 나타낸다. 일반적으로 컴퓨터 소프트웨어 알고리즘에서 발견되는 트리 구조와 달리 이 모델에서는 자식이 부모를 가리킨다. 각 직원은 여러 대의 컴퓨터 장비를 소유할 수 있지만, 각 개별 컴퓨터 장비는 한 명의 직원만 소유할 수 있다.
다음 구조를 고려하십시오.
| 사원 번호 | 직책 | 보고 대상 |
|---|---|---|
| 10 | 이사 | |
| 20 | 수석 매니저 | 10 |
| 30 | 타이피스트 | 20 |
| 40 | 프로그래머 | 20 |
계층형 구조는 1960년대에 IBM에 의해 개발되었으며 초기 메인프레임 데이터베이스 관리 시스템(DBMS)에 사용되었다. 레코드 간의 관계는 트리 형태의 모델을 형성한다. 이 구조는 단순하지만 관계가 일대다 관계로 제한되어 유연성이 떨어진다. IBM 정보 관리 시스템(IMS) 및 RDM Mobile은 동일한 데이터에 여러 계층 구조를 가진 계층형 데이터베이스 시스템의 예이다.[2]
여기에서 "자식"은 "부모"와 동일한 유형이다. 사원 번호 10이 20의 상사이고 30과 40이 각각 20에게 보고한다는 계층 구조는 "보고 대상" 열로 표시된다. 관계형 데이터베이스 용어에서 ReportsTo 열은 EmpNo 열을 참조하는 외부 키이다. "자식" 데이터 유형이 다른 경우 다른 테이블에 있지만 직원의 EmpNo 열을 참조하는 외부 키가 여전히 존재한다.
이 간단한 모델은 일반적으로 인접 목록 모델로 알려져 있으며, 관계형 모델이 계층적 데이터를 모델링할 수 없다는 초기 비판이 제기된 후 에드거 F. 코드 박사에 의해 소개되었다. 그러나 이 모델은 그래프에 대한 일반적인 인접 목록의 특수한 경우일 뿐이다.
3. 계층형 DBMS의 특징
코드의 관계형 모델이 사실상 모든 주류 데이터베이스 관리 시스템에서 사용되는 표준이 되면서 계층형 데이터 모델은 인기를 잃었다. 1990년대 후반 XML의 등장과 함께 계층형 데이터 구성 체계는 다시 부상했다.[3] (참고: XML 데이터베이스). 오늘날 계층형 구조는 주로 지리 정보 및 파일 시스템을 저장하는 데 사용된다.
현재 계층형 데이터베이스는 특히 금융, 의료, 통신과 같이 매우 높은 성능과 가용성이 필요한 애플리케이션에서 여전히 널리 사용되고 있다. 가장 널리 사용되는 상업용 계층형 데이터베이스 중 하나는 IMS이다.[4] 마이크로소프트 윈도우(Microsoft Windows) 운영 체제의 Windows 레지스트리가 계층형 데이터베이스의 또 다른 예이다.[5]
자식 데이터가 다양한 부모 데이터 아래에 있는 경우에는 데이터가 필요 이상으로 증가하는 단점이 있다. 이 때문에, IMS나 DL/I VSE 등 실제 계층형 DBMS에서는 가상 레코드(포인터)를 구현하고 있다.
3. 1. 장점
3. 2. 단점
계층형 모델은 다음과 같은 단점을 갖는다.
4. 잘 알려진 계층형 DBMS
- Adabas
- GT.M
- IMS
- MUMPS
- Caché (소프트웨어)
- Metakit
- Multidimensional hierarchical toolkit
- Mumps compiler
- DMSII
- FOCUS
IMS 및 RDM Mobile은 동일한 데이터에 여러 계층 구조를 가진 계층형 데이터베이스 시스템의 예이다.[2] 현재 계층형 데이터베이스는 특히 금융, 의료, 통신과 같이 매우 높은 성능과 가용성이 필요한 애플리케이션에서 여전히 널리 사용되고 있다. 가장 널리 사용되는 상업용 계층형 데이터베이스 중 하나는 IMS이다.[4] 계층형 데이터베이스의 또 다른 예로는 Windows 운영 체제의 Windows 레지스트리가 있다.[5]
참조
[1]
서적
Database System Concepts
McGraw-Hill
2004
[2]
웹사이트
Michael J. Kamfonas/Recursive Hierarchies: The Relational Taboo!
http://www.kamfonas.[...]
The Relation Journal
1992-10
[3]
웹사이트
Web Application Development
http://www.ibm.com/d[...]
[4]
웹사이트
IBM Information Management System
https://web.archive.[...]
[5]
웹사이트
Structure of the Registry - Win32 apps
http://msdn.microsof[...]
[6]
웹인용
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.
http://www.basilwhit[...]
2007-06-02
[7]
서적
An Introduction To Database Systems
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com