가장 쉬운 데이터베이스 설계 책
: 적절한 데이터베이스 디자인을 위한 지침서
시리즈 가장 쉬운 책 시리즈 002
저자 마이클 J. 헤르난데즈
역자 송현호, 황규용
출간예정일 2014년 2월 27일 (목)
정가 30,000원
페이지 492
판형 188 x 245
ISBN 978-89-94774-59-6 (93000)
원서정보 DATABASEDESIGN FOR MERE MORTALS: A HANDSON GUIDE TO
RELATIONAL DATABASE DESIGN, 3rd Edition
책 소개
가장 쉽고 상식적인 데이터베이스 설계 가이드
마이클 J. 헤르난데즈의 베스트셀러인 《가장 쉬운 데이터베이스 설계 책》은 관계형 데이터베이스 설계를 간단하고 명확하게 배우는 방법으로 전세계에서 주목을 받고 있다. 소프트웨어의 독립적인 사용 지침을 전보다 더 쉽게 만들었으며, 그의 디자인 방법론은 최신의 데이터베이스, 응용프로그램, 모범 사례와 관련이 있다.
이 책은 데이터베이스를 견고하게 구축하고, 유연하고도 현대적인 웹 응용프로그램을 설계하는 방법을 단계별로 보여주고, 또한 데이터베이스에 존재하는 테이블, 필드, 키, 테이블 관계, 업무 규칙, 뷰를 정의하는 모든 과정을 안내해줄 것이다. 이 책을 통해 여러분은 데이터 무결성을 향상시키는 방법, 일반적인 실수를 피하는 방법, 규칙을 완화하는 방법에 대해 배울 수 있다.
이 책에서 다루는 내용
- 데이터베이스 유형, 모델, 설계 용어에 대한 이해
- 좋은 데이터베이스 설계가 가져다 주는 이점 및 잘못된 설계가 주는 단점
- 데이터베이스에 대한 목표를 설정하고, 실제 설계로 그 목표를 변환하는 방법
- 기존의 데이터베이스를 개선할 수 있는 방안을 식별하기 위해 현재 상태 분석
- 테이블 구조와 관계 정립, 기본 키 할당, 필드 명세 설정, 뷰 설정
- 각 응용프로그램에 대해 데이터 무결성의 적절한 수준 보장
- 업무 규칙의 식별 및 설정
《가장 쉬운 데이터베이스 설계 책》은 여러분이 어떤 관계형 데이터베이스 시스템을 운영하고 있든지 데이터베이스를 설계하는 데 아주 강력하고 든든한 도움을 줄 것이다. 데이터베이스를 설계해본 적이 없는가? 불충분한 일반적인 설계에 안주하는가? 개선이 필요한 기존의 데이터베이스가 있는가? 그럼 이 책으로 시작하자!
독자 대상
초급에서 중급자용
저자 소개
마이클 J. 헤르난데즈 (Michael J. Hernandez)
마이크로소프트의 비주얼 스튜디오 그룹의 프로그램 관리자 및 제품 관리자였으며, 20년 이상의 경험을 가진 관계형 데이터베이스의 베테랑 개발자다. AppDev Training Co, Focal Point Inc, Deep Training과 같은 교육기관의 주요 강사이며, 미국, 유럽, 남미에 걸쳐 기술 컨퍼런스의 최고 순위의 연사이기도 하다. 저서로는 《SQL Queries for Mere Mortals, 2nd Edition》(Addison-Wesley, 2008)가 있다.
역자 소개
송현호
SK C&C의 인프라 조직에서 회사 생활을 시작해 지금까지 6년째 DBA업무를 수행하고 있다. SK 그룹 사내 및 외적으로 다양한 업무의 데이터베이스를 운영 및 구축, 튜닝했으며, 현재는 SKT 주 과금시스템 및 관련 시스템의 운영 관리를 맡고 있다. 월간 마이크로소프트웨어에 기고한 이력이 있으며, 최근에는 IT시스템의 Open source로 재구축하는 것에 관심을 갖고 공부를 하고 있는 중이다.
황규용
고려대학교 컴퓨터 교육과 졸업 후 SK C&C의 인프라 조직에서 근무하며 다수의 프로젝트를 수행하고 있다. 주요 업무는 부하 테스트 및 성능 관리이며, 다양한 관점에서 서비스의 성능과 안정성을 살펴보고자 계속해서 공부를 하는 중이다. 월간 마이크로소프트웨어에 수 차례 기고한 경험이 있으며, IT 서비스를 엔지니어의 관점과 서비스 관리자의 관점, 그리고 고객의 관점에서 바라보며 그 합의점을 찾고자 꾸준히 연구 중이다.
목차
1부. 관계형 데이터베이스 설계
1장. 관계형 데이터 베이스
2장. 설계 목적
3장. 전문 용어
2부. 설계 프로세스
4장. 개념적인 개요
5장. 프로세스 시작
6장. 기존 데이터베이스 분석
7장. 테이블 구조 설정
8장. 키
9장. 필드 명세
10장. 테이블 관계
11장. 업무 규칙
12장. 뷰
13장. 데이터 무결성 검토
3부. 기타 데이터베이스 설계 문제
14장. 잘못된 설계 – 하지 말아야 할 것들
15장. 규칙 변형
4부. 부록
부록 A. 연습문제 해답
부록 B. 데이터베이스 설계 프로세스의 다이어그램
부록 C. 설계 지침
부록 D. 문서 양식
부록 E. 데이터베이스 설계 도해 기호
부록 F. 설계 견본
부록 G. 정규화
부록 H. 추천 도서
용어 해설
*상세목차를 보려면 아래 [상세목차 보기]를 클릭하세요.
이 책의 구성
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. “추천 도서”에서는 데이터베이스 기술의 보다 깊이 있는 공부를 계속해서 하고자 한다면 읽어볼 만한 도서 목록을 정리해놓았다.
용어 사전은 책의 전반에 걸쳐서 사용된 다양한 단어와 구문에 대한 간결한 정의로 구성되었다.
출판사 리뷰
이 책은 전반적인 개발 프로세스의 논리적 설계 부분만을 다룬다. 그리고 이 책의 주요 목적은 대다수의 데이터베이스 설계 도서에서 찾을 수 있는 전통적인 고급 방법론을 사용하지 않고 관계형 데이터베이스 설계 방법을 설명하는 데 있다. 이 책에서 설계 프로세스에 접근하는 방법을 비교적 직관적이고 일반적으로 표현하여 이런 방법론들의 복잡함을 피하고자 하였다. 또한 이런 접근 방법을 보완하기 위해 간단하고 직관적인 데이터 모델링 방법론을 사용하였다. 아울러 전체 프로세스를 가급적이면 명확하게 표현하였으며, 기술 용어는 최대한 자제하였다.
누가 이 책을 읽어야 하는가
이 책을 읽기 위해 데이터베이스 설계에 대한 사전 배경지식이 필요한 것은 아니다. 여러분이 이 책을 손에 쥐고 읽는 이유는 데이터베이스를 제대로 설계하는 법을 배우기 위해서다. 여러분이 데이터베이스 관리를 시작하거나 자신의 데이터베이스를 개발하는 것을 고려한다면, 이 책이 매우 많은 도움을 줄 것이다. 처음부터 제대로 데이터베이스를 만드는 법을 배우는 편이 시행 착오를 통해 배우는 것보다 더 낫다. 장담컨대 시행착오를 통해 배우는 것이 훨씬 오랜 시간이 걸린다.
만일 여러분이 데이터베이스 프로그램에 대한 경력이 짧거나 회사나 사업장에서 새로운 데이터베이스를 개발하고자 하는 사람이라면, 이 책을 읽는 게 좋을 것이다. 아마도 여러분은 좋은 데이터베이스 구조는 어떤 것인지에 대한 느낌이 있을지도 모른다. 하지만 데이터베이스 개발자들이 효율적인 설계를 하기 위해 사용하는 방법들에 대해서는 거의 아는 바가 없다. 어쩌면 여러분은 몇 가지 기본 지침에 따른 데이터베이스를 수차례 만든 경험이 있는 프로그래머 일지도 모른다. 하지만 데이터베이스를 제대로 사용하기 위해서 대량의 코딩을 해야 했을 것이다. 여러분이 이런 상황에 처해있다면, 이 책을 활용하기 바란다.
프로 ASP.NET Web API 보안 (0) | 2014.03.07 |
---|---|
네트워크 침해사고 분석: 공격과 대응의 기술 (0) | 2014.02.17 |
가장 쉬운 하스켈 책: 느긋하지만, 우아하고 세련된 함수형 언어 (3) | 2014.02.13 |
댓글 영역