데이터 모델링 접근방식
현행 분석 및 방향성 수립. (As-is에서 To-be로 가는 과정) 현행 분석: 현행 업무 분석과 현행 데이터 분석을 포함, 업무를 파악하고 문제 시 개선방안을 도출. 현행 데이터 분석 : 현행 ERD, 테이블 정의서 등의 산출물 수집, 분석, 성능 이슈를 중심으로 자료분석. 요구사항 정의 : 요구사항을 수집하고 상세화하는 과정.
현행 분석과 요구사항 정의를 통해 설계 방향을 수립(방향성 수립) 프로젝트 초기에는 인터뷰로, 모델링 단계에서는 리버스 모델(역설계, 테이블을 읽어서 ERD 설계)을 쓰는 것이 효율적이다.
현명한 데이터 모델링 진행 방법
리버스 모델 활용 : ERD X, 현행화 이루어지지 않았을 때 속성을 도출하고 관계를 식별하여 ERD를 작성하는 것. 리버스 모델링 == 데이터모델 현행화 과정. //ERD가 없는 경우는 생각보다 많음.
개념 모델링 : 데이터 분석 과정에서 수립한 방향성에 맞게 전체적인 관점에서 개략적인 데이터 모델을 제시하는 단계. : 개념 모델링은 단순히 말해서 업무를 분석해서 파악하고 이해하는 과정이다.
과정(Top-down) 주제영역(업무 영역) 도출 주제영역 분류 및 정의 핵심 엔티티 정의 및 관계 정의
주제영역 : 데이터를 일관된 기준으로 최상위 단계에서 분류한 데이터 집합. 독립적, 상호연관적, 타 주제와 분리. → 업무 환경 변화에 따른 데이터 영향을 최소화할 수 있는 바탕을 제공.
업무 관점 시스템 관점 데이터 관리 차원 데이터 설계 관점
주제영역도출 홈페이지 메뉴에 나타나는 것들 등으로 주제영역후보 배출 하향식 : 상위계층을 중심으로 세분화 해 나감. 상향식 : 엔티티를 분류하고 그룹핑.
주제영역분류 일정한 기준을 정해서 데이터를 분류하고 통합하는 과정이다.
데이터 관점의 주제영역 분류다. 주제영역 프레임워크를 사용했다.
수평적으로 데이터 범위를 수직적으로 계층을 나눈다.
범위를 나눌 때 주제영역의 의미가 명확하고, 중복이나 누락이 없어야 한다.(MECE)
주제영역 정의 : 주제영역을 설명하고 범위와 영역을 명확히 하는 과정. *무조건 데이터만 강조하면 의견이 일치하기 어렵다. (현업을 업무중심으로 이야기한다.)
데이터 관점에서만 바라보지 않고 업무중심인 현업과 의견을 조정한다.
주제영역 정의시 어려운 점.
핵심 엔티티 식별
모든 데이터 주제영역은 하나 이상의 핵심 엔티티가 있어야 한다. ****주제영역을 대표하는 핵심 엔티티가 없다면 타 주제영역과 통합 필요가 있는지 검토한다. 데이터 구조와 관계 전반을 파악할 수 있을 만큼 도출한다. 주제 영역 간에 핵심 엔티티 개수가 크게 차이 나지 않게 한다.
식별자 및 속성 정의
식별자와 주요 속성은 식별하여 데이터 집합을 명확히 한다. 최소 PK는 나오게 하자.
마무리
개념 모델링은 의사결정을 하는 사람들이 전반적인 데이터를 파악하기 위해 하는 것이다.
상대방에게 개념을 쉽게 설명하기 위해서니까 유연함이 필요하다.
직관적 형태 , M:N 관계도 이해를 위해서라면 오케이다.