요구사항 수집 및 분석
사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정하는 단계
설계
개념적 설계
분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별(중요 개념의 구분)
논리적 설계
사용하는 DBMS의 종류에 맞게 변환(개념의 구체화)
물리적 설계
데이터베이스 생성 계획에 따라 데이터베이스 스키마, 개체, 인덱스 등을 생성한다
구현
설계 단계에서 생성한 스키마를 실제 DBMS에 적용하여 테이블 및 관련 객체(뷰, 인덱스 등)를 만든다.
운영
구현된 데이터베이스를 기반으로 소프트웨어를 구축하여 서비스를 제공한다
감시 및 개선
데이터베이스 운영에 따른 시스템의 문제를 관찰하고 데이터베이스 자체의 문제점을 파악하여 개선한다
(데이터베이스가 지속적으로 운영될 수 있도록 변경 및 유지 보수를 한다)
데이터 모델링 과정은 데이터베이스 생명주기의 '요구사항 수집 및 분석'~'설계'까지의 과정을 말한다.
실제 문서를 수집하고 분석한다
담당자와의 인터뷰나 설문조사를 통해 요구사항을 직접 수렴한다
비슷한 업무를 처리하는 기존의 데이터베이스를 분석한다
각 업무와 연관된 모든 부문을 살펴본다
'요구사항 수집 및 분석'단계의 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정
(= entity(개체)를 추출하고 각 개체들 간의 관계를 정의하여 ER다이어그램을 만드는 과정)
설계자는 사용자의 요구사항을 분석하여 가장 핵심적인 개체와 개별 개체를 식별할 수 있는 속성(PK), 그리고 각 개체 간의 관계를 정의하여 데이터베이스화 할 수 있는 일반적인 개념으로 표현한다.
ER다이어그램을 너무 구체적으로 작성하느라 모든 속성을 포함하면 오히려 복잡성이 증가하여 사용자들이 알아보기 어렵고 핵심을 놓칠 수도 있다.
ER다이어그램을 DBMS에 맞게 매핑(사상)하여 실제 데이터베이스로 구현하기 위한 모델을 만드는 과정이다
개념적 모델링에서 추출하지 않았던 상세 속성들을 모두 추출한다
개념적 모델링에서 핵심적인 속성만 추출한 것과는 달리, 논리적 모델링에서는 실제 필요한 모든 속성을 추출한다
정규화를 수행한다
여러 개체들이 데이터를 중복 저장하는 문제를 해결하기 위해 정규화를 수행한다
데이터의 표준화를 수행한다
데이터 용어 사전과 도메인을 정의하여 동일하게 사용되는 용어를 정리하고 데이터의 형태 및 크기 등을 확정한다
작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정
DBMS의 특성에 맞게 저장 구조를 정의해야 데이터베이스가 최적의 성능을 낼 수 있다
물리적 모델링을 할 때 트랜잭션, 저장 공간 설계 측면에서 고려할 사항들
응답시간을 최소화해야 한다
응답시간 : 트랜잭션이 시작되어 종료될 때까지 걸리는 시간
얼마나 많은 트랜잭션을 동시에 발생시킬 수 있는지 검토해야 한다
트랜잭션을 효율적으로 분산시킬 수 있는 전략이 필요하다
데이터가 저장될 공간을 효율적으로 배치해야 한다
DBMS에 따라 다양한 저장 방법이 있으므로 저장될 데이터의 특성을 파악하여 저장 방법을 결정한다
데이터의 사용 형태에 따라 검색을 위한 인덱스를 설계하여 최적의 성능을 낼 수 있도록 한다