데이터베이스 모델링 (1) 데이터베이스 모델링의 개념과 모델링 단계
데이터베이스 모델링

데이터베이스 모델링의 개념과 정의
현실 세계의 정보의 일부를 사용하여 프로그램을 만들기 위해 데이터베이스를 구축해야 하는 상황을 생각해보자. 무엇이 필요할까?
먼저 어떠한 프로그램을 만들 것이고, 그 프로그램에는 어떠한 데이터가 필요할지 살펴봐야 할 것이다. 그리고 그 데이터는 현실 세계의 어떠한 정보로부터 추출할 수 있는지, 혹은 어떠한 두 개 이상의 정보를 조합해 만들 수 있는지 등을 살펴봐야 한다. 그 다음에는 이러한 데이터들을 어떻게 저장해야 하는지에 대한 고민이 필요할 것이다.
데이터베이스 모델링이란 이처럼 현실 세계의 정보를 데이터베이스로 구축하기 위해 선행하는 정보의 추상화 과정이라고 할 수 있다. 이러한 데이터 베이스 모델링은 (1) 어떤 데이터를 저장해야 하는가 라는 비즈니스 관점의 고민과 (2) 어떻게 데이터를 저장할 것인가 라는 프로그래밍적 관점의 고민을 통해 진행된다.
좀 더 데이터의 관점에서 보면 데이터베이스 모델링이란 데이터의 의미를 파악하고 데이터와 관여된 업무 프로세스를 개념적으로 정의하고 분석하는 작업 이라고도 할 수 있다.
데이터 모델링의 개념과 정의
데이터 모델링이란 데이터에 대한 요구사항을 정의하고 분석하여 추상화하는 과정을 뜻한다. 얼핏 보면 데이터베이스 모델링과 비슷한 의미로 보인다. 그 차이점을 명확하게 보여주는 설명으로는 실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정 이라고 할 수 있다.
참조한 서적 기준으로는 데이터베이스 모델링이 좀 더 큰 개념이고, 데이터 모델링은 그 안을 이루는 세부 단계들로 사용되고 있다.
데이터베이스 모델링의 단계
데이터베이스 모델링의 단계는 크게 아래의 네 단계로 이루어진다.
| 순서 | 단계 | 설명 | 대표적인 방법 | 산출물 |
|---|---|---|---|---|
| 1 | 사용자 요구사항 분석 | - 사용자나 비즈니스 프로세스, 조직의 필요를 파악- 데이터베이스가 해결해야 할 문제나 제공할 데이터나 기능을 정의 |
- 인터뷰, 설문조사 - 기존 시스템 분석 |
- 요구사항 명세서 - 요구사항 정의서 |
| 2 | 개념적 데이터 모델링 | - 사용자의 요구사항을 바탕으로 비즈니스 관점에서 데이터 구조와 관계를 정의 - 실세계 데이터를 개념적으로 일반화시키는 단계 - 이를 통해 데이터 구조, 타입, 속성, 관계, 제약조건 등을 이끌어내는 과정 - 즉, 데이터베이스의 구조적 청사진을 그리는 단계 |
ER 모델링 | ER 모델 |
| 3 | 논리적 데이터 모델링 | - 개념적 모델을 기반으로 논리적 데이터 구조를 설계하는 단계- 특정 DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정 |
관계형 모델 | - 테이블, 속성, 키, 관계 등 - DDL로 기술된 논리 스키마(불완전) |
| 4 | 물리적 데이터 모델링 | - 논리적 모델을 기반으로 데이터베이스 파일의 내부 저장 구조를 설계하는 단계- 논리적 모델을 특정 DBMS에 맞게 변환하고 최적화 - DBMS의 전체적인 성능에 영향을 미치게 된다. - DBMS와 하드웨어의 특징 고려해 처리능력 향상시켜야 함 |
- | - 실제 데이터베이스 스키마 - 인덱스, 저장소 설계 - 완전한 DDL 문 |

댓글 남기기