티스토리 뷰
데이터 모델링 개요
1. 데이터 모델링 정의
가. 데이터 모델링 탄생 배경
- 현재의 관계형 데이터베이스 관리 시스템이 아닌 시기의 파일이나 데이터베이스 관리 시스템(대표적인 예로 IBM의 계층형 데이터베이스 – HDB, Hierarchical Database)의 데이터 중심 관리 기법이 아니라 배치 프로세스에서 태동한 프로세스 중심의 데이터 관리 기법에 의하여 정보의 고립화라는 현상이 초래하게 되었으며, 많은 기업들은 정보시스템을 유지 관리하는 데 막대한 비용을 투자해야만 했던 것이다.
- 이와 함께 기업의 경영 정보시스템에 근본적인 문제가 설계나 개발의 문제보다는 정확한 업무의 파악(데이터에 대한 정확한 분석)이 선결되어야 한다는 결론에 이르렀으며, 이러한 환경에서 보다 현실적인 관계형 데이터베이스나 개체 관계 모델링 기법(ERD, Entity Relationship Diagram)을 발전시켜 왔던 것이다.
나. 모델 정의
- 모델이란 어떤 대상을 의미하는 포괄적 의미를 가지고 있다고 할 수 있으며, 특히 데이터 모델은 현실 세계에 대해 우리가 관심 있어 하는 대상을 데이터베이스화하기 위한 개념적 도구라고 정의할 수 있다.
1) 물리적 모델
현실에 실재하는 것이 아닌 복잡한 자동차의 모형, 대형 선박의 스케치 또는 설계도, 자동차의 모의 실험용으로 사용되는 바람 터널에서의 자동차 축소 모형 등이 물리적 모델의 실례이다.
2) 개념적 모델
특정 시점에 맞게 기상을 예측하기 위해서 사용되는 수리적 공식이나 원형을 파괴하지 않고 조작∙수정∙변경시키기 위한 경제 모형 등을 들 수 있다.
다. 모델링 정의
- 모델링이란 단어는 실체를 나타내는 일과 모형화라는 의미로 해석된다.
- 데이터 모델링이란 사용자의 요구사항으로부터 데이터의 실체를 나타내는 일이라고 해석할 수 있을 것이다.
n Webster 사전
• 가설적 또는 일정 양식에 맞춘 표현(a hypothetical or stylized representation)
• 어떤 것에 대한 예비 표현으로, 그로부터 최종 대상이 구축되도록 되어있는 계획으로 기여하는 것
n 복잡한 ‘현실 세계’를 단순화시켜 표현하는 것이다.
n 모델이란 사물 또는 사건에 관한 양상(Aspect)이나 관점(Perspective)을 연관된 사람이나 그룹을 위하여 명확하게 하는 것이다.
n 모델이란 현실 세계의 추상화된 반영이다.
- 즉, 현재 업무를 파악하여 문제점을 인식하고 개선 사항을 도출하며 미래에 적합한 설계를 이끌어 내기 위해 인간이 해야 할 대부분의 결정들을 내리는 단계까지를 모두 포함하는 것이 데이터 모델링이다.
라. 데이터 모델이 제공하는 것
n 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.
n 시스템의 구조와 행동을 명세화할 수 있게 한다.
n 시스템을 구축하는 틀을 제공한다.
n 우리가 결정한 것을 문서화한다.
n 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점을 제공한다.
n 특정 목표에 따라 다양한 상세 수준을 제공한다.
2. 데이터 모델링 필요성
- 고품질의 데이터 모델은 시스템의 안정성과 유연성, 성능 등에 미치는 영향이 크기 때문에 고품질의 데이터 모델을 확보하기 위한 데이터 모델링은 시스템 개발에 있어서 가장 핵심적인 과정이라 할 수 있다.
n 파급 효과(Leverage)
n 복잡한 정보 요구사항의 간결한 표현(Conciseness)
n 데이터 품질(Data Quality)
가. 애플리케이션과의 데이터 통합
- 데이터를 기반으로 한 통합은 효과적이면서 동시에 저비용으로 통합 프로젝트를 안정적으로 수행하면서 성공적으로 완수하기 위한 필요조건이 되고 있다.
나. 개발자들의 시스템 이해
- 개발자들은 그들이 개발할 시스템과 데이터를 좀 더 확실하게 이해하기 위해 데이터의 모형화를 필요로 한다.
1) 사용자 관점 데이터
2) 물리적 표현 또는 사용에 관계없는 데이터 그 자체의 본질
3) 애플리케이션 간 데이터 사용
다. 데이터 모델링 시 주의점
1) 중복(Duplication)
2) 비유연성(Inflexibility)
3) 비일관성(Inconsistency)
3. 데이터 모델링 단계
가. 개념 데이터 모델링(Conceptual Data Modeling)
- 개념 데이터 모델링은 조직, 사용자의 데이터 요구사항을 찾고 분석하는 데서 시작한다.
- 이 단계에 있어서의 주요한 활동은 핵심 엔티티와 그들 간의 관계를 발견하고, 그것을 표현하기 위해서 개체-관계 다이어그램을 생성하는 것이다.
- 개념 데이터 모델은 사용자와 시스템 개발자의 데이터 요구사항 발견을 지원한다.
- 개념 데이터 모델은 현 시스템이 어떻게 변형되어야 하는가를 이해하는 데 유용하다.
나. 논리 데이터 모델링(Logical Data Modeling)
- 논리 데이터 모델링은 데이터 모델링 프로세스의 Input으로써 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법 또는 과정이라 할 수 있다.
- 물리적인 스키마 설계를 하기 전 단계의 ‘데이터 모델’ 상태를 일컫는 말이다.
- 논리 데이터 모델링의 핵심은 어떻게 데이터에 액세스하며, 그러한 액세스는 전산화와는 독립적으로, 다시 말해서 누가(Who), 어떻게(How), 그리고 전산화는 별개로 비즈니스 데이터에 존재하는 사실들을 인식하여 기록하는 것이며, 이것은 기법으로서의 의미를 넘어 하나의 철학이라고도 할 수 있다.
- 시스템 구축을 위해서 가장 먼저 시작할 기초적인 업무 조사를 하는 초기 단계부터 인간이 결정해야 할 대부분의 사항을 모두 정의하는 시스템 설계의 전 과정을 지원하는 ‘과정의 도구’라고 해야 할 것이다.
- ‘정규화’는 논리 데이터 모델 상세화 과정의 대표적인 활동으로 논리 데이터 모델의 일관성을 확보하고 중복을 제거하여 속성들이 가장 적절한 엔티티에 배치되도록 함으로써 좀 더 신뢰성 있는 데이터 구조를 얻는 데 목적이 있다.
다. 물리 데이터 모델링(Physical Data Modeling)
- 물리 데이터 모델링은 논리 데이터 모델이 데이터 저장소로서 어떻게 컴퓨터 하드웨어에 표현될 것인가를 다룬다.
- 이 단계에서 결정되는 것은 테이블, 칼럼 등으로 표현되는 물리적인 저장 구조와 사용될 저장 장치, 자료를 추출하기 위해 사용될 접근 방법 등이 있다.
- 계층적 데이터베이스 관리 시스템 환경에서는 데이터베이스 관리자가 물리적 스키마를 설계하고 구현하기 위해서 보다 많은 시간을 투자하여야 한다.
- 관계형 데이터베이스 관리 시스템의 출현으로 인하여 물리적 데이터베이스 설계와 관련된 문제들의 많은 부분이 관계형 데이터베이스 관리 시스템 소프트웨어에서 처리되고 있다.
4. 모델링 기본 원칙
가. 커뮤니케이션 원칙(Communication Principle)
- 논리데이터 모델링의 주목적은 최종 사용자 데이터에 대한 뷰(View)를 개념화하고 추상화하여 시스템 설계자들에게 전달하는 것이다.
그룹명 | 필요성 |
최종 사용자 | 개념화, 추상화, 정규화 기법을 통하여 중복없고, 데이터의 정확성을 보장하는 데이터 구조의 이해 및 사용 |
시스템 분석가 | 시스템에서 사용되어질 정확한 데이터의 구조 및 데이터가 갖는 업무 규칙의 이해 |
데이터베이스 관리자 | 논리 데이터 모델의 구조와 물리 스키마(데이터의 구조)의 차이점을 이해하고 최종 사용자에게는 데이터의 제공, 시스템 분석가에게는 물리 스키마의 제공을 위한 데이터 구조의 이해 |
타 프로젝트에서 작업하는 분석가 | 관련 프로젝트가 데이터를 어떻게 정의하고 있는지를 알아냄. 인터페이스(Interface)가 개발되어지고 데이터가 애플리케이션 또는 시스템 간에 공유되기 위한 데이터 구조 및 업무 규칙의 이해 |
나. 모델링 상세화 원칙(Granularity Principle)
- 데이터의 상세화 정도를 제시하고 조직이 사용하는 정보 구조의 ‘최소 공통 분모’를 제시해야 한다. 또한 복잡한 구조는 요소적인 부분들로 쪼개야 하며 불필요한 구조와 중복은 제거되어야 한다.
- 모델링 상세화 원칙은 “데이터는 데이터의 본질과 잠재적 사용을 이해할 수 있을 만큼 상세화되어야 한다.”는 것을 의미한다.
- 논리 데이터 모델에서 물리 데이터 모델로의 이동은 분해가 아니라 보통 수준의 상세화에서 발생하는 변환(Transformation)이다.
다. 논리적 표현 원칙(Logical Representation Principle)
- 조직의 데이터에 대한 논리적 측면을 최대한 표현해야 한다.
- 모델은 물리적 제약 조건 없이 비즈니스를 그대로 반영해야 한다.
- 즉, 논리 데이터 모델은 특정 아키텍처, 기술 또는 제품과 독립적이어야 한다는 것이다.
5. 좋은 데이터 모델의 요소
가. 완전성(Completeness)
나. 중복 배제(Non-Redundancy)
다. 비즈니스 룰(Business Rule)
라. 데이터 재사용(Data Reusability)
마. 안정성 및 확장성(Stability and Flexibility)
바. 간결성(Elegance)
사. 의사소통(Communication)
아. 통합성(Integration)
'자격증 > DAsP' 카테고리의 다른 글
DAsP - 데이터 모델링 이해 [데이터 모델링 표기법 이해] (0) | 2017.11.14 |
---|---|
DAsP - 데이터 모델링 이해 [데이터 모델링 기법 이해] (0) | 2017.11.13 |
DAsP - 데이터 표준 관리 [데이터 표준 관리 프로세스] (0) | 2017.11.09 |
DAsP - 데이터 표준 관리 [데이터 표준 관리] (0) | 2017.11.09 |
DAsP - 데이터 표준 수립 [데이터 표준 확정] (0) | 2017.11.09 |