데이터 모델링
현실 세계를 데이터베이스로 표현하기 위해 추상화 및 정의하는 것
논리적인 DB를 구성하기 위해 요구를 이해하고 그를 바탕으로 모델의 기능과 성능적인 측면에서 효율적인 작성이 필요하다.
이는 특정 시스템의 데이터베이스에 반영하는 작업을 포함한다.
주요 특징
- 추상화
공통적인 특징을 간략히 표현한다.
- 단순화
누구나 이해하기 쉽게 단순히 표현한다.
- 명확성
의미가 모호하지 않고 명확하게 해석 되어야 한다.
모델링 과정
1. 개념적 모델링
- 전사적 관점에서 기업의 데이터를 모델링한다.
- 작업을 위해 어떤 개념들이 존재하는지 파악하고, 개념 간의 상호작용을 판단한다.
- E-R다이어그램에서 핵심 엔터티와 속성을 도출
2. 논리적 모델링
- DB 프로세스의 논리적 구조와 규칙을 명확하게 표현하는 과정이다.
- 시스템 구축을 위해 필요한 사항을 모두 정의한다.
- 이때 정규화를 통해 일관성을 확보하고 중복을 제거한다.
- E-R다이어그램에서 식별자 도출 및 모든 릴레이션 정의
3. 물리적 모델링
- DB를 실제로 구축하는 과정이다.
- 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대해 고려하여 설계하고 구현한다.
- 성능, 보안, 가용성등을 고려한다.
관점
- 데이터(What)
어떤 데이터와 관계있는지, 데이터간의 관계는 무엇인지에 대해서 모델링하는 방법
- 프로세스(How)
해당 데이터를 가지고 무엇을 해야하는지를 모델링하는 방법
- 데이터와 프로세스(Data vs Process)
데이터를 가지고하는 일에 따라 데이터가 어떻게 영향을 받고 있는지 모델링하는 방법
고려사항
-
모델의 독립성
독립성을 확보해 업무 변화에대해 능동적으로 대응
확보를 위해서는 정규화등을 통해 중복된 데이터 제거
-
요구사항의 표현
고객의 요굿하항을 간결하고 명확하게 표현해 의사소통이 원할히 이루어지도록 한다.
데이터 모델을 건축물에 비교하면 건축물의 설계 도면이다.
-
데이터 품질 확보
DB 구축 시 데이터 표준을 정의하고 표준 준수율을 관리해야한다.
데이터가 모순되지 않게 데이터와의 관계를 명확히 정의하거나 목적을 정확히 이해한다.