투케이2K
7. (DB/데이터베이스) 데이터 모델링 개념 설명 및 ER 다이어그램 예시 작성 본문
/* =========================== */
[ 설 명 ]
과목 : DataBase / 데이터베이스
/* =========================== */
[데이터 모델링 이란?]
- 현실 세계 우리 주변에 있는 사람, 사물, 개념 등 다양한 현상을 발생시키는 것들을 단순화된 일정한 표기법에 의해 나타내는 것입니다
- 데이터베이스를 구축하기 위한 분석 및 설계 과정입니다
- 현실세계의 데이터를 약속된 표기법으로 표현하는 과정입니다
- 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법입니다
- 데이터 모델링 시에는 [업무가 관여하는 어떤 것(Things), 어떤 것이 가지는 성격(Attributes), 업무가 관여하는 어떤 것 간의 관계(Relationship)] 3가지 요소가 중요합니다
[데이터 모델링 특징]
- 추상화 : 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미입니다
- 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법 등을 사용해 보다 쉽게 이해할 수 있도록 하는 개념입니다
- 명확화 : 누구나 이해하기 쉽도록 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술하는 것입니다
[데이터 모델링 관점]
- 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지에 대해서 모델링하는 것입니다
- 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 것입니다
- 데이터와 프로세스의 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 것입니다
[데이터 모델링이 제공하는 기능]
- 시스템을 원하는 모습으로 가시화하도록 도와줍니다
- 시스템의 구조와 행동을 명세화 할 수 있게 합니다
- 시스템을 구축하는 구조화된 틀을 제공합니다
- 시스템을 구축하는 과정에서 결정한 것을 문서화합니다
- 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 관점을 제공합니다
- 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공합니다
[좋은 데이터 모델링 요소]
- 완전성(Completeness) : 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있는지를 확인합니다
- 중복배제(Non-Redundancy) : 하나의 데이터베이스에 동일한 사실은 반드시 한번만 기록되어야합니다
- 업무규칙(Business Rules) : 데이터 모델링 과정을 통해 도출되는 수많은 업무규칙은 데이터 모델에 잘 표현되어야 하고, 해당 데이터 모델을 활용하는 모든 사용자가 공유할 수 있도록 제공돼야합니다
- 데이터 재사용(Data Reusability) : 데이터 재사용성을 높임으로써 시스템 유지보수 뿐 아니라, 신규 시스템을 구축하는 데 유리해야합니다
- 의사소통(Communication) : 데이터 모델링에서 나오는 최종 산출물, 업무 규칙들은 많은 관련자들이 동일한 의미로 받아들이고 활용할 수 있어야합니다
- 통합성(Integration) : 데이터 모델링을 진행하는 과정에서 동일한 성격의 데이터를 한 번만 정의함으로써 공유 데이터에 대한 구조를 여러 업무 영역에서 공동사용해야합니다
[데이터 모델링의 중요성]
- 파급효과(Leverage) : 데이터 모델링이 초기에 이루어지지 않는다면, 시스템 구현 및 테스트 과정 중 문제점이 나타날 수 있습니다
- 복잡한 정보 요구사항의 간결한 표현(Conciseness) : 정보 요구사항이 정확, 간결하게 표현돼야 관련 시스템을 구축하는 사람들이 쉽게 이해하고, 개발할 수 있습니다
- 데이터 품질(Data Quality) : 데이터는 기간이 늘어날수록 활용가치가 더 높아지면서 중요성이 높아집니다
[데이터 모델링 유의점]
- 중복(Duplication) : 데이터베이스가 여러 장소에 같은 정보를 저장하지 않아야합니다
- 비유연성(Inflexibility) : 데이터 모델을 어떻게 설계했느냐에 따라 사소한 변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 증가시킬 수 있습니다. 이때 작은 변화가 중대한 영향을 끼칠 가능성을 줄여야합니다
- 비일관성(Inconsistency) : 데이터 모델링을 할 때 데이터와 데이터간 상호 연관 관계에 대한 명확한 정의를 실시해 데이터의 일관성을 유지해야합니다
[데이터 모델링 단계]
- 개념적 데이터 모델링 : 추상화 수준이 높으며 업무 중심적이고 포괄적인 수준의 모델링을 진행합니다. 이 단계에 있어서 주요한 활동은 핵심 엔터티와 그들 간의 관계를 발견하고 ER 엔터티-관계 다이어그램을 생성합니다
- 논리적 데이터 모델링 : 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현하는 단계의 모델링입니다. 재사용성이 높은 특징을 가지며, 데이터 모델링 중 가장 핵심이되는 단계입니다 (정규화 진행)
- 물리적 데이터 모델링 : 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계하는 단계의 모델링입니다. 이 단계에서 테이블, 칼럼 등으로 표현되는 물리적인 저장구조와 사용될 저장 장치, 접근 방법 등을 결정합니다
/* =========================== */
[ER 다이어그램 예시]
/* =========================== */