이번 포스팅에서는 논리적 데이터 모델(Logical Data Model)에 대해서 알아보겠습니다.
논리적 데이터 모델은 개념적 단계에서 만들어진 개념적 구조를 컴퓨터에 저장시킬 수 있는 논리적 구조로 변환하고자 할 때 사용되는 데이터 모델입니다. 또한 데이터베이스의 전체적인 구조를 논리적으로 설명하거나 표현할 때 사용되기도 합니다. 관계(Relationship) 표현 방법에 따라 관계 데이터 모델(Relation Data Model), 계층 데이터 모델(Hierarchical Data Model), 네트워크 데이터 모델(Network Data Model)로 구분되며 하나하나 살펴보도록 하겠습니다.
관계형 데이터 모델(Relational Data Model)
관계 데이터 모델은 통일적이고 단순한 데이터 구조로 되어 있습니다. 사용자에게 가장 뛰어난 논리적 구조를 지원하며 릴레이션 구조로 운영되는 데이터베이스입니다. 특징으로 개체나 관계 모두가 릴레이션 형태로 나타나며 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 데이터 간의 관계를 표현합니다.
이전 데이터 모델링[1]에서 예로 들었던 게임 SHOP E-R 다이어그램을 관계형 데이터 모델로 변환해 본다면 아래와 같습니다.
☞게임 SHOP E-R 다이어그램
☞ 관계형 데이터 모델로 변환
릴레이션 | 기본키(PK) | 외래키(FK) |
게임 SHOP | SHOP 번호 | |
회원 | 회원번호 | SHOP 번호 |
게임 CD | CD번호 | SHOP 번호 |
대여 | 회원번호, CD번호 |
계층형 데이터 모델(Hierarchical Data Model)
계층형 데이터 모델은 데이터 간의 관계를 순서 트리 형태로 나타냅니다. 속성 간의 관계를 레코드로, 레코드 간의 관계를 링크로 나타내며 계층 정의 트리 형태로 나타낼 때 노드는 레코드 타입이 되고, 가지는 두 레코드 타입 사이의 링크가 됩니다. 모든 링크의 관계는 1:N의 관계가 되며 레코드 타입 간에는 상하 계층이 존재하게 됩니다.
위에서 제시한 E-R 다이어그램을 계층형 데이터 모델로 변환한다면 아래와 같습니다.
네트워크 데이터 모델(Network Data Model)
네트워크 데이터 모델은 데이터 간의 관계를 그래프 구조 형태로 나타냅니다. 1에 해당하는 레코드 타입을 오너 레코드 타입(Owner Record Type), N에 해당하는 레코드 타입을 멤버 레코드 타입(Member Record Type)이라고 하며 이들의 관계를 오너-멤버(Owner-Member) 관계라고 합니다. 또한 레코드 타입 간의 관계는 1:1, 1:N, N:1, N:M이 될 수 있습니다.
다 대 다의 관계에 있기 때문에 데이터 간의 연계성이 매우 뛰어난 모델이 될 수 있지만, 복잡하고 구축 비용이 많이 든다는 단점도 있습니다. 표현 방법으로 노드는 레코드 타입이 되고 링크는 개체 집합 간의 관계성이 됩니다. 링크는 어느 한쪽으로 반드시 함수적 관계로 해서 화살표로 표현해야 합니다. 그리고 링크 위에는 두 레코드 타입 간의 관계를 레이블로 표시해 줍니다.
위에서 제시한 E-R 다이어그램을 네트워크 모델로 변환하면 아래와 같습니다.
네트워크형 데이터 모델은 사각형으로 레코드 타입을 표현하고 레코드 타입과 레코드 타입 간의 관계를 이름을 가진 화살표로 표시한 방향성 그래프입니다. 여기서 화살표는 레코드 타입 간의 1:N 관계를 의미합니다.
이상으로 논리적 데이터 모델에 대한 포스팅을 마치겠습니다.
감사합니다.
'데이타베이스' 카테고리의 다른 글
관계 데이터베이스의 키 제약사항과 무결성 (0) | 2020.07.02 |
---|---|
관계 데이터베이스 용어 정리 (0) | 2020.07.01 |
데이터 모델링[1] E-R 다이어그램 정리 (0) | 2020.06.29 |
데이터 모델링[0]-엔티티(entity) (0) | 2020.06.26 |
R 프로그래밍[6] - R Markdown (2) | 2020.06.18 |
댓글