모델링?

모델링은 현실세계를 모형화(추상화)하여 어떤 규칙을 가지고 모델을 만들어가는 것을 말한다. 


복잡한 현실세계의 일부를 단순화(?) 시키는 것이라고 하는데, 사실 '모델링은 이것이다' 하고 정의한 내용을 보면 감이 잘 오지 않는다.

모델링을 언제, 어떻게 하는건지 그 과정을 통해 이해하는게 훨씬 빠르다는게 내 생각이다.


데이터 모델링

데이터 모델링은 DB 설계에 이용된다.(현실세계를 데이터베이스화하는 데에 이용된다.)

일단 DB 설계 과정이 [요구분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현] 순서로 이루어지는데,


이 중 '개념적 설계' 단계에서 개념적 데이터 모델링을 한다. 이 때 E-R 모델링을 하게된다.
현실세계를 글로 잘 옮겨다가 먼저 요구명세서를 만들고, 이 요구명세서의 내용들을 ERD로 표현하는 작업이 이 단계에서 이루어진다.
E-R 모델(Entity-Relationship Model)은 데이터 모델의 표기법이다.
(1976년에 피터첸이라는 사람이 이 표기법을 만들었다고 한다. 피터첸 피터첸,)
이 표기법은 직관적인 그림?을 통해서 엔티티, 속성, 관계를 파악할 수 있게 해주는 유용한 친구다.

E-R 모델링을 통해 개념적으로 포괄적인 수준의 모델링이 완료되었다면, 그 내용을 가지고 논리적 설계, 즉 논리적 데이터 모델링을 진행한다.
이 단계가 데이터 모델링의 핵심이라고 할 수 있다.
시스템 구축을 위해서 우리가 결정해야 할 대부분의 사항을 기초적인 부분부터 대부분의 것들을 모두 정의하는 과정이다.
개념적 데이터 모델링의 추상적인 것들을 논리적인 구조와 규칙을 명확하게 표현하는 과정이라 할 수 있다.
이 단계에서는 '정규화(Normalization)'가 진행되는데, 이게이게.. 어렵고 중요하다.
정규화는 논리 데이터 모델링의 아주 대표적인 활동인데, 논리 데이터 모델의 일관성을 확보하고 중복을 제거하는 등... 하여튼 매우매우 중요하다!
모델링 과정에서 자세히 다루겠다.

그 다음으로 물리적 데이터 모델링이 이뤄지는데, 논리 데이터 모델을 어떻게 컴퓨터의 H/W에 표현할 것인가를 다룬다.
테이블, 컬럼 등이 표현될 물리적인 저장구조, 데이터에 접근하는 방법 등을 이 단계에서 정의한다.




여기까지는 이론이었고.
실무에서는 개념적 데이터 모델링과 논리적 데이터 모델링을 한꺼번에 수행하는 것이 대부분이라고 한다.

다음 장부터는 실무의 방법으로 데이터 모델링을 하는 방법을 소개해볼까 한다! 헿
* 사용할 툴: Eclipse(Mars) + eXERD



* Reference: http://www.dbguide.net/db.db?cmd=view&boardUid=148404&boardConfigUid=9&categoryUid=216&boardIdx=132&boardStep=1

+ Recent posts