관계형 데이터 모델링 프리미엄 가이드 Chapter 3.1 개념 모델에 대해서 정리한 글입니다.
개념 모델(주제 영역 모델, 비즈니스 모델)
중요한 데이터를 가장 간단하게 표현하는것이 개념 모델의 목적이며 ERD를 사용할 수도 있고 UML을 사용할 수도 있다.
개념 모델은 해당 주제 영역에 존재하는 핵심적인 중요 엔터티와 그 엔터티의 주요 속성이 도출된 모델이다. 즉 핵심적인 엔터티와 그 엔터티 사이의 관계를 도출한 것이다.
- 기업에 따라서 크게 다르지 않은 일반적인 모델이다.
- 어떠한 DBMS를 사용하더라도 개념 모델은 달라 지지 않는다.
- 데이터를 기점으로 구축 될 모든 시스템의 뼈대를 모델링한 것이다.(논리, 물리 모델링 과정을 거치면서 변하지 않을 뼈대를 만들어야 한다.)
- 개념모델이 견고하면 모두가 편해진다. 반면 그렇지 못한경우 대 참사가 발생한다.
- 개념모델은 논리모델로 연결된다. 즉, 개념모델에서 표현된 엔터티는 논리, 물리 모델에도 그대로의 구조로 존재해야 한다.
- 따라서 핵심적인 역할을하는 엔터티가 개념모델에는 없고 논리 모델에 바로 생겨서도 안 된다.
- 오롯이 데이터만을 대상으로 표현한다. 데이터가 아닌 이해를 돕기위한 추상적인 표현 등은 오히려 의사소통의 혼선을 야기한다.
- 개념 모델을 구축하기 위해서는 당사자 사이의 의사소통이 중요하다.(구체적이고 명확한)
- 개념 모델링이 완벽히 되지 않고 진행되는 논리 모델링은 매우 위함하며 대체적으로 무의미 하다.
- 표현이 간결하여 이해하기 쉬운 모델로서 의사소통을 성공적으로 돕는 도구가 된다.
- 개념 모델은 주제 영역(Subject Area)과 함께 데이터 아키텍처의 핵심이 된다.
- 이상적인 개념모델링은 주제 영역 별로 수행된다.
- 하지만, 현실적으로는 업무 영역 별로 수행되어지는 경우가 많다.(이미 존재하는 거대한 레거시 데이터를 버릴 수 없기에...ㅜㅜ)
개념 모델링의 주요 태스크
아래 태스크들은 순서를 의미하는 것이 아니다. 개념 모델링을 위해 필요한 작업의 종류가 정도로 이해하면 좋겠다.
1. 요구 분석
데이터 모델링을 수행하기 위한 데이터 관점에서의 요구 사항을 분석하는 태스크이다. 일반적으로 인터뷰하면서 모델링을 수행하는 중에 데이터의 요구사항이 도출된다.
요구 사항 분석을 먼저 수행하고 개념 모델링을 하는것은 매우 비효율 적이다. 최대한 현 상황을 잘 아는 담당자와의 인터뷰를 통해 개념모델링을 수행하며 구축되어지는 개념 모델을 인터뷰에 활용하여 현행에 맞으면서 요구사항 누락이 없는 개념 모델링이 행해져야 한다.
2. 중요 엔터티 선별
사실상 개념모델링의 첫 번째 태스크이다. 핵심적인 엔터티를 선별한다. 너무 많은 엔터티를 대상으로 개념 모델링을 수행하면 복잡성에 빠져 개념 파악이 어렵게 된다. 즉 너무 세부적이면서 잡다한 엔터티가 모함된 개념 모델링은 바람직하지 못하다. 따라서 개념 모델링은 논리 모델리의 30% 정도의 기간에 수행된다.
3. 엔터티 정의
핵심 엔터티가 선별 됐으면 해당 엔터티를 분석하면서 정의를 명확하게 해야 한다. 엔터티가 어떠한 데이터로 구성되었으며 그 데이터를 묘사하는 요소들은 무엇이고, 그 요소 중에 결정자 역할을 하는 속성은 무엇인지 등을 선언하는 것을 의미한다. 쉽게 말하면 엔터티의 속성을 결정하고 속성들 중 결정자를 선정하는 태스크라고 볼 수 있다. 엔터티 정의의 가장 커다란 원칙은 데이터의 성격(정체성)에 맞도록 규명해야 한다는 것이다.
4. 식별자 정의
위에서 간략하게 언급했다. 엔터티 정의의 부분 집합이다. 엔터티와 식별자는 한 몸과 같다. 엔터티에서 결정자(Determinant)의 역할을 하는 속성이 식별자인데 결정자를 모르고 엔터티를 안다는 것은 모순에 가깝다. 개념 모델의 중요한 역할이 상호 의사소통을 돕는 것이므로 식별자와 2~3개의 중요 속성은 표현하는 것이 모델을 이해하는 데 도움이 된다.
5. 엔터티 통합
유사한 성격의 데이터를 일반화(Generalization) 시키는 것이다. 데이터는 기본적으로 주제 영역이라는 바운더리 내에 존재한다. 즉 특정 속성의 데이터는 특정 주제 영역에 속해야 된다. 주제 영역 별로 개념 모델을 도출하면 엔터티는 통합된 모습이어야 할 것이다. 하지만 주제영역을 잘못 도출하거나 엔터티를 잘못 할당하면 유사한 데이터가 2~3군데 주제 영역에 존재할 수 있다. 다른 주제 영역에 있는 엔터티들이 통합될 때 통합된 엔터티가 속하게 되는 주제 영역이 어디인지를 결정해야 한다. 이를 모델 오너십(Model Ownership)이라 한다.
6. 엔터티 간 관계 도출
핵심 엔터티간의 관계는 논리, 물리 모델에서도 불변이어야 하므로 개념 모델링 단계에서 명확하게 규명해야 한다. 관계는 참조 무결성(Referential Integrity) 제약과 연관되므로 데이터 무결성 차원에서 대단히 중요한 요소이다.
다음글: https://godls036.tistory.com/31 - 데이터모델링 논리 모델
'관게형 DB' 카테고리의 다른 글
SQL 공유 및 재사용 (0) | 2024.05.27 |
---|---|
SQL이란? 및 SQL 처리 과정 (0) | 2024.05.24 |
데이터 모델링 - 논리 모델 (0) | 2024.01.18 |