제 1장에서는 데이터 모델링을 왜, 어떤 절차로 해야 하는가, 그리고 데이터 모델의 종류에는 어떠한 것들이 있는지 설명한다. 이들은 제 2부의 사례 실습에 적용해 볼 것이다.
제 2장 모델의 기본 문법
데이터 모델에는 다양한 표기법이 있다. 제 2장에서는 이 책에서 사용하는 IDEF1X라는 표기법을 이용하여 기본적인 문법을 설명한다. 데이터 모델도 하나의 언어이며 문법을 지켜 표현하면 누가 작성하더라도 같은 내용을 전달할 수 있다는 것을 설명한다.
제 3장 데이터 모델을 보완하는 모델
아무리 데이터 모델이 중요하더라도 업무의 실체나 시스템을 모두 표현할 수는 없다. 그래서 데이터 모델에서 표현할 수 없는 것은 무엇인가, 그리고 그것을 보완하여 표현할 수 있는 모델은 무엇인가에 대해 설명한다. 또, 객체지향 설계의 표준이 된 UML과 비교해 본다.
제 4장 엔티티 잘라내는 법
인터넷 서점 (DBMe서점)의 업무를 예로 들어, 엔티티를 추출하고 엔티티 간의 관계를 설정하여 모델을 작성한다. 엔티티는 크게 리소스 엔티티와 이벤트 엔티티로 나뉜다는 것을 설명하고, 각각의 엔티티를 추출하기 위한 테크닉과 모델링 과정을 설명한다.
제 5장 하향식에서 PK와 주요속성 정의
하향식으로 잘라낸 엔티티 레벨의 모델에 키 항목이나 주요 속성을 부가하여 모델을 보강한다. 속성을 부가함으로써 엔티티의 추가나 관계의 수정이 발생한다. 모델을 알기 쉽게 배치하는 규칙에 관해서도 다룬다.
제 6장 네이밍 표준과 도메인
엔티티의 수가 늘어나게 되면 시스템 전체의 속성 (데이터 항목) 수도 수천 건에 이르게 된다. 데이터 항목의 네이밍이나 데이터 항목의 기본인자인 도메인 정의를 어떻게 할 지는 모델링의 중요 항목 중 하나이다. 이번 장에서는 네이밍 표준, 도메인 정의의 필요성과 그 방법을 설명한다.
제 7장 하향식 분석 (1)
인터넷 서점 (DBMe서점)의 서적 판매관리 시스템에서 화면이나 전표 이미지를 기초로 데이터 항목을 추출하여 엔티티 모델로 하는 하향식 분석 절차를 설명한다. 엔티티 간의 중복 데이터를 제거하기 위한 정규화 과정에 대해서도 다룬다.
제 8장 하향식 분석 (2) -CRUD 분석-
데이터 모델은 대상 업무 활동의 어느 특정 시점 (정적인 상태)를 표현한 것이다. 작성한 데이터 모델의 정당성을 확인하는 위해 DFD (Data Flow Diagram)를 사용하여 데이터의 발생/참조/갱신/소멸 (CRUD) 라이프 사이클을 조사하는 방법이 있다. 이 장에서는 이 CRUD분석에 대해 설명한다.
제 9장 하향식 모델과 상향식 모델의 융합
제 4장과 제 5장에서 하향식 모델, 제 6장과 제 7장에서 상향식 모델에 관해 언급하였는데, 실제 업무에서는 이들을 병행하는 것이 효율적이다. 이 장에서는 각기 다른 접근 방식으로 작성된 두 모델을 융합할 때의 테크닉을 설명한다. 또, 모델링 과정에서 반드시 직면하게 되는 기존 (현행) 시스템의 취합에 관해서도 설명한다.
제 10장 RDB이론과 비즈니스 룰
이 장에서는 RDB의 참조무결제약을 중심으로, 데이터 모델로 표현할 수 있는 비즈니스 룰에 대해 설명한다. 엔티티 간의 관계를 설정할 때의 기본 개념을 배울 수 있다.
제 11장 모델 패턴의 활용
모델링 과정에서 약간 벗어나, 데이터 모델링을 할 때 참고할 수 있는 모델 패턴에 관해 소개한다. 패턴이란 모델링의 정석과 같은 것이다. 어느 정도 경험을 쌓은 모델러는 “그 정도는 다 알고 있어”라고 말할지도 모르지만, 초보자는 배워두면 모델링할 때 반드시 참고가 될 것이다.
제 12장 툴의 활용법
DBMe서점의 사례 실습에서는 모델링 툴을 이용한다. 데이터 모델링 시 필수적인 도구라고 할 수 있는 모델링 툴의 효과에 대해 설명한다. 실제로 툴을 도입할 때에는 각자의 상황에 맞는 평가항목을 설정하여 선별할 필요가 있는데, 그 때 참고할 수 있는 정보도 소개한다.
제 13장 모델 검토
데이터 모델뿐 아니라 모든 시스템 설계에서는 다음 단계로 넘어가기 전에 반드시 검토 과정을 거친다. 이 장에서는 데이터 모델의 검토를 어떠한 관점에서 어떠한 내용으로 해야 할 것인지 인터넷 서점 (DBMe서점)의 사례 실습을 통해 설명한다. 모델을 검토하는 관점은 좋은 모델을 작성하기 위해 필요한 요소이기도 하다.
제 14장 논리 모델을 물리 모델로 변환
논리 모델로 작성한 모델을 RDB로 구현하기 위해서는 DBMS 정의 상 필요한 정보를 부가하거나 처리 속도 및 DBMS 특성을 고려한 물리 모델을 작성할 필요가 있다. 이 장에서는 물리 모델 변환 시의 작업과 고려할 점에 대해 설명한다.
제 15장 물리 구현 시의 포인트
이 장에서는 물리 구현 시 퍼포먼스에 큰 영향을 주는 인덱스 (색인)나 뷰의 정의, 그리고 저장할 데이터 용량을 계산하여 DBMS로 구현한다. 물리 구현 시 모델러가 반드시 파악해둬야 하는 사항을 알 수 있다.
제 16장 비즈니스 환경의 변화가 모델에 미치는 영향
비즈니스 환경은 빠르게 변화한다. 데이터 모델의 변경을 일으키는 요인을 비즈니스 요건, 운용 요건, 시스템 요건 3가지로 나누고 실제 사례를 통해 모델에 미치는 영향을 알아본다. 변경 사항을 흡수하기 쉬운 모델은 어떤 것인지 알아보고, 이러한 모델을 만들기 위해서는 어떻게 해야 할지 고려해 본다.
제 17장 모델의 유지관리
일단 작성 완료된 모델에도 끊임없이 변경 요구가 발생한다. 모델을 유지관리하기 위해서는 표준화, DA 등의 체제, 운용 룰, 툴 등의 설비가 필요하다. 이번 장에서는 이들을 추진하기 위해 고려해야 할 점등에 관해 설명한다.