확장메뉴
주요메뉴


소득공제
미리보기 공유하기
원리부터 배우는

관계형 데이터베이스 실전 입문

도서 제본방식 안내이동 위키북스 데이터베이스 & 빅데이터 시리즈-14이동
리뷰 총점8.0 리뷰 1건 | 판매지수 678
베스트
컴퓨터 공학 top100 12주
정가
28,000
판매가
25,200 (10% 할인)
YES포인트
구매 시 참고사항
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
소중한 당신에게 5월의 선물 - 산리오 3단 우산/디즈니 우산 파우치/간식 접시 머그/하트 이중 머그컵
월간 개발자 2022년 5월호
내일은 개발자! 코딩테스트 대비 도서전
5월 전사
5월 쇼핑혜택
1 2 3 4 5

품목정보

품목정보
출간일 2016년 07월 22일
쪽수, 무게, 크기 336쪽 | 638g | 172*235*19mm
ISBN13 9791158390372
ISBN10 1158390378

책소개 책소개 보이기/감추기

DB를 사용하여 애플리케이션 개발을 해 본 경험이 있는 개발자를 대상으로, 관계형 모델을 이해할 수 있게 안내함으로써 좀 더 효율적으로 DB를 설계하고, 적절하게 SQL을 구사할 수 있도록 필요한 지식을 모아 둔 책이다. 이 책에서는 SQL과 관계형 모델 간의 관계부터, 술어 논리, 정규화 이론, SELECT에 대한 상세한 해설, 애플리케이션 개발에서의 데이터 구조, 리팩터링, 트랜잭션 등 다양한 주제의 이론과 실전을 병행하여 상세하게 설명한다. SQL을 다시 한 번 제대로 공부하고 싶은 사람, 관계형 모델에 대해 좀 더 깊이 있게 이해하고 싶은 사람이라면 많은 도움이 될 것이다.

목차 목차 보이기/감추기

▣ 01장: SQL과 관계형 모델
1.1 SQL이란
___관계형 모델을 모르더라도 SQL을 쓸 수 있다?
___RDB는 관계형 모델을 바르게 구현할
___더욱 진가를 발휘한다!
1.2 관계형 모델
___릴레이션(관계)의 정의
___집합과 관계형 모델
___집합이란
___관계형 모델과 NULL
___유한집합과 무한집합
___릴레이션의 연산
___제한(Restrict)
___프로젝션(Projection)
___확장(Extend)
___속성명 변경(Rename)
___합집합(Union)
___교집합(Intersect)
___차집합(Difference)
___곱집합(Product)
___결합(Join)
___클로저(closure) 성질
___관계형 모델의 데이터 형식
1.3 SQL에서 릴레이션 조작
___SELECT의 기본형
___INSERT(삽입)
___DELETE(삭제)
___UPDATE(갱신)
1.4 SQL에는 있고 관계형 모델에는 없는 것
___요소의 중복
___요소 사이의 순서
___릴레이션의 갱신
___트랜잭션
___스토어드 프로시저
___NULL
1.5 요약

▣ 02장: 술어논리와 관계형 모델
2.1 술어논리와 관계형 모델
___명제
___명제논리
___동어반복과 정리
___명제논리와 공리계
___명제논리의 한계와 양화논리(양한정)
___정량자와 술어논리
___정량자와 함께 사용하는 속박변수
___술어논리와 집합론
___도메인
___1차 술어논리
___2차 술어논리
___릴레이션의 참의 형태
___폐쇄 세계 가정
___모순된 DB는 쓸모없다
2.2 릴레이션의 연산과 술어논리
___제한(Restrict)
___곱집합(Product)
___결합(Join)
___교집합(Intersect)
___합집합(Union)
___차집합(Difference)
___프로젝션(Projection)
___속성명 변경(Rename)
___확장(Extend)
2.3 요약

▣ 03장: SQL과 관계형 모델
3.1 왜 DB 설계가 중요한가?
3.2 정규화
___관계형 모델을 보완하는 이론
___변칙을 방지할 수 있다
3.3 정규형
___정규형의 종류
___제1 정규형(1NF)
___후보키와 슈퍼키
___함수 종속성(FD)
___제2 정규형(2NF)
___제3 정규형(3NF)
___보이스코드 정규형(BCNF)
3.4 요약

▣ 04장: 정규화 이론(두 번째) - 결합 종속성
4.1 결합 종속성(JD)
___결합 종속성은 무손실 분해가 가능
___함수 종속성은 결합 종속성의 일종이다
___암시적 결합 종속성
___키가 아닌 속성과 결합 종속성
4.2 결합 종속성에 의한 정규화(4NF~6NF)
___제4 정규형(4NF)
___제5 정규형
___제6 정규형(6NF)
4.3 요약

▣ 05장: 릴레이션의 직교성
5.1 릴레이션의 직교성과 중복
___레플리카
___같은 형태의 릴레이션
___제목 일부만 같은 릴레이션
5.2 릴레이션 직교화를 위한 전략
___정규화
___속성(칼럼)의 이름 통일하기
___응용프로그램의 정합성
5.3 중복을 해결해 얻는 이점
___변칙을 막을 수 있다
___필요한 데이터가 어디에 있는지 명확해진다
___쿼리의 작성이 선언적이 된다
___불필요한 무손실 분해는 필요 없다
___복잡한 제약은 필요 없다
___응용프로그램의 코드에 낭비가 없어진다
___성능이 향상된다
5.4 요약

▣ 06장 도메인 설계 전략
6.1 도메인
___도메인이란
___집합의 요소
6.2 도메인 설계 전략의 개요
___모든 것은 자의적인 선택
___응용프로그램의 필요성으로 생겨난다
___데이터의 본질을 파악한다
___속성(칼럼)의 이름
6.3 ID를 설계한다는 개념
___현실 세계의 물체나 개념을 나타내는 수단
___관계형 모델의 키
___의미가 있는 ID
___ID의 결함이 미치는 영향
___색, 길이, 무게 등의 성질을 나타내는 속성
6.4 SQL로 도메인 표현
___적절한 데이터형 선택
___술어를 제약으로 표현
___도메인을 테이블로 표현
6.5 요약

▣ 07장: NULL과의 싸움
7.1 NULL
___NULL이란
___3치논리(3VL)
___3치 논리의 한계
___NULL은 폐쇄 세계 가정에 반한다
___옵티마이저에 대한 폐해
7.2 NULL의 대책
___테이블을 정규화한다
___잘못된 NULL 대책
___COALESCE 함수
___빈 문자열의 처리
___NULL을 사용해도 좋을 때
7.3 요약

▣ 08장: SELECT를 공략하자
8.1 SELECT는 SQL의 심장부
___SELECT의 본질
___SELECT의 기본 구조
8.2 SELECT의 다양한 모습
___집계함수
___서브쿼리
___뷰
___UNION
___조합은 자유
8.3 관계형이 아닌 조작
___관계형 조작의 복습
___정렬(sort)
___명시적으로 정의되지 않은 칼럼
___스토어드 함수(사용자 정의 함수)
___관계형이 아닌 조작의 취급법
8.4 들여쓰기로 SELECT 문장을 읽기 쉽게
___들여쓰기 규칙
8.5 요약

▣ 09장: 이력 데이터와 친해지기
9.1 이력 데이터의 문제점
___세상은 이력 데이터가 넘쳐난다
___이력과 관계형 모델의 상성 문제
___이력 데이터의 구체적인 예
___이력 데이터의 어떤 것이 문제가 되는가?
9.2 이력 데이터에 대한 해결책
___릴레이션을 나눈다
___가장 간단한 분할 방법
___중복행을 허용
___대리키
___미래의 가격을 어떻게 해야 할까?
9.3 이력데이터의 안티 패턴
___플래그 사용
___절차형으로 구현하자
9.4 요약

▣ 10장: 그래프에 맞서다
10.1 그래프의 구조
___노드, 에지
___인접
___차수
___보행, 트레일, 길
___다중 에지
___루프
___닫힌 보행
___연결
___부분 그래프
___컷세트, 브리지
___에지의 방향과 가중치
___그래프를 응용한 예
10.2 그래프의 종류
___일반 그래프
___단순 그래프
___연결 그래프/비 연결 그래프
___완전 그래프
___정규 그래프
___평면 그래프
___유향 그래프/무향 그래프
___가중 그래프
___트리(나무)
10.3 SQL과 그래프의 상성 문제
___그래프에 대한 쿼리
___무향 그래프를 표현할 수 있는가?
___유향 그래프를 이용한 표현
___릴레이션 관점에서 모델을 이해하자
___그래프에 대한 쿼리
___절차형에 의한 해법
___그래프 DB
___그 외의 문제
10.4 트리
___트리는 그래프의 일종
___인접 리스트 모델
___경로 열거 모델
___중첩 집합 모델
___클로저 테이블
___트리와 SQL에 관한 고찰
10.5 요약

▣ 11장: 인덱스 설계 전략
11.1 인덱스의 동작
___RDB의 인덱스
___인덱스의 왼쪽과 검색 범위
___보조 인덱스의 갱신
11.2 인덱스의 종류
___해시 인덱스
___전문 검색 인덱스
___R트리 인덱스
___함수 인덱스
___비트맵 인덱스
11.3 파티셔닝
___파티셔닝이란
___파티셔닝이 적합한 경우
___파티셔닝과 고유성 제약
___파티셔닝에 관한 일반적인 오해
11.4 관계형 모델과 인덱스
___인덱스는 관계형 모델의 일부가 아니다
___정규화와 인덱스
11.5 지령 : 최적의 인덱스를 찾아라!
___필요한 인덱스
___인덱스의 엑세스 특성
___인덱스가 사용되는 구문
___최적의 인덱스를 찾기 위한 전략
11.6 요약

▣ 12장: 웹 응용 프로그램을 위한 데이터 구조
12.1 캐시라는 개념
___장점/단점
___DB 응용 프로그램에서의 캐시
___캐시는 어디까지나 캐시
___캐시로 사용하기 위한 요건
___캐시 해야 할 데이터의 종류
12.2 캐시의 구축 방법
___NoSQL을 캐시로 사용
___테이블을 캐시로 사용
___집계 테이블
___조인(JOIN)된 데이터
___태그
12.3 스케일 아웃
___리플리케이션(복제)
___샤딩
12.4 요약

▣ 13장: 리팩터링 최적의 해결책
13.1 리팩터링
___DB 리팩터링은 어려운 작업
___다양한 응용 프로그램에 대한 DB 환경
___왜 리팩터링이 필요한가?
___리팩터링의 절차
___스키마의 이행 기간
___반복적인 리팩터링
13.2 리팩터링의 종류
___인덱스의 추가, 삭제
___칼럼 이름 변경
___NOT NULL 제약의 도입
___기본키의 정의 변경
___무손실 분해
___테이블의 수직 분할과 통합
13.3 리팩터링을 위한 모범 사례
___정규화와 직교성
___칼럼이 아닌 테이블을 추가
___SELECT *을 사용하지 않는다
___응용 프로그램을 소결합으로
13.4 요약

▣ 14장: 트랜잭션의 본질
14.1 트랜잭션
___트랜잭션의 기능
___트랜잭션의 키, 스케줄
___「데이터의 정확성」의 정의
___스케줄러의 성능
14.2 트랜잭션의 특징
___ACID란?
___다양한 비정상 상태
___갱신 분실
___스케줄과 잠금
___교착 상태(Dead Lock)
___트랜잭션 격리 수준
___MVCC
___크래시 복구
14.3 트랜잭션과 데이터 모델의 융합
___관계형 모델과 ACID의 「C」
___관계형 모델과 이상 현상
___정규화와 직교성
___제약
14.4 요약

저자 소개 관련자료 보이기/감추기

저자 : 오쿠노 미키야
토치키현에 거주하는 괴짜. 무료 소프트웨어의 보급을 일생의 사업으로 하고 있다. KDE를 애용하고 직장에서는 MySQL을 지원하는 일을 맡고 있다. 저서로는 『엑스퍼트를 위한 MySQL [운영+관리] 트러블 슈팅 가이드』 『MySQL Cluster 구축/운영 바이블』이 있으며, http://nippondanji.blogspot.com/ 블로그를 운영하고 있다.
역자 : 성창규
전자계산학을 전공하고, 엔씨소프트에서 데이터베이스 엔지니어로 근무했으며 엔씨제팬의 주재원, Line, gloops 등의 일본 기업에서 근무했다. 주로 게임 업계에서 PC와 모바일 관련한 대규모 인프라의 데이터베이스 시스템을 운영했으며, 서버 가상화 기술 및 빅 데이터 시스템에 많은 관심을 가지고 있다. 현재는 NHN Playart(일본) 그룹사의 데이터베이스 시스템을 총괄 관리하고 있다. 번역서로는 『서버/인프라 실전 구축 가이드』가 있다.

출판사 리뷰 출판사 리뷰 보이기/감추기

관계형 모델은 오래됐지만 늘 새로운 주제다. RDB가 등장하고 수십 년이 지났음에도 여전히 많은 사람이 이해하고 있다고 말하기는 어려우며, 관계형 모델 자체에 대해서도 제대로 설명되지 않고 있다. 거리에 넘쳐나는 기술서 중 SQL을 주제로 쓴 책은 많지만 관계형 모델이 무엇인지, 이를 어떻게 사용할 것인지에 관해 쓴 책은 거의 없다. 게다가 알기 쉽게 요약해서 정리한 책은 아예 없다.

이 책은 RDB 초심자를 위한 입문서는 아니며 DB 응용 프로그램을 개발한 경험이 있는 독자를 대상으로 한다. SQL을 제대로 다시 공부하고 싶다거나 아직은 관계형 모델에 대해서 잘 모르는 중급자가 주요 대상이다.

또, 이미 기본적인 SQL 문의 의미를 이해하고 있는 사람이 SQL에 대한 지식을 더욱 깊이 있게 터득하고 사용할 수 있게끔 하는 것을 목표로 하고 있다. 그리고 많은 사람이 RDB를 올바르게 사용하지 않아서 생기는 비극을 조금이라도 피할 수 있도록 도와주는 것을 목적으로 하고 있다.

이 책에서는 SQL과 관계 모델로 시작해 DB 설계와 응용프로그램 개발에 이르기까지 이론과 실습을 함께 다루고 있다. RDB에 대한 일반적인 내용이 주제이며 특정 제품에 대한 설명은 하지 않는다. 또한, SQL의 자세한 문법에 관해서도 다루지 않는다. 이미 독자들이 어느 정도 SQL을 이해하고 있다는 전제로 이야기하므로 SQL 문법을 자세히 알고 싶다면 다른 책을 먼저 참고하기 바란다.

회원리뷰 (1건) 리뷰 총점8.0

혜택 및 유의사항?
구매 RDB 입문 내용 평점4점   편집/디자인 평점4점 n**l | 2018.05.19 | 추천1 | 댓글0 리뷰제목
간단히 CRUD를 할 줄 아는 사람들은 많을 것이다. 하지만 좀 더 근본적으로 그 속내와 철학을 알고 바르게 사용 하는 사람들은 얼마 없을 것 같다. RDB를 조금 더 RDB 답게 사용하고자 하는 사람들에게 추천할 만한 책이다.목차SQL과 관계형 모델술어논리와 관계형 모델정규화 논리(첫 번째) - 함수 종속성정규화 이론(두 번째) - 결합 종속성릴레이션의 직교성도메인 설계 전;
리뷰제목

간단히 CRUD를 할 줄 아는 사람들은 많을 것이다. 하지만 좀 더 근본적으로 그 속내와 철학을 알고 바르게 사용 하는 사람들은 얼마 없을 것 같다. RDB를 조금 더 RDB 답게 사용하고자 하는 사람들에게 추천할 만한 책이다.


목차

  1. SQL과 관계형 모델
  2. 술어논리와 관계형 모델
  3. 정규화 논리(첫 번째) - 함수 종속성
  4. 정규화 이론(두 번째) - 결합 종속성
  5. 릴레이션의 직교성
  6. 도메인 설계 전략
  7. NULL과의 싸움
  8. SELECT를 공략하자
  9. 이력 데이터와 친해지기
  10. 그래프에 맞서다
  11. 인덱스 설계 전략
  12. 웹 응용프로그램을 위한 데이터 구조
  13. 리팩터링 최적의 해결책
  14. 트랜잭션의 본질


  기존의 SQL 설명서 같은 책들과 확연하게 구분되는 점이 있다. 바로 SQL과 관계형 모델을 철저하게 분리하여 설명하는 것이다. 제목이 제목이니만큼 관계형 모델에 초점을 맞추어 설명을 한다. 1,2장을 읽는 동안 이렇게까지 해야하나 싶을 정도로 집합론과 논리학에 대한 부분을 많이 설명하고 있다. 하지만 1,2장의 설명이 3장 이후의 내용들을 이해하는데 매우 중요한 역할을 한다는 것을 느끼게 되었다. 그만큼 관계형 데이터베이스는 집합론과 논리학에 기반하여 만들어진 데이터베이스이다. "SQL 작성해봐서 아는데 그다지 상관 없어 보이는데?"라고 하는 사람들도 있을 수 있다. 당연하다. 왜냐하면 관계형 데이터베이스 != SQL이기 때문이다. 아래와 같은 점들은 대응이 된다.


관계형 모델 

SQL 

릴레이션 

테이블 

튜플 

행 

속성 

칼럼 


  하지만 관계형 모델에는 NULL이라는 것이 없다는 것과 중복이 발생할 수 없다. 왜냐하면 릴레이션을 튜플의 집합으로 보기 때문이다. 자세한 건 책을 참고하자.


  릴레이션의 직교성(릴레이션들 간에 중복이 없음) 부분도 인상 깊었다. 정규화에 대한 내용이나 인덱스, 트랜잭션에 관한 부분들을 읽을 때는 학부 3학년 Database 수업이 새록새록 떠올랐다. 그 때 수업을 영어로 안듣고 한글수업으로 들었다면 지금 잘 기억하고 있었을까? 트랜잭션 부분은 구글링해봐도 속시원히 설명이 된 것을 못봤는데 잘 정리되어 있어서 정말 좋았다. 저자에게 물어보고 트랜잭션 부분을 블로그에 정리할 수 있으면 해봐야겠다.

댓글 0 1명이 이 리뷰를 추천합니다. 공감 1

한줄평 (3건) 한줄평 총점 8.6

혜택 및 유의사항 ?
구매 평점5점
수학을 기반으로 어떻게 만들어졌는 지를 알 수 있는 책
이 한줄평이 도움이 되었나요? 공감 0
달* | 2018.12.19
구매 평점5점
기초 다지기 좋아요.
이 한줄평이 도움이 되었나요? 공감 0
n**l | 2018.05.19
평점3점
동생이 일하는데 읽는다고 구입!
이 한줄평이 도움이 되었나요? 공감 0
l********0 | 2016.12.06
  • 절판 상태입니다.
뒤로 앞으로 맨위로 aniAlarm