프로그래밍에서 모델은 복잡한 것을 제외하고 필요한 부분을 개념화 단순화해 사람들이 이해하기 쉽게 표현한 것이다.
모델링은 이러한 모델을 만드는 과정이다. 또한 모델링은 추상화 과정이기도 하다.
우리는 이러한 모델링 과정을 왜 배워야 하는지 궁금할 것이다. 현실 세계의 문제를 프로그래밍하여 해결하고자 할 때 해당 문제를 컴퓨터에 이식해야 한다. 이러한 부분은 현실 세계로부터 컴퓨터 세계로의 모델링을 요구하게 된다.
데이터 모델링은 현실 세계를 데이터의 관점에서 현실 세계를 파악하여 개념적 모델로 표현하는 단계를 의미한다.
예시) ERD
프로세스 모델링이란 절차 혹은 흐름의 관점에서 현실 세계를 파악하여 개념적 모델로 표현하는 단계이다.
예시) 순서도
상관 모델링은 데이터 모델링과 프로세스 모델링이 완성되고 이 두 모델을 검토하여 서로 문제가 없는지 평가하는 단계이다.
상관 모델링 과정을 가지는 이유는 DB 설계 초기에 데이터 모델링과 프로세스 모델링으로 관점이 둘로 나누어진 두 모델을 검토하여 잘 맞물려 돌아가는지 확인하는 작업이 필요해서다.
논리적 DB 설계에서 물리적 DB 설계로 넘어가는 단계이다. 해당 단계에서는 논리적 DB에서 테이블, 뷰, 인덱스, 용량들을 설계하게 된다. 물리적 DB 설계의 산출물은 테이블 기술서이다.
물리적 DB 설계 후 나온 내용을 바탕으로 실제 DBMS에서 구현하는 단계이다. 구축한 데이터베이스를 기반으로 프로그램을 개발, 테스트하게 된다.
데이터베이스 내에 데이터가 쌓이는 과정이 지속되다 보면 응답 및 처리 속도가 저하된다. 데이터베이스 튜닝을 통하여 어느 수준에 성능을 유지하기 위해 필요하다.
시스템의 이용에 따라 사용자의 요구도 변화하고 환경도 변화한다. 프로그램도 이에 발맞춰 변화해야 하며 데이터베이스 또한 추가, 편집, 삭제의 과정이 발생한다. 이런 과정을 유지보수하고 하며 이런 유지보수를 줄이기 위해서는 설계단계의 신중하고 정확한 검토가 요구된다.