본문 바로가기

추천 검색어

실시간 인기 검색어

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

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

2025년 12월 11일 출간

국내도서 : 2025년 10월 22일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 PDF (4.88MB)   |  358 쪽
ISBN 9791124205075
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
이벤트 소득공제
소장
정가 : 18,900원

판매가 17,010

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

일본 최고 DB 전문가에게 배우는 실전 DB 설계와 최적화12년 만에 개정된 DB 엔지니어들의 필독서. DB 설계의 올바른 사고방식을 익힐 수 있는 책으로, 전문 DB 엔지니어인 저자가 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

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

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

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

예를 들어 ‘주문’ 테이블에 ‘상품수’라는 집계 데이터를 추가한 경우를 생각해봅시다. 데이터를 테이블에 저장하려면 당연히 주문 데이터를 등록할 때 상품 수를 계산해야 합니다. 게다가 주문 내용은 한 번 등록했다고 해서 확정되는 것이 아니며, 일정 기간 안에는 변경될 수 있습니다(주문 취소, 주문 개수 변경 등). 따라서 상품 수도 늘어나거나 줄어들 수 있으며, 주기적으로 ‘주문’ 테이블의 ‘상품수’ 열값을 갱신해야 합니다. 이렇게 데이터를 갱신할 때 발생하는 시스템 부하를 반드시 고려해야 합니다. (161쪽)

하지만 가장 큰 문제는 적절한 배타적 제어(동시성 제어, 락) 메커니즘이 없으면 기능적 오류가 발생할 수 있다는 것입니다. 여러 사용자가 동시에 번호 부여 테이블에 접근해 같은 번호를 발급받게 되면, ‘시군구’ 테이블에 데이터를 삽입할 때 유일성 제약 위반이 발생합니다. 그리고 이렇게 되면, 번호가 건너뛰는 경우도 있습니다. / 이를 방지하려면 한 사용자가 번호 부여 테이블에 접근할 때 테이블을 잠궈서 다른 사용자의 접근을 차단해야 합니다. 이런 동시성 제어를 고려한 프로그램 개발은 복잡할 뿐만 아니라, DBMS마다 트랜잭션 격리 수준이 다르기 때문에, 다른 DBMS으로 전환하기도 어렵습니다. 반면 시퀀스 객체는 이미 이러한 락 메커니즘이 내장되어 있습니다. 이러한 이유로 오토넘버링을 애플리케이션에서 직접 구현하는 것은 추천하지 않습니다. (245쪽)

데이터베이스, 설계부터 달인이 되다 일본 최고 DB 전문가에게 배우는 실전 DB 설계와 최적화AI 시대를 맞아 데이터베이스의 중요성이 더욱 커지는 가운데, 관계형 데이터베이스의 설계를 다루는 필독서의 개정판이 12년 만에 출간되었다. 개정판은 초기 구성을 살리면서도 내용을 최신화하고 시대의 흐름에 맞게 클라우드 내용을 추가했다.
특정 DB 제품이나 기능을 나열하는 대신, 바람직한 논리 설계와 물리 설계의 ‘원칙’을 실무 관점에서 풀어나간다는 점이 특히 인상적이다. 즉, 저자는 이상과 현실 중 한쪽에 치우치지 않고 균형을 잡기 위해서는 트레이드오프를 이해해야 한다는 점을 강조한다.
1장과 2장은 요구사항 정의로 시작되는 시스템 개발, 그리고 논리 설계와 물리 설계 등 DB의 기초를 대단히 친절하게 설명한다. 3장부터 5장에는 테이블, 정규화, ER 다이어그램 등 핵심적인 개념이 담겨 있고, 6장부터 8장은 성능 튜닝, 안티패턴, 그레이 노하우(안티패턴은 아니지만 장점과 단점이 각각 뚜렷한 설계 방법) 같은 더욱 전문적인 주제를 다룬다. 9장은 RDB의 약점을 극복하기 위한 트리 구조를 다루고, 부록으로 연습 문제 해설을 수록했다.
일본 IT 업계 20년 현장 노하우에 최신 사례를 반영한, 한 권으로 끝내는 DB 설계 교과서와 같은 책이다. 경력자라면 과하다고 느껴질 정도로 친절한 설명과 함께, 79개의 핵심 포인트와 21문항의 연습 문제도 제공되므로, DB 엔지니어를 목표로 하는 사람은 물론이고 DB 설계의 기초와 실천 노하우를 체계적으로 습득하는 데 큰 도움이 되는 책이다.

인물정보

저자(글) 미크

DB 엔지니어로서 20년의 경력을 보유하고 있으며, 관계형 데이터베이스와 SQL에 대한 기술서를 집필하고 있다. 2018년부터 실리콘밸리에서 기술조사와 사업개발에 종사하고 있다. 저서 중 한국에 번역된 책은 《데이터베이스 첫걸음》, 《SQL 레벨업》, 《SQL 더 쉽게, 더 깊게》 등이 있다.

번역 윤인성

출근하기가 싫어서 책을 집필하기 시작했다. 직업 특성상 집에서 나갈 이유가 별로 없다는 것에 굉장히 만족하고 있다. 홍차와 커피를 좋아하며, 기타와 가야금 연주, 그림 그리기, 스컬핑 등이 취미다. 저서로는 《쉽게 배우는 C# 프로그래밍(3판)》, 《HTML5 웹 프로그래밍 입문(4판), 《혼자 공부하는 파이썬(개정판)》, 《자바스크립트 프로그래밍 입문(2판)》, 《C# 프로그래밍(3판)》 등이 있으며, 역서로는 《네이처 오브 코드(자바스크립트판)》, 《블렌더 VFX》, 《만들면서 배우는 블렌더 3D 입문》, 《문제 해결을 위한 알고리즘 with 수학 알고리즘》, 《내 코드가 그렇게 이상한가요?》, 《이펙티브 코틀린》 등이 있다. 이번 책은 79번째 책이다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    데이터베이스 설계, 이렇게 하면 된다 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    데이터베이스 설계, 이렇게 하면 된다 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    데이터베이스 설계, 이렇게 하면 된다
    정규화부터 클라우드 대응 설계, ER 다이어그램 작성, 성능 튜닝, 안티패턴 회피, 실무에서 쓸 수 있는 그레이 노하우까지 담은 전문가의 DB 설계 비법서
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글바이액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)