이 책에서 다루는 내용
--데이터베이스 유형, 모델, 설계 용어에 대한 이해
--좋은 데이터베이스 설계가 가져다 주는 이점 및 잘못된 설계가 주는 단점
--데이터베이스에 대한 목표를 설정하고, 실제 설계로 그 목표를 변환하는 방법
--기존의 데이터베이스를 개선할 수 있는 방안을 식별하기 위해 현재 상태 분석
--테이블 구조와 관계 정립, 기본 키 할당, 필드 명세 설정, 뷰 설정
--각 응용프로그램에 대해 데이터 무결성의 적절한 수준 보장
--업무 규칙의 식별 및 설정
《가장 쉬운 데이터베이스 설계 책》은 여러분이 어떤 관계형 데이터베이스 시스템을 운영하고 있든지 데이터베이스를 설계하는 데 아주 강력하고 든든한 도움을 줄 것이다. 데이터베이스를 설계해본 적이 없는가? 불충분한 일반적인 설계에 안주하는가? 개선이 필요한 기존의 데이터베이스가 있는가? 그럼 이 책으로 시작하자!
독자 대상 초급에서 중급자용
이 책의 구성
1부: 관계형 데이터베이스 설계
이 부분은 데이터베이스, 데이터베이스 설계에 대한 생각, 그리고 이 책에서 소개하는 설계 프로세스를 이해하고 배우기 위해 익숙해져야 하는 몇 가지 용어에 대한 소개를 한다.
1장. “관계형 데이터베이스”에서는 여러분이 접하게 될 데이터베이스의 유형에 대한 대략적인 생각, 일반적인 데이터베이스 모델, 그리고 관계형 데이터베이스의 대략적인 역사에 대해 소개한다.
2장. “설계 목적”에서는 설계에 대하여 관심을 가져야 하는 이유와 좋은 설계를 하는 목적과 장점에 대해 이야기할 것이다. 그리고 정규화와 공식을 간략하게 소개한다.
3장. “전문 용어”에서는 이 책에서 소개하는 설계 방법론을 배우고 이해할 때 필요한 용어들을 정리해놓았다.
2부: 설계 프로세스
데이터베이스 설계 프로세스의 각 단계는 2부에 정리했다. 테이블 구조, 기본 키 설정, 필드 명세 작성, 테이블 관계 설정, 뷰 생성, 그리고 다양한 수준의 데이터 무결성을 설정하는 내용이 여기에 포함된다.
4장. “개념적 개요”에서는 프로세스의 각기 다른 구성 요소들이 어우러지는 법을 보여줌으로써 설계 프로세스의 개요를 설명한다.
5장. “프로세스 시작”에서는 데이터베이스를 생성할 때, 기준을 정하기 위한 임무 명세(mission statement)와 임무 목표(mission objectives)를 정의하는 방법을 설명한다.
6장. “기존 데이터베이스 분석”에서는 기존의 운영 중인 데이터베이스가 가지고 있는 문제점들을 얘기한다. 현재 데이터베이스를 분석하는 이유와 데이터를 수집하고 표현하는 방법을 보는 법에 대해 소개한다. 여기에 더해서 사용자와 관리자를 인터뷰하는 이유와 방법, 그리고 초기 필드 목록을 읽는 법 등에 대하여 설명한다.
7장. “테이블 구조 구축”에서는 데이터베이스를 만드는 목적을 정의하고 결정하기, 테이블에 필드 생성하기, 그리고 테이블 구조 개선하기 등의 주제를 설명한다.
8장. “키”는 키의 개념과 설계 프로세스에서 키의 중요성, 그리고 각 테이블에 후보 키와 기본 키를 정의하는 방법 등에 대하여 설명한다.
9장. “필드 명세”에서는 수많은 데이터베이스 개발자들이 귀찮아 하는 명세 작성과 관련된 내용을 다룬다. 필드 명세에는 각 필드가 생성된 방법뿐만 아니라 필드가 가질 수 있는 값들에 대한 특징을 결정한다. 이 장의 주제는 필드 명세의 중요성과 각 명세들이 갖는 특징들, 그리고 데이터베이스의 각 필드 명세를 정의하는 방법에 대해 설명한다.
10장. “테이블 관계”에서는 테이블 관계의 중요성, 관계의 종류, 관계 설정 및 관계 특징을 설정하는 것에 대해 설명한다.
11장. “업무 규칙”에서는 업무 규칙의 종류, 업무 규칙을 설정하고 결정하는 법, 그리고 검증 테이블(validation tables)을 사용하는 법에 대해 설명한다. 업무 규칙은 각 수준별 데이터 무결성을 결정하는 요소이기 때문에 어떤 데이터베이스에서도 굉장히 중요한 부분이 된다.
12장. “뷰”에서는 뷰의 개념과 중요성에 대해서 살펴본다. 또한 뷰의 종류와 뷰를 설정하고 결정하는 방법에 대해 설명한다.
13장. “데이터 무결성 검토”에서는 앞 장에서 이야기하고 정의한 각 수준의 무결성을 검토한다. 여기에서 가능한 한 완벽하게 데이터 무결성을 보장하기 위해서 데이터베이스 구조의 최종 설계를 검토해야 할 필요가 있다는 것을 설명한다.
3부: 기타 데이터베이스 설계 문제
여기에서는 데이터베이스를 설계할 때 규칙을 완화하는 법과 잘못된 설계를 피하는 것과 같은 주
제를 다룬다.
14장. “잘못된 설계 - 하지 말아야 할 것”에서는 평면 파일 설계나 스프레스시트 설계와 같은 피해야 하는 설계의 종류에 대해 소개한다.
15장. “규칙 변형”에서는 설계 프로세스의 개념과 기술에서 벗어날 필요가 있는 드문 예에 대해 이야기한다. 이 장에서는 언제 규칙을 완화해야 하는지, 또 그것은 어떻게 하는지에 대해 설명한다.
4부: 부록
부록에서는 데이터베이스 설계 프로세스를 공부하거나 데이터베이스 개발 작업을 할 때 유용할 것이라 생각되는 정보들을 정리했다.
부록 A. “연습문제 해답”은 1장부터 12장까지의 연습문제 해답을 정리했다.
부록 B. “데이터베이스 설계 프로세스의 도표”는 데이터베이스 설계 프로세스 전체에 대한 흐름을 표현한 도표를 제공한다.
부록 C. “설계 지침”에서는 이 책 곳곳에서 나타나는 설계 지침들의 다양하고 쉬운 적용 사례를 소개한다.
부록 D. “문서 양식”은 데이터베이스 설계 프로젝트에 사용할 수 있는 필드 명세서, 사업 규칙 명세서, 뷰 명세서의 견본을 제공한다.
부록 E. “데이터베이스 디자인 도표 기호”에서는 책에서 사용되는 도표 기호들을 빠르고 쉽게 찾을 수 있도록 구성하였다.
부록 F. “설계 견본”은 만들기 원하거나 필요한 데이터베이스에 대한 생각을 기반으로 제공할 수 있는 데이터베이스 설계 견본이 들어있다.
부록 G. “정규화”에서는 나만의 설계 방법론에 정규화를 포합시키는 방법에 대하여 설명한다.
부록 H. “추천 도서”에서는 데이터베이스 기술의 보다 깊이 있는 공부를 계속해서 하고자 한다면 읽어볼 만한 도서 목록을 정리해놓았다.
용어 사전은 책의 전반에 걸쳐서 사용된 다양한 단어와 구문에 대한 간결한 정의로 구성되었다.