책소개
"일본 최고 DB 전문가에게 배우는 실전 DB 설계와 최적화12년 만에 개정된 DB 엔지니어들의 필독서. DB 설계의 올바른 사고방식을 익힐 수 있는 책으로, 전문 DB 엔지니어인 저자가 DB 설계의 기초와 실천 노하우를 이해하기 쉽게 전달한다. 논리 설계의 기본부터 정규화, 성능 등 기초 지식이나 포인트를 폭넓게 체계적으로 설명하고, 풍부한 샘플, 연습 문제, 실제 개발 현장에서 통용하는 지식을 제공하며, 안티 패턴, 주의해야 할 그레이 노하우까지 친절하게 해설한다. DB 엔지니어를 목표로 하는 사람, DB 설계의 기초와 실천을 제대로 배우고 싶은 사람에게 강력히 권한다. 이번 개정판은 초기 구성을 살리면서 내용을 최신화하고 클라우드 내용을 추가했다.
"
저자소개
DB 엔지니어로서 20년의 경력을 보유하고 있으며, 관계형 데이터베이스와 SQL에 대한 기술서를 집필하고 있다. 2018년부터 실리콘밸리에서 기술조사와 사업개발에 종사하고 있다. 저서 중 한국에 번역된 책은 《데이터베이스 첫걸음》, 《SQL 레벨업》, 《SQL 더 쉽게, 더 깊게》 등이 있다.
목차
"옮긴이 머리말 x
머리말 xii
베타리더 후기 xv
CHAPTER 1 | 데이터베이스를 제압하는 자가 시스템을 제압한다 1
1.1 시스템과 데이터베이스 2
1.2 다양한 데이터베이스 4
1.3 시스템 개발 과정과 설계 10
1.4 설계 단계와 데이터베이스 14
CHAPTER 2 | 논리 설계와 물리 설계 23
2.1 개념 스키마와 논리 설계 24
2.2 내부 스키마와 물리 설계 29
2.3 데이터베이스 단위의 중복 구성: 복제 46
2.4 클라우드에서의 데이터베이스 중복 구성 50
2.5 클라우드 활용 시점과 상황 58
2.6 백업 설계 63
2.7 복구 설계 75
CHAPTER 3 | 논리 설계와 정규화: 왜 테이블을 분할해야 할까? 82
3.1 테이블이란? 82
3.2 테이블의 구성 요소 85
3.3 정규화란 무엇인가? 96
3.4 제1정규형 97
3.5 제2정규형: 부분 함수 종속 104
3.6 제3정규형: 이행적 함수 종속 109
3.7 보이스-코드 정규형(BCNF) 112
3.8 제4정규형 118
3.9 제5정규형 123
3.10 정규화 정리 124
CHAPTER 4 | ER 다이어그램: 여러 테이블의 관계 표현하기 131
4.1 테이블이 너무 많아! 132
4.2 테이블 사이의 관계 파악하기 132
4.3 ER 다이어그램 작성 방법 135
4.4 ‘다대다’ 관계와 관계 엔터티 140
CHAPTER 5 | 논리 설계와 성능: 정규화의 단점과 비정규화 146
5.1 정규화의 장단점 147
5.2 비정규화와 성능 154
5.3 중복성과 성능의 트레이드오프 160
CHAPTER 6 | 데이터베이스와 성능 164
6.1 데이터베이스 성능을 결정하는 요소 165
6.2 인덱스 설계 167
6.3 B-tree 인덱스 설계 방법 173
6.4 통계 정보 180
6.5 인덱스 이외의 튜닝 방법 186
CHAPTER 7 | 논리 설계 안티패턴 198
7.1 논리 설계에서 하지 말아야 하는 것 198
7.2 비스칼라값(제1정규형 미만) 199
7.3 더블 미닝 204
7.4 단일 참조 테이블 207
7.5 테이블 분할 210
7.6 부적절한 키 219
7.7 더블 마스터 221
7.8 좀비 마트와 다단계 마트 224
CHAPTER 8 | 논리 설계의 그레이 노하우 231
8.1 규칙의 경계선에 위치한 설계 231
8.2 대리 키: 기본 키가 잘 작동하지 않을 때 232
8.3 칼럼 기반 테이블 247
8.4 애드혹 집계 키 252
8.5 다단계 뷰 255
8.6 데이터 클렌징의 중요성 258
CHAPTER 9 | 고급 논리 설계: RDB로 트리 구조 다루기 268
9.1 관계형 데이터베이스의 약점 269
9.2 오래되었지만 새로운 해법: 인접 리스트 모델 271
9.3 폐쇄 테이블 모델 279
9.4 어떤 모델을 사용해야 할까? 284
APPENDIX A | 부록: 연습 문제 해답 288
1장 해답 (연습 문제 ? 22페이지) 288
2장 해답 (연습 문제 ? 81페이지) 293
3장 해답 (연습 문제 ? 130페이지) 299
4장 해답 (연습 문제 ? 142페이지) 302
5장 해답 (연습 문제 ? 162페이지) 304
6장 해답 (연습 문제 ? 196페이지) 311
7장 해답 (연습 문제 ? 230페이지) 315
8장 해답 (연습 문제 ? 264페이지) 316
9장 해답 (연습 문제 ? 286페이지) 325
맺음말 327
찾아보기 331"