데이터 모델링
데이터 모델링의 개요
데이터 모델링의 정의
현실세계의 업무를 추상화하여 데이터베이스의 논리적 데이터 모델을 구성하는 작업
데이터 모델링의 절차
- 요구사항 분석: 요구사항 정의서
- 개념 모델링: ERD
- 논리 모델링: Table, 응용개발 지침서
- 물리 모델링: 성능 최적화
데이터 모델링의 4단계
요구사항 분석 단계
구분 | 설명 |
---|---|
정의 | 조직의 업무 및 기능의 수행을 위한 데이터 요구분석 |
절차 | 요구사항 도출, 구축대상, 프로젝트 목표, 범위를 기준으로 조사범위를 결정 업무관계자 인터뷰, 외부자료 수집 및 분석 |
요구사항 분석 | 도출된 요구사항의 명확성, 완전성, 모호성 검증 불완전 부분이 존재할 경우 요구사항 도출단계 재수행 |
요구사항 기록 | 요구사항 목록 정리 및 관리자 승인, 문서화 프로젝트 종료 때까지 반영 여부 지속적 관리 |
산출물 | 요구사항 명세서 |
개념 모델링 단계
구분 | 설명 |
---|---|
정의 | 조직 전체 정보의 요구사항 표현, 상위 수준의 모델 주제영역과 핵심 데이터의 집합, 핵심 데이터의 상위수준의 객관적인 전개에 대한 설계 |
절차 | 주제영역 도출 - 핵심 데이터 집합 도출 - 관계설정/핵심속성도출/식별자도출, 검증 및 조정 작업 |
핵심 | ER/ERR 모델, 추상적인 개념 모델링은 상위의 문제에 대한 구조화를 쉽게 할 수 있도록 함 |
논리 모델링 단계
구분 | 설명 |
---|---|
정의 | 업무 요건을 명확히 하는 상세한 모델 Entity Type을 도출하고, 관계, 식별자 등 상세 설계 작업 |
절차 | 속성 상세화, Entity 속성의 검증 및 확정 속성이 가질 수 있는 도메인 값에 대한 나열 |
개체 상세화 | 식별자 확정: 기본키, 대체키, 외부키 확정 정규화: 이상현상 해결 (1~5차 정규화, BCNF) M:N 관계 해소 (1:N) 무결성 규칙 정의: 개체 무결성, 참조 무결성 |
핵심 | 정규화, 관계 모델 |
물리 모델링 단계
구분 | 설명 |
---|---|
정의 | DBMS의 특성을 고려하여 논리 모델링을 시스템화 하는 단계 |
절차 | 환경분석, DBMS의 종류와 버전, 운영체계에 대한 분석 |
논리-물리 모델변환 | 논리 영역과 물리 영역을 보는 시각이 다르므로 논리 모델을 물리 모델로 변환해야 함 |
반정규화 | 시스템 성능 향상, 개발과 운영 단순화를 위해 데이터 모델 통합 (Entity 타입->속성->관계) |
핵심 | 반정규화, 성능 |
데이터 모델링의 고려사항
- 데이터 거버넌스를 기반으로 데이터 표준화를 반영한 모델링 작업 수행
- 성능, 데이터 품질, 관리의 용이성 등을 고려하여 모델링 수행
- 도메인 전문가의 적극적인 참여를 유도하여 모델의 현실성과 적용성 확보