1 . 모델링
> 모델링의 정의
- 모델 : 모형, 축소형의 의미로서 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 것
- 모델링 : ⑴ 다양한 현상을 표기법에 의해 규칙을 가지고 표기하는 것
⑵ 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법
> 모델링의 특징
- 추상화 : 현실을 일정한 형식에 맞추어 표현하는 것
- 단순화 : 약속된 표기법이나 언어로 표현하여 누구나 이해하기 쉽도록 표현하는 것
- 명확화 : 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술하는 것
> 모델링의 관점
- 데이터 관점 (Data, What) : 업무가 어떤 데이터와 관련이 있는지 / 데이터간의 관계는 무엇인지를 모델링
- 프로세스 관점 (Process, How) : 업무가 실제로 하는 일은 무엇인지 / 업무가 무엇을 해야 하는지를 모델링
- 데이터와 프로세스의 상관관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지를 모델링
2. 데이터 모델링
> 데이터 모델링의 정의
- 업무에 어떤 데이터가 존재하는지, 업무가 필요로하는 정보가 무엇인지를 분석하는 방법
- 현실세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석 / 설계의 과정
> 데이터 모델링의 특징
- 가시화 : 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와줌
- 명세화 : 시스템의 구조와 행동을 명세화할 수 있게 함
- 구조화된 틀 제공 : 시스템을 구축하는 구조화된 틀을 제공함.
- 문서화 : 시스템을 구축하는 과정에서 결정한 것을 문서화함.
- 추상화 : 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점
- 표현방법을 제공 : 특정 목표에 다라 구체화된 상세 수준의 표현 방법을 제공
> 데이터 모델링의 중요성
- 파급효과 : 프로젝트 초기에하는 작업 중 가장 중요한 작업으로 프로젝트 후반부에서 데이터 모델 변경시 변경으로 인한 비용 손실 및 납기지연 가능성이 커짐
- 복잡한 정보 요구 사항의 간결한 표현 : 정보 유가 사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구
- 데이터 품질 : 데이터 품질의 값, 구조, 프로세스 3대 영역 중 구조에 대한 품질에 핵심적인 영향도가 데이터 모델.
(중복, 비유연성, 비일관성의 문제를 해결하는 데 가장 중요한 도구)
> 데이터 모델링의 단계
- 개념적 데이터 모델링 : 추상화 수준이 높고 업무 중심적인 포괄적인 수준의 모델링
- 논리적 데이터 모델링 : 시스템으로 구축하고 하는 업무에 대해 key, 속성, 관계 등을 정확하게 표현, 재사용성 높음
- 물리적 데이터 모델링 : 실제로 데이터베이스에 이식할 수 있도록 성능 저장 등 물리적인 성격을 고려하여 설계
> 데이터 모델링의 독립성 구조(3단계 구조)
- 외부 단계 : view 단계 / 개개 사용자 단계로서 개개인의 사용자가 보는 개인적 DB 스키마 (사용자 관점)
논리적 데이터 독립성 : 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원.
논리적 구조가 변경되어도 응용 프로그램에 영향 없음
- 개념적 단계 : 개념 단계 / 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것 (통합 관점)
물리적 데이터 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않도록 지원
저장장치의 구조변경은 응용프로그램과 개념스키마에 영향 없음
- 내부적 단계 : 내부 단계/ DB가 물리적으로 저장된 형식. 물리적 장치에서 데이터가 실제로 저장되는 방법을 표현
- 사상(Mapping) : 상호 독립적인 개념을 연결시켜주는 다리
⒜ 외부적/개념적 사상(논리적 사상) : 외부적 뷰와 개념적 뷰의 상호 관련성을 정의.
⒝ 개념적/내부적 사상(물리적 사상) : 개념적 뷰와 저장된 데이터베이스의 상호 관련성 정의.
> 데이터 모델링의 세가지 요소
- 업무가 관여하는 어떤 것 Things -> 엔터티(복수), 인스턴스(단수)
- 어떤 것이 가지는 성격 Atrributes -> 속성
- 업무가 관여하는 어떤 것 간의 관계 Relationships -> 관계
> 좋은 데이터모델의 요소
- 완전성 : 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의됨.
- 중복배제 : 하나의 데이터베이스 내에 동일한 사실은 반드시 한 번만 기록
- 업무규칙 : 무규칙을 데이터 모델에 표현하고 이를 모든 사용자가 공유
- 데이터 재사용 : 데이터의 통합성과 독립성에 대해 충분히 고려
- 의사소통 : 관련자들이 설계자가 정의한 업무 규칙들을 동일한 의미로 받아들이고 활용
- 통합성 : 동일한 데이터는 조직의 전체에서 한번만 정의되고 이를 여러 영역에서 참조, 활용하는 것
출처 : 한국데이터산업진흥원 게시자료