데이터 모델링

데이터 모델링의 개요

데이터 모델링의 정의

현실세계의 업무를 추상화하여 데이터베이스의 논리적 데이터 모델을 구성하는 작업

데이터 모델링의 절차

  1. 요구사항 분석: 요구사항 정의서
  2. 개념 모델링: ERD
  3. 논리 모델링: Table, 응용개발 지침서
  4. 물리 모델링: 성능 최적화

데이터 모델링의 4단계

요구사항 분석 단계

구분 설명
정의 조직의 업무 및 기능의 수행을 위한 데이터 요구분석
절차 요구사항 도출, 구축대상, 프로젝트 목표, 범위를 기준으로 조사범위를 결정
업무관계자 인터뷰, 외부자료 수집 및 분석
요구사항 분석 도출된 요구사항의 명확성, 완전성, 모호성 검증
불완전 부분이 존재할 경우 요구사항 도출단계 재수행
요구사항 기록 요구사항 목록 정리 및 관리자 승인, 문서화
프로젝트 종료 때까지 반영 여부 지속적 관리
산출물 요구사항 명세서

개념 모델링 단계

구분 설명
정의 조직 전체 정보의 요구사항 표현, 상위 수준의 모델
주제영역과 핵심 데이터의 집합, 핵심 데이터의 상위수준의 객관적인 전개에 대한 설계
절차 주제영역 도출 - 핵심 데이터 집합 도출 - 관계설정/핵심속성도출/식별자도출, 검증 및 조정 작업
핵심 ER/ERR 모델, 추상적인 개념 모델링은 상위의 문제에 대한 구조화를 쉽게 할 수 있도록 함

논리 모델링 단계

구분 설명
정의 업무 요건을 명확히 하는 상세한 모델
Entity Type을 도출하고, 관계, 식별자 등 상세 설계 작업
절차 속성 상세화, Entity 속성의 검증 및 확정
속성이 가질 수 있는 도메인 값에 대한 나열
개체 상세화 식별자 확정: 기본키, 대체키, 외부키 확정
정규화: 이상현상 해결 (1~5차 정규화, BCNF)
M:N 관계 해소 (1:N)
무결성 규칙 정의: 개체 무결성, 참조 무결성
핵심 정규화, 관계 모델

물리 모델링 단계

구분 설명
정의 DBMS의 특성을 고려하여 논리 모델링을 시스템화 하는 단계
절차 환경분석, DBMS의 종류와 버전, 운영체계에 대한 분석
논리-물리 모델변환 논리 영역과 물리 영역을 보는 시각이 다르므로 논리 모델을 물리 모델로 변환해야 함
반정규화 시스템 성능 향상, 개발과 운영 단순화를 위해 데이터 모델 통합 (Entity 타입->속성->관계)
핵심 반정규화, 성능

데이터 모델링의 고려사항

  1. 데이터 거버넌스를 기반으로 데이터 표준화를 반영한 모델링 작업 수행
  2. 성능, 데이터 품질, 관리의 용이성 등을 고려하여 모델링 수행
  3. 도메인 전문가의 적극적인 참여를 유도하여 모델의 현실성과 적용성 확보