2024-05-25 16:14:55

 현실 세계에 존재하는 데이터를 컴퓨터 세계의 DB로 옮기는 변환 과정을 데이터 모델링(data modeling)이라 한다. 하지만 현실 세계의 데이터를 컴퓨터 세계에 옮기는 작업은 쉽지 않다. 따라서 현실 세계의 어떤 데이터 A에 대해 누가 들어도 머릿속에서 A를 떠올릴 수 있는 데이터를 찾아야 한다. 이런 작업을 추상화(abstraction)라고 한다. 추상화 과정을 통해 찾아넨 데이터를 실제 A 대신 DB에 저장해야 되는데, 이때 DB에 저장하는 구조를 결정할 필요가 있다.

 

 이를 총 3가지의 단계로 나누는데, 현실 세계 - 개념 세계 - 컴퓨터 세계로 나누어 진행한다. 현실 세계에서 A에 대한 중요 데이터를 추출하여 개념 세계로 옮기는 작업을 데이터 모델릴 과정 중에서도 개념적 모델링(conceptual modeling)이라 한다. 그리고 개념 세계의 데이터를 DB에 저정할 구조를 결정하고 이 구조로 표현하는 작업을 논리적 모델링(logical modeling)이라 한다. 일반적으로 두 모델링을 명확히 구분하지는 않고 합쳐서 데이터 모델링이라 부른다.

 

 하지만 현실 세계의 데이터를 개념 세계로, 컴퓨터 세계로 옮기는 작업을 결코 쉽지 않다. 이러한 데이터 모델링을 쉽게 할 수 있도록 도와주는 도구가 바로 데이터 모델(data model)이다. 이는 또 개념적 데이터 모델과 논리적 데이터 모델로 나뉜다. 개념적 데이터 모델은 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 데이터 모델링하여 DB의 개념적 구조로 표현하는 도구다. 논리적 데이터 모델은 개념적 구조를 논리적 데이터 모델링하여 DB의 논리적 구조로 표현하는 도구다.

 

 일반적으로 데이터 모델은 데이터 구조(data structure), 연산(operation), 제약조건(constraint)으로 구성된다.

 

 보통 데이터 구조는 자주 변하지 않고 정적이라는 특징이 있다. 연산은 데이터 구조에 따라 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업으로, 값이 연산에 의해 계속 변경될 수 있으므로 동적이라는 특징이 있다. 마지막으로 제약조건은 구조적 측면의 제약 사항과 연산을 적용하는 경우 허용할 수 있는 의미적 측면의 제약 사항이 있다.

 

 

데이터 모델의 구성

 

 

 데이터 모델링은 데이터에 대한 요구 사항을 잘 반영할 수 있도록 하는 설계도를 그리는 과정이라고 볼 수 있다. 그리고 데이터 모델은 이 설계도를 그릴 때 사용하는 방법이나 도구를 말한다. 보통 이 두가지를 통틀어 DB 설계라고 한다. 데이터 모델링 과정을 통해 논리적 구조가 결정되면, 컴퓨터 저장 장치에 실제로 저장되는 형태를 의미하는 물리적 구조로 변환하는 작업을 통해 현실 세계의 데이터를 컴퓨터 세계의 데이터로 저장한다.

 

 개념적 데이터 모델링과 논리적 데이터 모델링 작업을 지원하는 다양한 데이터 모델이 존재한다. 개념적 데이터 모델 중 대표적으로 많이 사용되는 것이 개체-관계 모델(E-R Model : Entity-Relationship Model)이다. 논리적 데이터 모델로는 관계 데이터 모델(relational data model)이 가장 많이 사용된다.

'데이터베이스 > 데이터 모델링' 카테고리의 다른 글

논리적 데이터 모델  (0) 2024.05.25
개체-관계 모델  (0) 2024.05.25