cleanUrl: /data-intensive/data-model-and-query-language
share: true
책에서 데이터 모델링에 대해 다루는데 그 데이터 모델링이 무엇인지 먼저 짚고 넘어간다. SQL 을 포함하여 그래프 까지 다루게 되는 광범위한 내용이다.
참고: Data Modelling: Conceptual, Logical, Physical Data Model Types
데이터 모델링이란?
데이터를 생산하여 Database에 저장하기 위해 처리하는 과정
데이터 모델에는 그 깩체가 다른 객체와 규칙을 대표하도록 설계되어야 하고 이 과정에서 데이터는 비즈니스 규칙, 규제 그리고 정부의 정책까지 데이터를 통해 표현할 수 있도록 한다(이러한 로직 들)
데이터 모델은 데이터의 설명과 의미 및 데이터의 일관성 제약 조건을 구성하는 추상 모델로 정의된다.
- 추상화: 현실 세계를 일정한 형식에 맞추어 표현한다.
- 단순화: 현실 세계를 약속된 규약이나 제한된 표기법과 언어로 표현한다
- 명확화: 누구나 이해가기 쉽게 애매모호함을 제거한다.
모델링의 3단계
개념적 모델링 → 논리적 모델링 → 물리적 모델링
- 개념적 모델링: 현실 세계의 데이터를 추상화하여 데이터로 표현하는 과정
- Entity를 구성하고 그 entity 의 속성, 필드 등을 정의한다.
- 논리적 모델링: 논리적으로 데이터를 저장하기 위해 수립하는 단계
- 데이터의 구성 요소를 구조화 하고, 그들간의 관계를 정의한다.
- 물리적 모델링: 디스크에 데이터가 저장될 수 있도록 논리적 모델을 물리적 데이터 구조로 변환시키는 과정
- DB에서 구현하기 위한 데이터 모델을 표현한다
데이터 모델과 질의 언어
- 데이터 모델 S/W 가 어떻게 작성됐는지 뿐 아니라 그 문제를 어떻게 생각해야 하는지에 대해서도 영향을 미친다.
- 대부분의 app은 이러한 데이터 모델에 다른 데이터 모델의 계층을 두어 만든다.