[DB] 논리적 데이터 모델
논리적 데이터 모델
데이터 모델링을 통하여, 즉 데이터를 어떻게 구성할지를 생각하고 도출된 결과물이 논리적 데이터 모델인데, 이는 보통 데이터베이스 스키마라고 얘기할 수 있다.
일반적으로 많이 사용되는 논리적 데이터 모델은 관계 데이터 모델로, 데이터 베이스의 논리적 구조가 2차원 테이블 형태다.
계층 데이터 모델
- 트리 형태의 논리적 구조를 가지고 있으며
- 개체 사이에 관계를 하나만 정의 할 수 있다.
- 다대다 관계의 표현이 불가능하여 별도의 개체를 추가로 생성하여 표현해야한다.
- 예륻들면 고객이 책을 구입했을 때 구입 도서라는 개체를 추가하여 어떤 책을 샀는지를 표현할 수 있다.
- 트리 구조 특성상 부모 개체는 하나만 가질 수 있지만 자식 개체는 여러개를 가질 수 있다.
단점
- 개체 사이의 관계를 정의할 때 여러 제약이 존재하기 때문에 개념적 구조를 논리적 구조로 자연스럽게 모델링하기 어려워 구조가 복잡해질 수 가 있다.
- 데이터의 삽입, 삭제, 수정 등의 연산, 원하는 데이터 검색이 쉽지 않다.
네트워크 데이터 모델
- 계층 데이터와 달리 관계를 여러개 정의할 수 있다.
- 일대다 관계만 표현할 수 있다.
- 일대다 관계만 표현할 수 있기 때문에 두 개체 사이의 일대 다 관계를 이용해 다대다 관계를 표현한다.
- 네트워크 데이터 모델에서는 오너와 멤버 관계라고 지칭한다.
- 오너는 여러개의 멤버, 멤버는 여러개의 오너 관계를 가질 수 있다.
- 개체들 사이의 관계를 두개 이상 표현할 수 있어서, 개념적 구조를 좀 더 자연스럽게 모델링 할 수 있다
단점
- 하지만 구조가 훨씬 복잡해질 수 있기 때문에 데이터의 삽입, 삭제, 수정 같은 연산과 데이터 검색이 계층 데이터 모델 보다 훨씬 어려워질 수 있다.