본문 바로가기
IT

데이터 모델 구성요소와 종류

by EDMBLACKBOX 2021. 5. 20.
728x90

데이터 모델이란?

데이터베이스 구조의 근간을 이루는 것은 데이터 모델(Data Model)입니다. 데이터 모델은 데이터베이스 설계 과정에서 데이터의 논리적인 구조를 표현하기 위해 사용되는 도구입니다. 대표적인 데이터 모델은 계층형 데이터 모델, 네트워크형 데이터 모델, 관계형 데이터 모델, 객체 지향형 데이터 모델이 있습니다. 계층형 데이터 모델과 네트워크형 데이터 모델은 1960년~1970년대에 주로 사용되었으며, 관계형 데이터 모델은 1980년대 초반에 널리 사용되었습니다. 객체 지향형 데이터 모델은 1980년대 후반에 관계형 데이터 모델의 단점을 개선하기 위해 등장했습니다. 그리고 1990년대 후반에는 관계형 데이터 모델에 객체 지향 개념을 도입한 객체-관계형 데이터 모델도 등장했습니다.

 

 

데이터 모델의 구성요소
1. 구조(Structure) : 논리적으로 표현된 개체들 간의 관계를 표시합니다.
2. 연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 방법을 표시합니다.
3. 제약조건(Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건을 표시합니다.

 

 

계층형 데이터 모델, 출처 : DBMS Internals

계층형 데이터 모델(Hierarchical Data Model)
계층형 데이터 모델은 초창기 메인프레임 컴퓨터에서 널리 사용되었습니다. 계층형 데이터 모델에서 데이터는 레코드와 링크(Link)로 구성된 트리 형태로 나타냅니다. 링크로 연결된 레코드 집합은 부모-자식 관계를 표현하는데, 부모 노드는 다수의 자식 노드를 가질 수 있지만 자식 노드는 하나의 부모 노드만 가질 수 있습니다. 따라서 부모 노드와 자식 노드 간의 관계는 일 대 다(1 : N) 관계입니다. 위의 이미지는 여러 개의 자식을 거느린 부모 노드의 구조를 보여줍니다. 대표적인 계층형 DBMS에는 ADABAS, IMS, DMS-II 등이 있습니다.

 

 

네트워크형 데이터 모델, 출처 : GeeksforGeeks

네트워크형 데이터 모델(Network Data Model)
그래프 구조에 기반을 둔 네트워크 데이터 모델은, 레코드를 노드로, 레코드와 레코드 간의 관계는 간선(Edge)으로 나타냅니다. 네트워크형 데이터 모델은 위의 이미지와 같이 하나의 레코드에 다수의 레코드를 연결할 수 있기 때문에 레코드와 레코드 간의 관계는 다 대 다(M : N) 관계입니다. 레코드들이 간선으로 연결되어 있으므로 레코드의 구조 변경이 어려워 확장성이 떨어집니다. 대표적인 네트워크형 DBMS에는 CODASYL이 있습니다.

 

 

관계형 데이터 모델, 출처 :Binary Terms

관계형 데이터 모델(Relational Data Model)
1970년 IBM 연구소의 코드(E. F. Codd)가 제안한 관계형 데이터 모델은 다른 데이터 모델에 비해 개념이 단순하며, 현재 가장 널리 사용되고 있습니다. 관계형 데이터 모델은 위의 이미지와 같이 행과 열로 구성된 2차원 테이블(Table)에 데이터를 저장합니다. 테이블은 데이터베이스에서 표현하는 하나의 엔티티(Entity)에 관한 정보를 저장하며, 고유한 이름을 가집니다. 여기서 엔티티란 사람, 장소, 사물, 사건 등과 같이 독립적으로 존재하면서, 고유하게 식별 가능한 실세계의 객체를 의미합니다. 관계형 데이터 모델은 간단하여 이해하기 쉬우며, 데이터의 저장 위치와 접근 방법을 DBMS가 결정하기 때문에 사용자는 필요한 데이터만 명시하면 됩니다. 대표적인 관계형 DBMS에는 DB2, Oracle, MySQL, MS SQL Server, Access 등이 있습니다.

 

 

객체 지향형 데이터 모델, 출처 : Preplnsta

객체 지향형 데이터 모델(Object-Oriented Data Model)
1980년대 후반에 등장한 객체 지향형 데이터 모델은 객체 지향 프로그래밍의 패러다임을 기반으로 합니다. 즉 데이터와 메서드(Method)를 하나의 객체로 다루기 때문에 이해하기 쉽고, 유지와 변경이 용이합니다. 대표적인 객체 지향형 DBMS에는 Objectivity, GemStone, O2, Ontos, Versant 등이 있습니다. 한편 1990년대 후반에는 관계형 데이터 모델에 객체 지향 개념을 가질 수 있게 확장한 객체-관계형 데이터 모델(Object-Relational Data Model)이 등장했습니다. 대표적인 객체-관계형 DBMS로는 Informix, Universal Server, Oracle 9i 등이 있습니다.

728x90