logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

데이터베이스 설계, 이렇게 하면 된다

데이터베이스 설계, 이렇게 하면 된다

(정규화부터 클라우드 대응 설계, ER 다이어그램 작성, 성능 튜닝, 안티패턴 회피, 실무에서 쓸 수 있는 그레이 노하우까지 담은 전문가의 DB 설계 비법서, 제2판)

미크 (지은이), 윤인성 (옮긴이)
제이펍
27,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
24,300원 -10% 0원
1,350원
22,950원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

데이터베이스 설계, 이렇게 하면 된다
eBook 미리보기

책 정보

· 제목 : 데이터베이스 설계, 이렇게 하면 된다 (정규화부터 클라우드 대응 설계, ER 다이어그램 작성, 성능 튜닝, 안티패턴 회피, 실무에서 쓸 수 있는 그레이 노하우까지 담은 전문가의 DB 설계 비법서, 제2판)
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 데이터베이스 개론
· ISBN : 9791194587514
· 쪽수 : 356쪽
· 출판일 : 2025-10-30

책 소개

DB 설계의 올바른 사고방식을 익힐 수 있는 책으로, 전문 DB 엔지니어인 저자가 DB 설계의 기초와 실천 노하우를 이해하기 쉽게 전달한다. 논리 설계의 기본부터 정규화, 성능 등 기초 지식이나 포인트를 폭넓게 체계적으로 설명하고, 풍부한 샘플, 연습 문제, 실제 개발 현장에서 통용하는 지식을 제공한다.

목차

옮긴이 머리말 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

저자소개

미크 (지은이)    정보 더보기
DB 엔지니어로서 20년의 경력을 보유하고 있으며, 관계형 데이터베이스와 SQL에 대한 기술서를 집필하고 있다. 2018년부터 실리콘밸리에서 기술조사와 사업개발에 종사하고 있다. 저서 중 한국에 번역된 책은 《데이터베이스 첫걸음》, 《SQL 레벨업》, 《SQL 더 쉽게, 더 깊게》 등이 있다.
펼치기
윤인성 (옮긴이)    정보 더보기
출근하기가 싫어서 책을 집필하기 시작했다. 직업 특성상 집에서 나갈 이유가 별로 없다는 것에 굉장히 만족하고 있다. 홍차와 커피를 좋아하며, 기타와 가야금 연주, 그림 그리기, 스컬핑 등이 취미다. 저서로는 《쉽게 배우는 C# 프로그래밍(3판)》, 《HTML5 웹 프로그래밍 입문(4판), 《혼자 공부하는 파이썬(개정판)》, 《자바스크립트 프로그래밍 입문(2판)》, 《C# 프로그래밍(3판)》 등이 있으며, 역서로는 《네이처 오브 코드(자바스크립트판)》, 《블렌더 VFX》, 《만들면서 배우는 블렌더 3D 입문》, 《문제 해결을 위한 알고리즘 with 수학 알고리즘》, 《내 코드가 그렇게 이상한가요?》, 《이펙티브 코틀린》 등이 있다. 이번 책은 79번째 책이다.
펼치기

책속에서

정규화(normalization)는 엔터티(테이블)를 시스템에서 효율적으로 사용할 수 있도록 정리하는 작업입니다. 특히 데이터 등록, 수정, 삭제와 같은 갱신 작업을 일관성 있게 수행할 수 있도록 엔터티 형식을 정리하는 것이 주요 목적입니다. / 단순히 엔터티를 추출하고 속성을 정의하는 것만으로는 실제 시스템에서 활용하기 부족합니다. 따라서 관계형 데이터베이스의 논리 설계에서 정규화는 굉장히 중요한 기초입니다. 정규화는 데이터베이스 논리 설계를 이해하는 핵심이라고 할 수 있습니다.


데이터베이스는 (…) 시스템의 심장과 같습니다. 따라서 데이터베이스 내부의 데이터가 손실되는 일은 절대 없어야 합니다. 만약 그런 일이 발생한다면 엄청난 손해를 감수해야 합니다. 대규모 시스템에서 이러한 데이터 손실 사고가 발생하면 신문이나 TV 등 미디어에서 대대적으로 보도됩니다. / 이러한 ‘사고’를 예방하기 위한 설계에는 두 가지 접근법이 있습니다. 첫째는 최대한 데이터를 잃지 않게 설계하는 것으로, 이전에 설명한 가용성 설계가 여기에 해당합니다. 둘째는 그럼에도 장애로 데이터가 손실되었을 때 복구할 수 있게 준비하는 것입니다. 이 두 번째 접근법이 바로 이번 절과 다음 절에서 다룰 백업과 복구에 관한 내용입니다.


그렇다면 제2정규형이 왜 필요할까요? 제2정규형으로 만들면 어떤 장점이 있을까요? 이런 핵심적인 내용을 이해하지 못한 상태로 정규화 절차만 기계적으로 외우는 엔지니어들도 있습니다. 하지만 이는 본질을 놓치는 태도입니다. 따라서 차근차근 제2정규형의 장점을 제대로 이해해봅시다. (…) 먼저 정규화 이전의 ‘직원’ 테이블(104페이지)을 살펴봅시다. 이 테이블로 실제 업무를 처리하려고 하면 어떤 문제가 생길까요? 예를 들어 직원 정보가 아직 없는 회사(C건설)를 등록하려고 할 때, 기본 키의 일부인 직원ID를 알 수 없는 상태(NULL)이므로 테이블에 등록할 수 없습니다. 물론 직원ID에 임시로 가짜 값을 넣는 방법도 있고, 실제로 그렇게 운영하는 시스템도 있지만 이는 근본적인 해결 방법이 되지 못합니다. 이런 잘못된 방법은 처음부터 피하는 것이 좋습니다.


추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책