[DB] Data Modeling
Data Modeling
Data Modeling의 개념
Database 생명주기(Life Cycle)
- 요구사항 수집 및 분석
- 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정한다.
- 설계
- 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고(개념적 설계) 사용하는 DBMS의 종류에 맞게 변환(논리적 설계)한 후, 데이터베이스 스키마를 도출(물리적 설계)한다.
- 개념적 모델링을 하여 ER다이어그램을 도출하고 이를 이용하여 관계 스키마 모델을 도출하고 이를 물리적 모델링하여 관계 스키마를 도출
- 구현
- 설계 단계에서 생성한 스키마를 실제 DBMS에 적용하여 테이블 및 관련 객체(뷰 or 인덱스)를 만든다.
- 운영
- 구현된 데이터베이스를 기반으로 소프트웨어를 구축하여 서비스를 제공
- 감시 및 개선
- 데이터베이스 자체의 문제점을 파악하여 개선
개념적 모델링
-
요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정
-
개체와 개체들 간의 관계에서 ER다이어그램을 만드는 과정
-
개체(Entity)를 추출하고 개체들 간의 관계를 정의하여 ER다이어그램을 만드는 과정
논리적 모델링
-
개념적 모델링에서 만든 ER 다이어그램을 사용하려는 DBMS에 맞게 사상(Mapping)하여 실제 데이터베이스로 구현하기 위한 관계 스키마 모델을 만드는 과정
-
상세속성 추출, 정규화 수행, 데이터 표준화 수행이 있다.
-
보통 개념적, 논리적 모델링을 합쳐서 데이터 모델링이라는 용어로 통칭한다.
물리적 모델링
-
작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정
-
물리적 모델링을 하는 경우에 트랜잭션, 저장공간 설계의 측면에서 3가지를 고려해주어야 하는데, 응답시간을 최소화해야하고, 동시에 많은 트랜잭션을 발생시킬 수 있어야 하며, 데이터가 저장될 공간을 효율적으로 배치해야한다.