-
데이터 모델링4 - 데이터 관점에서 모델링Data Base/관계형 데이터 모델링 2023. 9. 8. 15:57
디멘션 모델링, 데이터의 관점에서 모델링하다
표 4-1 다양한 관점에서 본 상품 판매량
2021년 지역 중분류 지역 소분류 상품 유형A 상품 유형B 상품 번호A0 상품 번호A1 상품번호 B0 상품 번호B1 강원도 춘천시 3 4 1 2 원주시 43 5 6 87 ... ... ... ... ... 경기도 ... ... ... ... ... ... ... ... ... ... ... 위 표는 한 회사의 상품 판매량 집계 결과이다. 표와 같이 판매데이터를 관리하려 하면 데이터 모델링을 어떻게 해야 할까? 표를 유심히 관찰해보면 각 셀의 값을 결정하는데 지역,상품, 기간(년도)이라는 3가지 정보가 영향을 주었음을 확인할 수 있다. 판매량을 집계하는 기준이 존재하는 것이다. 예를 들어 위 표 87이라는 값은 상품 B1이 강원도 원주시에서 2021년 한 해 동안 87개 판매되었다는 사실을 나타낸다. 다시 말해 표의 87은 강원도 원주시라는 지역, B 라는 상품유형에 속한 B1이라는 상품 이름 그리고 2014라는 기간 이 세가지 관점(디멘션:dimension)이 결합된 값이다.
87이라는 값이 정보로서 비즈니스적인 가치를 가지려면 그 값을 해석하는 맥락(context)이 명확해야한다. 87이 어떤 상황에서는 경기도 수원시에서 2013년에 발생한 상품 B1의 반품량을 의미할 수도 있다. 따라서 데이터 모델링에서 맥락은 중요한 기준 정보로서 모델의 구조를 지배하게된다. 더불어 지역과 상품은 그룹핑 구조를 가지고 있다. 표에서 지역 중분류와 지역 소분류, 상품 유형과 상품 번호가 이에 해당한다.
그림 4-1 상품 판매량 표의 개념적 표현
위 그림은 판매량이라는 팩트(사실 값)와 이 값을 정의하는데 필요한 3가지 방식 즉 디멘션(차원) X,Y,Z의 좌표로 모형화되었다. 이 팩트를 만들기 위해서 디멘션은 얼마든지 추가될 수 있으며, 각 디멘션은 팩트를 표현하는 하나의 과점이 된다. 이처럼 디멘션은 팩트의 범위를 좁혀 그룹화 하거나 한정화(필터링)하는 목적으로 사용될 수 있다.
일반적으로 디멘션 혹은 그룹핑을 위한 논리적인 계층구조는 1:N 형태로 엔티티간의 부모-자식 관계를 만든다. 팩트를 규정하는 개별 디멘션은 각각 테이블로 만들어 져 팩트 테이블의 상위 테이블이 되어야 하며, 디멘션 내의 계층 구조를 표현하려면 각 디멘션은 다시 상・하위 테이블로 분리되어야 한다.
그림 [4-2] 상품 판매량 데이터의 디멘션과 그 계층구조
그림 4-3 상품 판매량 팩트 테이블들의 관계
그림 4-4상품 판매량 ERD
팩트 테이블인 <판매>는 각 디멘션 테이블의 기본키(PK)를 외래키(FK)로 하여 서로 관계로 연결된 하위 테이블로 만들어진다. [그림4-2]에서 [그림 4-4]는 지금까지의 설명을 토대로 그림 개념도, 데이터 사례 테이블, ERD이다.
디멘션은 팩트를 결정하는 기준 정보로서의 부모역할을 하게된다. 어떤 팩트를 결정하는 유형과 개념은 반드시 해당 팩트의 상위로 올라가야 하는것을 이해하는 것이 중요하다.
'기간별', '지역별', '상품별' 판매량에서 '~별'에 해당하는 디멘션은 데이터를 해당 디멘션을 통해 한정하는 동시에 구조화 할수 있는 힌트를 제공한다. 또 한 지역 중분류, 지역 소분류와 같은 그루핑 구조는 유형화를 위한 데이터 계층 조직화에 대한 실마리를 제공한다. 정리하자면 데이터를 모델링화 한다는 것은 데이터를 이해하고 유형화하고 구조화하는 과정이다.
출처 - 프로젝트의 성패를 결정짓는 데이터 모델링 이야기 , 김상래 저
'Data Base > 관계형 데이터 모델링' 카테고리의 다른 글
데이터 모델링6 - 엔티티의 본질 (0) 2023.09.18 데이터 모델링5 - 데이터 모델링의 목표(OLTP,OLAP) (0) 2023.09.15 데이터 모델링3- 데이터 저장 구조 (0) 2023.09.08 데이터 모델링2 - 데이터 이해하기 (1) 2023.09.06 데이터 모델링1 - 데이터 모델링과 일상의 예시 (0) 2023.09.06