애플리케이션 화면과 RDB의 테이블은 다르다
- 데이터 모델링에 대한 이해와 경험이 부족한 사람들은 GUI 화면과 테이블을 거의 1:1로 인식하거나 데이터를 조회할 경우 테이블 조인을 직관적인 한가지만 보고 조인할 경우 다른 어떠한 경우에는 원하는 데이터가 나오지 않는 경우가 있다
이렇듯 화면에 구성되어있는 주문서 한장에도 체계적으로 조직화된 하나의 집합체로 구성되어있다
즉, 데이터 모델링은 최종 사용자에게 보이는 하나의 집하체에서 데이터의 구조적인 부분을 분리하는 작업이다
아주 기초적인 질문이지만 하나의 화면에 포함된 데이터들을 여러 테이블, 여러 행으로 분리하는 이유는 무엇일까??
그 이유는 데이터 관리(저장, 수정, 조회등)에 유리하기 때문이다.
중요한 점은 각 부분을 왜 분리해야하는지 그 이유를 정확하게 알고 있어야한다
- 데이터 구조로서의 분리해야 하는 이유
- 테이블을 분리하는 기준과 규칙등 방법론
위와 같은 이유를 알고 분석하려면 데이터를 이해하고 업무 데이터를 어떻게 읽고 분석해야하는지가 가장 중요하다
아래와 같은 사례로 중요한 점을 생각하며 살펴보자
설문 데이터 모델링, 데이터 본질을 읽어 모델링하다
- 정보 시스템으로 관리하려면 데이터 성격과 주제 유사함을 중심으로 구조화해야 한다.
- 즉, 데이터의 유형을 기준으로 관련된것을 묶어내는 과정이 필요하다
- 이를 위해서는 데이터를 이해하는 것이 무엇보다 중요하다
- <회원>, <회원설문참여>, <설문응답>, <설문지>, <설문질문>, <설문보기> 릴레이션이 존재한다고 가정한다.
- A라는 설문의 어떤 질문과 B 설문의 동일 질문을 별개로 인식하고 관리할 것인가?
- 회사는 업무 특성상 설문을 자주하며, 일반적인 설문을 DB화해서 만들어진 질문과 보기를 패턴화할 것인가?
- 보기는 질문에 종속되지 않고, 질문은 설문지에 종속되지 않은 독립개체로 정의하고 관리할 것인가?
- 독립개체로 정의해서 릴레이션을 개별적으로 정의해야한다 <설문지질문구성>과 <설문지질문보기구성>이 된다
- 좌에서 우로 변경된 릴레이션을 확인할 수 있다.
위와 같이 생각을 하고 아래와 같이 테이블을 생성했다면
질문과 보기를 주변 맥락에서 분리하여 독릭된 객체로 관리해야한다면 다시 모델링을 해야한다
패턴화를 필요로 하며 그럴려면 설문질문에서 여러 질문을 조합하고 보기를 구성하여 하나의 설문지를 만들어내는 것까지
테이블 구성이 필요하기때문이다
아래와 같이 변경이 가능하다
위의 사례로 중요한 것은 업무요건을 보면 데이터가 보여야하고, 업무에서 흘러 다니는 데이터의 성격과 고유한 근본 성질을 이해할 수 있어야한다. 그래서 현장에서도 업무파악이 무엇보다 중요하다 데이터를 조합은 업무파악에서 시작이다
올바른 데이터 모델링을 위한 기본기
- 데이터 근본 성격 파악 -> 데이터 집합과 개체 식별
- 데이터 종속성 분리 -> 데이터의 독립성 확인과 모델 골격조망
업무를 데이터 중심으로 바라볼 수 있는 시선을 소개하며 데이터 모델링을 위해 데이터를 이해한다는것이 무엇인지 업무적으로 어떻게 관리되고 혹은 어떻게 관리되어있는지를 명확하게 해야한다
프로젝트 성패를 결정짓는 데이터 모델링 이야기/ 김상래저
'Data_Modeling > Methodology' 카테고리의 다른 글
데이터 모델링 정규화 이론이 너무나도 중요한 이유는? (0) | 2022.08.22 |
---|---|
데이터 모델링의 중요한 마음가짐이란 무엇일까? (0) | 2022.08.16 |
데이터 모델링의 기본적인 스키마 구조, 모델을 보는 3가지 관점이 왜 중요한걸까? (0) | 2022.08.14 |
데이터 모델링 개제의 본질적인 정보와 역할 정보를 구분해야하는 이유는? 범주화와 추상화의 중요성은? (0) | 2022.08.12 |
데이터의 관점을 제대로 이해해야 하는 이유는? 디멘션 모델링? (0) | 2022.08.04 |