BOOK

[Do it SQL] Chapter 01-2

Minch13r 2025. 3. 14. 22:23

데이터베이스 모델의 종류와 특징

1. 계층형 데이터 모델 (Hierarchical Data Model)

계층형 데이터 모델은 마치 가족 족보처럼 데이터를 상하 관계로 구성합니다.

주요 특징

  • 트리 구조: 하나의 루트(뿌리)에서 여러 가지가 뻗어나가는 형태입니다.
  • 부모-자식 관계: 상위 데이터(부모)와 하위 데이터(자식) 간의 1:N 관계를 표현합니다.
  • 단방향 접근: 부모에서 자식으로만 접근이 가능합니다.

장점

  • 데이터 접근 속도가 빠릅니다.
  • 계층적 구조가 명확하여 이해하기 쉽습니다.

단점

  • 복잡한 관계 표현이 어렵습니다.
  • 데이터 구조 변경이 어렵습니다.
  • 중복 데이터가 발생할 수 있습니다.

활용 사례

  • IBM의 IMS(Information Management System)
  • 파일 시스템의 디렉토리 구조
  • 조직도나 제품 카테고리 관리

2. 네트워크형 데이터 모델 (Network Data Model)

네트워크형 데이터 모델은 계층형 모델의 한계를 극복하기 위해 등장했으며, 그물망처럼 복잡한 관계를 표현할 수 있습니다.

주요 특징

  • 그래프 구조: 노드(레코드)와 엣지(관계)로 구성된 그래프 형태입니다.
  • 다중 부모-자식 관계: 한 노드가 여러 부모를 가질 수 있는 N:M 관계 표현이 가능합니다.
  • 양방향 접근: 부모에서 자식, 자식에서 부모로 모두 접근 가능합니다.

장점

  • 계층형 모델보다 복잡한 관계 표현이 가능합니다.
  • 데이터 중복을 줄일 수 있습니다.
  • 다양한 경로로 데이터 접근이 가능합니다.

단점

  • 구조가 복잡하여 이해하기 어렵습니다.
  • 구현과 유지보수가 어렵습니다.
  • 데이터 독립성이 부족합니다.

활용 사례

  • CODASYL DBTG 모델
  • 제조업의 부품 관리 시스템
  • 복잡한 관계를 가진 소셜 네트워크

3. 관계형 데이터 모델 (Relational Data Model)

관계형 데이터 모델은 현재 가장 널리 사용되는 모델로, 데이터를 테이블 형태로 구성합니다.

주요 특징

  • 테이블 구조: 행(레코드)과 열(필드)로 구성된 2차원 테이블 형태입니다.
  • 관계: 테이블 간의 관계는 키(key)를 통해 설정됩니다.
  • 정규화: 데이터 중복을 최소화하기 위한 정규화 과정을 거칩니다.

장점

  • 단순하고 이해하기 쉬운 구조입니다.
  • 유연한 질의 처리가 가능합니다(SQL 사용).
  • 데이터 독립성과 무결성 보장이 용이합니다.
  • 확장성이 뛰어납니다.

단점

  • 복잡한 데이터 구조 표현에 한계가 있습니다.
  • 대용량 데이터 처리 시 성능 저하가 발생할 수 있습니다.
  • 객체 지향 프로그래밍과의 불일치(임피던스 불일치)가 있습니다.

활용 사례

  • MySQL, Oracle, SQL Server, PostgreSQL 등 대부분의 DBMS
  • 기업의 업무 시스템, 웹 애플리케이션
  • 은행 거래 시스템, 학사 관리 시스템

4. 객체 지향형 데이터 모델 (Object-Oriented Data Model)

객체 지향형 데이터 모델은 객체 지향 프로그래밍 개념을 데이터베이스에 적용한 모델입니다.

주요 특징

  • 객체와 클래스: 데이터와 메소드를 함께 캡슐화합니다.
  • 상속과 다형성: 객체 간의 계층 구조와 다양한 형태 표현이 가능합니다.
  • 객체 식별자(OID): 각 객체는 고유한 식별자를 가집니다.

장점

  • 복잡한 데이터 구조 표현이 용이합니다.
  • 객체 지향 프로그래밍과의 통합이 자연스럽습니다.
  • 데이터와 연산의 캡슐화로 보안성이 향상됩니다.
  • 재사용성과 확장성이 뛰어납니다.

단점

  • 표준화가 부족합니다.
  • 질의 언어가 복잡할 수 있습니다.
  • 관계형 모델에 비해 성능 최적화가 어려울 수 있습니다.

활용 사례

  • ObjectDB, db4o 등의 객체 지향 DBMS
  • CAD/CAM 시스템
  • 멀티미디어 데이터베이스
  • 지리 정보 시스템(GIS)

데이터 모델 비교

특성 계층형 네트워크형 관계형 객체 지향형
구조 트리 그래프 테이블 객체와 클래스
관계 표현 1 : N N : M 외래 키 참조와 컬렉션
데이터 중복 높음 중간 낮음 낮음
구현 복잡도 중간 높음 낮음 높음
유연성 낮음 중간 높음 매우 높음
현재 활용도 낮음 낮음 매우 높음 중간

 

'BOOK' 카테고리의 다른 글

[Do it SQL] Chapter 04-3 / 04-4  (0) 2025.03.20
[Do it SQL] Chapter 04-2  (0) 2025.03.19
[Do it SQL] Chapter 01-1  (0) 2025.03.12
[JavaScript] 자바스크립트  (1) 2025.03.09
[CSS] Chapter 4-2  (0) 2025.02.28