SQLD 데이터 모델링
데이터 모델링이란?
- 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 데이터베이스를 구축하기 위한 분석/설계의 과정
모델링
- 복잡하고 다향한 현상을 표기법에 의해 규칙을 가지고 표기하는 것을 의미한다.
- 가설적 또는 일정 양식에 맟춘 표현
- 어떤 것에 대한 에비표현으로 그로부터 최종대상이 구축되도록 하는 계획으로서 기여 하는 것
모델링의 특징
모델링은 추상화, 단순화, 명확화 3가지 특징이 있다.
- 추상화는 현실세계를 일정한 형식에 맟추어 표현을 한다는 의미이다.
- 단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법, 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념을 의미한다.
- 명확화는 누구나 이해하기 쉽게 대상에 대한 애매모호함을 제거하고 정확하게 표기하는 것을 의미한다.
모델링의 세가지 관점
- 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지에 대해 모델링 하는 방법
- 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링 하는 방법
- 데이터와 프로세스의 상관관점 : 업무가 처리하고 있는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링 하는 방법
데이터 모델이 제공하는 기능
- 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.
- 시스템의 구조와 행동을 명세화 할 수 있게 한다.
- 시슽템을 구축하는 구조화된 틀을 제공한다.
- 시스템을 구축하는 과정에서 결정한 것을 문서화 한다.
- 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점을 제공한다.
중요성 및 유의점
- 파급효과 : 시스템 구축이 완성되어 가는 과정에서 수많은 단위 테스트가 수행되고 이러한 과정이 반복된다. 이러한 테스트 과정에서 데이터 모델이 변경되는 상황은 프로젝트의 규모가 클수록 문제가 일어난다. 이러한 이유로 데이터 설계는 중요하다.
- 복잡한 정보 요구사항의 간결한 표현 : 데이터 모델은 정보요구사항을 파악하기 위해 유용하다.
- 데이터 품질 : 데이터로 이용할 수 있는 비즈니스 기회를 얻기 위해 데이터는 필요한 데이터만이 존재 해야 한다.
데이터 모델링의 3단계 진행
데이터 모델링 | 내용 | 수준 |
---|---|---|
개념적 데이터 모델링 | 추상화 수준이 높고 업무 중심적이며 포괄적인 수준의 모델링 | 추상적 |
논리적 데이터 모델링 | 시스템으로 구축하고자 하는 업무에 대하여 key 속성 관계 등을 정확하게 표현 | |
물리적 데이터 모델링 | 실제로 데이터 베이스에 이식할 수 있도록 설계 | 구체적 |