본문 바로가기
공부/데이터베이스

4. 데이터 모델링 / 03 논리적 데이터 모델

by 라이티아 2025. 9. 6.

1. 논리적 데이터 모델의 개념과 특성

사용자 입장에서 선택한 데이터베이스 관리 시스템에 따라 ER다이어그램으로 표현된 개념적 구조를 데이터베이스에 어떤 형태로 저장할지를 노리적으로 표현하는데, 이러한 논리적 구조를 논리적 데이터 모델이라 한다

데이터 모델링의 결과물, 사용자가 생각하는 데이터베이스의 모습 또는 구조이다

 

논리적 데이터 모델로 표현된 데이터베이스의 놀리적 구조가 바로 데이터베이스 스키마이다

논리적 구조는 사용하는 데이터베이스 관리 시스템에 따라 달라진다

 

데이터간 관계를 표현하는 방법에 따라 다양한 논리적 데이터 모델이 존재한다

일반적인 논리적 데이터 모델은 관계 데이터 모델이며 2차원 테이블 형태이다

 

2. 계층 데이터 모델 Hierarchical Data Model

데이터베이스의 논리적 구조가 트리 형태임

두 개체 사이에 관계를 하나만 정의할 수 있어 관계에 이름을 붙여 구분할 필요가 없다

 

계층 데이터 모델에서는 다대다 관계를 직접 표현할 수 없어 별도의 개체를 추가로 생성하여 이를 표현한다

 

계층 데이터 모델은 트리 구조로 표현되기 때문에 출판사 개체처럼 루트 역할을 하는 개체가 존재하고 사이클이 존재하지 않는다

일대다 관계를 맺는 개체들 사이에는 상하 관계가 성립한다

상위에 있는 개체를 부모 개체, 하위에 있는 개체를 자식 개체라 하고, 이들 사이의 일대다 관계를 부모 자식 관계라 한다

 

트리 구조의 특성상 부모 개체 하나가 자식 개체를 여러개 가질 수 있지만, 모든 자식 개체는 부모 개체를 하나만 가질 수 있는 제약 사항이 있다

 

계층 데이터 모델은 개체 사이의 관계를 정의할 때 여러 제약이 존재하기 때문에 개념적 구조를 논리적 구조로 자연스럽게 모델링하기 어려워 구조가 복잡해줄 수 있다

데이터의 삽입, 삭제, 수정 등을 연산하거나 데이터를 검색하기 쉽지 않다는 단점이 있다

 

3. 네트워크 데이터 모델 Network Data Model

데이터베이스의 논리적 구조가 그래프, 네트워크 형태임

계층 데이터 모델과 달리 두 개체 간의 관계를 여러 개 정의할 수 있어 관계를 이름으로 구별한다

 

네트워크 데이터 모델에서도 일대다 관계만 직접 표현할 수 있으므로 두 개체 사이의 일대 다 관계들을 이용해 다대다 관계를 표현한다

 

일다대 관계의 개체들은 각각 오너, 멤버라 부르고, 이들 사이의 관계를 오너-멤버 관계라 부른다

오너 개체 하나가 멤버 개체 여러 개와 관계를 맺을 수 있고 멤버 개체도 오너 개체 여러 개와 관계를 맺을 수 있다

 

네트워크 데이터 모델은 같은 개체들 사이의 관계를 2개 이상 표현할 수 있어 계층 데이터 모델보다 개념적 구조르 논리적 구조로 좀 더 자연스럽게 모델링할 수 있다

하지만 계층 데이터 모델보다 구조가 복잡해질 수 있어 데이터 삽입, 삭제, 수정과 같은 연산, 데이터 검색이 계층 데이터 모델보다 더 어려워지는 문제가 발생한다

 

최근에는 객체의 개념을 도입한 객체지향 데이터 모델 Object-oriented Data Model 및 객체지향 데이터 모델과 관계 데이터 모델의 특성을 모두 수용하는 객체관계 데이터 모델 Object-relational Data Model이 사용되기도 한다

 

 

일반적으로 데이터베이스 관리 시스템은 하나의 논리적 데이터 모델을 지원한다. 그러므로 데이터베이스르 구축하는 환경에 맞는 데이터베이스 관리 시스템을 먼저 선택한 후 이를 지원하는 논리적 데이터 모델을 선택해야 한다