1. 데이터 모델링 정의
데이터 모델링 탄생 배경
- 초창기에는 데이터의 저장 매체가 존재하지 않았으며, 기업의 정보시스템은 저장 매체가 없는 단지 배치(Batch) 프로그램 위주의 정보시스템이었음
- 이후 파일이나 데이터베이스 관리 시스템과 같은 데이터 저장 매체의 발전과 더불어 온라인 데이터 처리 정보시스템이 태동하게 됨
- 기업의 경영 정보시스템에 근본적인 문제가 설계나 개발의 문제보다는 정확한 업무의 파악(데이터에 대한 정확한 분석)이 선결되어야 한다는 결론에 이르렀으며, 이러한 환경에서 보다 현실적(실세계를 좀 더 잘 표현할 수 있는)인 관계형 데이터베이스나 개체 관계 모델링 기법(ERD)을 발전시켰음
모델 정의
- 모델이란 어떤 대상을 의미하는 포괄적 의미를 가지고 있다고 할 수 있으며, 특히 데이터 모델은 현실 세계에 대해 우리가 관심있어 하는 대상을 데이터베이스화하기 위한 개념적 도구라고 정의할 수 있다.
- 물리적 모델 : 현실에 실재하는 것이 아닌 복잡한 자동차의 모형, 대형 선박의 스케치 또는 설계도, 자동차의 모의 실험용으로 사용되는 바람 터널에서의 자동차 축소 모형 등이 물리적 모델의 실례이다.
- 개념적 모델 : 특정 시점에 맞게 기상을 예측하기 위해서 사용되는 수리적 공식이나 원형을 파괴하지 않고 조작, 수정, 변경시키기 위한 경제 모형 등을 들 수 있다.
모델링 정의
- 데이터 모델링이란 사용자의 요구 사항으로부터 데이터의 실체를 나타내는 일이라고 해석할 수 있다.
데이터 모델링의 다양한 관점에 대한 일반적 정의 사례
- Webster 사전
- 가설적 또는 일정 양식에 맞춘 표현
- 어떤 것에 대한 예비 표현으로, 그로부터 최종 대상이 구축되도록 되어있는 계획으로 기여하는 것
- 복잡한 '현실 세계'를 단순화시켜 표현하는 것
- 모델이란 사물 또는 사건에 관한 양상이나 관점을 연관된 사람이나 그룹을 위하여 명확하게 하는 것
- 현실 세계의 추상화된 반영
- 데이터 모델링을 다시 정의하면 기업 업무에 대한 종합적인 이해를 바탕으로 데이터에 존재하는 업무 규칙에 대하여 참 또는 거짓을 판별할 수 있는 사실을 어떻게, 누가 접근하는지를 정의하고 또한 이에 대한 전산화와는 별개의 관점에서 이를 명확하게 표현하는 추상화 기법이라 할 수 있다.
- 현재 업무를 파악하여 문제점을 인식하고 개선 사항을 도출하며 미래에 적합한 설계를 이끌어 내기 위해 인간이 해야 할 대부분의 결정들을 내리는 단계까지를 모두 포함하는 것이 데이터 모델링이다.
데이터 모델이 제공하는 것
- 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.
- 시스템의 구조와 행동을 명세화할 수 있게 한다.
- 시스템을 구축하는 틀을 제공한다.
- 우리가 결정한 것을 문서화한다.
- 다양한 영역에 집중하기 위해 다른 영역의 세부 사항을 숨기는 다양한 관점을 제공한다.
- 특정 목표에 따라 다양한 상세 수준을 제공한다.
데이터 모델링 필요성
- 고품질의 데이터 모델은 시스템의 안정성과 유연성, 성능 등에 미치는 영향이 크기 때문에 고품질의 데이터 모델을 확보하기 위한 데이터 모델링은 시스템 개발에 있어서 가장 핵심적인 과정이라 할 수 있다.
- 과거의 시스템 구축 방법의 주를 이루는 프로세스 중심적인 시스템 구축 방법에서는 데이터와 관련한 정보 공유의 문제점이 다수 발생하게 된다.
데이터 설계가 중요한 이유
- 파급 효과 : 시스템 구축이 완성되어 가는 시점에서는 많은 애플리케이션이 테스트를 수행하고, 대규모의 데이터 이행을 성공적으로 수행하기 위한 많은 단위 테스트가 수행되고, 이러한 과정이 반복된다. 각 단위 테스트가 성공적으로 수행되고 완료되면 전체를 묶어 병행 테스트, 통합 테스트를 수행하게 된다. 이러한 시점에 데이터 모델을 불가피하게 변경해야 하는 상황이 발생한다면 큰 위험 요소이다.
- 복잡한 정보 요구 사항의 간결한 표현 : 데이터 모델은 구축할 시스템의 정보 요구 사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구이다. 정보 요구 사항을 파악하는 가장 좋은 방법은 수많은 페이지의 기능적인 요구 사항을 파악하는 것보다 간결하게 그려져 있는 데이터 모델을 리뷰하면서 파악하는 것이 훨씬 빠른 방법이다.
- 데이터 품질 : 중복 데이터의 미정의, 데이터 구조의 비즈니스 정의의 불충분, 동일한 성격의 데이터를 통합하지 않고 분리함으로써 데이터 불일치 등등 데이터 구조의 문제로 인한 데이터 품질의 문제는 치유하기에 불가능한 경우가 대부분이다.
데이터 모델링의 필요성
- 애플리케이션과 데이터의 통합 : 데이터를 기반으로 한 통합은 효과적이면서 동시에 저비용으로 통합 프로젝트를 안정적으로 수행하면서 성공적으로 완수하기 위한 필요조건이 되고 있다.
- 개발자들의 시스템 이해 : 개발자들은 그들이 개발할 시스템과 데이터를 좀 더 확실하게 이해하기 위해 데이터의 모형화를 필요로 한다.
- 사용자 관점 데이터 : 프로세스 모델링과 같이 데이터 모델링은 사용자가 원하는 것의 논리적 개념과 시스템이 어떻게 그것을 제공하는지의 물리적 개념을 명확하게 나타낸다.
- 물리적 표현 또는 사용에 관계없는 데이터 그 자체의 본질 : 물리적인 것과 논리적인 것을 구별함으로써 저장 기법, 데이터와 파일 접근 방법, 데이터를 사용하는 사람과 사용법에 대한 내역 등 변화되는 물리적인 것으로부터 독립되어 조직과 사용자가 필요로 하는 필수적이고 기본적인 데이터를 정의할 수 있다.
- 애플리케이션 간 데이터 사용 : 데이터 모델링은 데이터 정의, 생명주기 정보(CRUD), 언제 어떻게 데이터가 사용되었는지를 추적할 수 있는 방법(매트릭스 분석 기법을 이용한 상호작용 분석) 등을 제공함으로써 애플리케이션을 통해 데이터가 어떻게 사용되는지를 개발자들이 쉽게 이해할 수 있도록 한다.
데이터 모델링 시 주의점
- 중복(Duplication) : 데이터 모델은 같은 데이터를 사용하는 사람, 시간, 그리고 장소를 파악하는 데 도움을 준다. 이러한 지식 응용은 데이터베이스의 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다.
- 비유연성(Inflexibility) : 데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무 변화에도 데이터 모델이 수시로 변경됨으로써 유지 보수의 어려움을 가중시킬 수 있다. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다.
- 비일관성(Inconsistency) : 데이터 모델링 시 데이터와 데이터 간 상호연관 관계에 대한 명확한 정의는 위험을 사전예 예방할 수 있도록 해준다.
'DAP' 카테고리의 다른 글
[DAP 전문가 가이드] 4.1.2 데이터 모델링 기법 이해(1) (0) | 2025.04.28 |
---|---|
[DAP 전문가 가이드] 4.1.1 데이터 모델링 개요(2) (0) | 2025.04.28 |
[DAP 전문가 가이드] 3.3 데이터 표준 관리 (0) | 2025.04.25 |
[DAP 전문가 가이드] 3.2.3 데이터 표준 확정 (0) | 2025.04.25 |
[DAP 전문가 가이드] 3.2.2 데이터 표준 정의 (2) (0) | 2025.04.25 |