데이터 분석 및 모델링 절차
단계 | 단계 세부 내용 |
엔티티타입 정의 | 엔티티타입 정의 |
관계 정의 | 엔티티타입 관계 정의 |
식별자 정의 | 주식별자 정의, 보조 식별자 정의, 식별자 업무 규칙 정의 |
세부 사항 정의 | 속성 상세 정의, 정규화, 도메인 정의, 속성 규칙 정의 |
통합화 | 엔티티타입 통합 |
데이터 모델 검증 | 엔티티타입 검증, 관계 검증, 속성 검증, 도메인 검증 |
엔티티타입 정의 |
엔티티타입 선정
- 업무와 관련해서 설명한 업무 기술서를 이용
- 현업 담당자와의 인터뷰 활용
- 현업 장표 활용
- 기존 시스템 산출물
- DFD를 통해 업무 분석을 진행했다면, DFD의 DATA STORE 활용
- 업무를 직접 견학하고, 인터뷰와 업무 기술서에 누락된 정보가 있는지 검토
- 현재 업무에 나타나지 않았지만 BPR(Business Process Reengineering)에 의해 업무 재정의 관련 활용
산출물 : 엔티티 정의서
작성예시
엔티티 타입명 |
엔티티타입 설명 | 동의어/ 유사어 |
엔티티타입 구분 |
관련 속성 | 비고 |
고객 | 회사와 한번 이상 거래한 고객의 정보 | 기본 | 이름, 주소, 전화번호 | ||
상품 | 회사 내에서 생산되는 제품의 정보 | 제품목록 | 기본 | 품명, 가격, 재고량, 제조년월 | |
주문 | 고객이 신청한 신청서의 내용 정보 | 중심 | 주문목록, 주문자, 배송지 주소 | ||
주문목록 | 고객이 신청한 상품 내역 정보 | 주문제품 | 행위 | 주먼번호, 상품번호, 고객번호 |
엔티티타입 구분
엔티티타입구분 | 엔티티타입 정의 | 예시 (B2B 사이트 설계) |
기본 엔티티 (Base Entity) |
시스템의 기초 데이터를 구성하며, 비교적 변경이 적고 독립적으로 존재하는 엔티티입니다. |
고객(Customer), 공급업체(Supplier) 상품(Product) |
중심 엔티티 (Core Entity) |
주요 비즈니스 흐름에서 중심적인 역할을 하는 엔티티로, 기본 엔티티와 행위 엔티티를 연결하거나 조율하는 역할을 합니다. |
발주서(PurchaseOrder) 계약서(Contract) |
행위 엔티티 (Action Entity) |
시스템에서 발생하는 이벤트나 동작을 기록하거나 나타내는 엔티티입니다. |
발주 상세, 결제(Payment) 배송 이력(ShipmentHistory) |
관계 정의 |
어떻게 관계를 도출할 것인가?
- 업무기술서, 장표, 인터뷰 정리 문서 등에서 동사를 구분한다.
- 도출된 엔티티타입과 관계를 이용
- 고객에게 질문하여 관계를 좀더 세분화
- 모델링 툴, 칠판, 포스트잇을 이용하여 그려본다.
- 고객과 질문하고 협의하여 검토
식별자 정의 |
주식별자 정의
- 해당 업무에서 자주 이용되는 속성을 주식별자로 지정한다.
- 속성값의 길이가 가변적인 속성은 주식별자로 적당하지 않다.
- 속성값이 자주변하는 속성은 주식별자로서 적당하지 않다.
- 주식별자를 선텅하기 위한 속성의 수를 적게 한다.
- 주식별자 속성은 반드시 들어와야 한다.
보조 식별자 정의
- 주식별자가 존재하지만 일반 속성 중에서 다른 속성에 결정자 역하을 할 수 있고,
- 유일성을 가지고 있는 속성을 보조 식별자로 정의한다.
- DB Table에서 인덱스(Unique Index)로 지정되어 활용된다.
외부 식별자 정의 Foreign Identifier
- 다른 엔티티타입과의 관계를 통해 자식 쪽 엔티티타입에 생성되는 속성
- 식별자관계(Identifying Relationship), 비식별자관계(Non-Idenditying Relationship)
- 참조무결성(Referencial Integrity) 규칙
속성 정의 |
- 각각의 속성은 반드시 하나의 엔티티타입에 속해 있어야 하고,
- 전체 데이터 모델에서 하나의 의미만 가지고 있어야 한다.
- 용어사전에 따른 속성명 지정
- 도메인 정의서에 따른 속성의 도메인 지정
도메인 정의 |
- 속성에 대한 데이터타입과 크기, 제약 사항을 지정하는 것
용어사전 정의 |
- 데이터의 논리적인 이름과 물리적인 이름을 정의
4-STEP 데이터 모델링 |
STEP | STEP 내용 | 세부내용 |
1-STEP | 업무 구조 모델링 | 업무의 구조(Architecture)에서 엔티티, 속성을 도출 |
2-STEP | 업무 흐름 모델링 | 업무가 진행됨에 따라 발생하는 엔티티, 속성, 관계를 도출 |
3-STEP | 모델의 기술적 접근에 의한 모델링 | M:N 관계 해소, 슈퍼타입-서브타입 세분화 또는 통합 |
4-STEP | 모델 검토 및 정제를 통한 모델링 | 적절하게 구성되었는지 검증 |