[데이터베이스] 데이터 모델(Data Model)

2023. 10. 16. 12:28CS/데이터베이스

데이터 모델(Data Model)

 

데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형으로, 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적 도구들의 모임이다. 

 

데이터 모델의 종류

 

데이터의 추상화 정도에 따라 3가지 종류로 나눌 수 있다.

 

개념적 데이터 모델

현실 세계의 요소를 일반 사용자가 이해할 수 있도록 정보 구조로 표현한 모델이다. 주로 E-R(Entity-Relation) 모델을 사용하여 개체와 이들 간의 관계를 시각적으로 표현한다.

 

 E-R(Entity-Relation) 모델이란?

개념적 데이터 모델의 가장 대표격으로 1976년 피터 첸(Peter Chen)에 의해 제안되었다. E-R모델은 E-R 다이어그램이라고도 하며 데이터를 개념적으로 모델링한 결과물을 그림으로 표현하는 방법론으로 해당 모델에서는 데이터를 개체(Entity), 속성(Attribute), 관계(Relationship)로 묘사한다. 또한 E-R 모델은 특정 DBMS를 고려하여 제안된 모델이 아니며 1:1, 1:M, N:M 등의 관계 유형을 제한 없이 나타낼 수 있다.

E-R 다이어그램 요소
병원데이터베이스의 E-R 모델

 

논리적 데이터 모델

개념적 데이터 모델을 일반 사용자들이 이해할 수 있는 방식으로 데이터를 표현하면서도 컴퓨터가 이해할 수 있도록 변환한 데이터 모델이다. 개념적 데이터 모델을 데이터베이스의 논리적 구조로 표현한 데이터 모델로 일반적으로 데이터 모델이라고 하면 논리적 데이터 모델을 의미한다. 계층형, 네트워크형, 관계형 모델을 주로 사용한다.

 

물리적 데이터 모델

데이터가 컴퓨터에 물리적으로 저장되는 방식을 나타내는 데이터 모델이다. 논리적 데이터 모델에서 레코드의 형식, 순서, 접근 경로 등의 상세 스팩을 기술하여 해당 모델을 사용하여 실제 데이터베이스 구조를 생성할 수 있도록 응용 프로그램을 지원하도록 한다.

 

데이터 모델 구성요소

 

데이터 모델은 개체(Entity), 속성(Attribute), 관계(Relationship)으로 구성된다.

  • 개체(Entity) : 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
  • 속성(Attribute) : 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당
  • 관계(Relationship) : 개체 간의 관계 또는 속성 간의 논리적인 연결을 의미

 

데이터 모델에 표시해야할 요소

 

데이터 모델에는 표시해야할 요소로 구조(Structure), 연산(Operation), 제약 조건(Constraint)이 있다.

  • 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현
  • 연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세. 데이터베이스를 조작하는 기본 도구
  • 제약 조건(Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건을 의미