책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > SQL
· ISBN : 9788960778511
· 쪽수 : 656쪽
· 출판일 : 2016-04-26
책 소개
목차
1부 튜토리얼
1장 시작
1.1 설치
1.2 기본적인 아키텍처
1.3 데이터베이스 생성
1.4 데이터베이스 액세스
2장 SQL 언어
2.1 소개
2.2 개념
2.3 새 테이블 생성
2.4 테이블을 행으로 채우기
2.5 테이블에서 쿼리 사용
2.6 테이블 간 조인
2.7 집계 함수
2.8 업데이트
2.9 삭제
3장 고급 기능
3.1 소개
3.2 뷰
3.3 외래 키
3.4 트랜잭션
3.5 Window 함수
3.6 상속
3.7 결론
2부 SQL 언어
4장 SQL 구문
4.1 어휘 구조
4.1.1 식별자 및 키워드
4.1.2 상수
4.1.2.1 스트링 상수
4.1.2.2 C 스타일 이스케이프를 사용한 스트링 상수
4.1.2.3 유니코드 이스케이프를 사용한 스트링 상수
4.1.2.4 달러 인용 스트링 상수
4.1.2.5 비트 스트링 상수
4.1.2.6 숫자 상수
4.1.2.7 다른 타입의 상수
4.1.3 연산자
4.1.4 특수 문자
4.1.5 주석
4.1.6 연산자 우선 순위
4.2 값 표현식
4.2.1 컬럼 참조
4.2.2 위치 매개변수
4.2.3 첨자
4.2.4 필드 선택
4.2.5 연산자 호출
4.2.6 함수 호출
4.2.7 집계 표현식
4.2.8 Window 함수 호출
4.2.9 타입 캐스트
4.2.10 콜레이션 표현식
4.2.11 스칼라 서브쿼리
4.2.12 배열 생성자
4.2.13 행 생성자
4.2.14 표현식 평가 규칙
4.3 함수 호출
4.3.1 위치 표시법 사용
4.3.2 지명 표시법 사용
4.3.3 혼합 표시법 사용
5장 데이터 정의
5.1 테이블 기초
5.2 기본값
5.3 제약 조건
5.3.1 CHECK 제약 조건
5.3.2 NOT NULL 제약 조건
5.3.3 UNIQUE 제약 조건
5.3.4 기본 키
5.3.5 외래 키
5.3.6 제외 제약 조건
5.4 시스템 컬럼
5.5 테이블 수정
5.5.1 컬럼 추가
5.5.2 컬럼 삭제
5.5.3 제약 조건 추가
5.5.4 제약 조건 삭제
5.5.5 컬럼의 기본값 변경
5.5.6 컬럼의 데이터 타입 변경
5.5.7 컬럼 이름 변경
5.5.8 테이블 이름 변경
5.6 권한
5.7 스키마
5.7.1 스키마 생성
5.7.2 공용 스키마
5.7.3 스키마 검색 경로
5.7.4 스키마 및 권한
5.7.5 시스템 카탈로그 스키마
5.7.6 사용 패턴
5.7.7 이식성
5.8 상속
5.8.1 주의점
5.9 파티셔닝
5.9.1 개요
5.9.2 파티셔닝 구현
5.9.3 파티션 관리
5.9.4 파티셔닝 및 제약 조건 제외
5.9.5 대체 파티셔닝 방법
5.9.6 주의점
5.10 외래 데이터
5.11 기타 데이터베이스 개체
5.12 종속성 추적
6장 데이터 조작
6.1 데이터 삽입
6.2 데이터 업데이트
6.3 데이터 삭제
7장 쿼리
7.1 개요
7.2 테이블 표현식
7.2.1 FROM 절
7.2.1.1 조인된 테이블
7.2.1.2 테이블 및 컬럼 별칭
7.2.1.3 서브쿼리
7.2.1.4 테이블 함수
7.2.1.5 LATERAL 서브쿼리
7.2.2 WHERE 절
7.2.3 GROUP BY 및 HAVING 절
7.2.4 Window 함수 처리
7.3 선택 목록
7.3.1 선택 목록 항목
7.3.2 컬럼 라벨
7.3.3 DISTINCT
7.4 쿼리 결합
7.5 행 정렬
7.6 LIMIT 및 OFFSET
7.7 VALUES 목록
7.8 WITH 쿼리(공통 테이블 표현식)
7.8.1 WITH의 SELECT
7.8.2 WITH에서의 데이터 수정 문구
8장 데이터 타입
8.1 숫자 타입
8.1.1 정수 타입
8.1.2 임의의 전체 자릿수 숫자
8.1.3 부동소수점 타입
8.1.4 시리얼 타입
8.2 금액 타입
8.3 문자 타입
8.4 바이너리 데이터 타입
8.4.1 bytea 16진수 형식
8.4.2 bytea 이스케이프 형식
8.5 날짜/시간 타입
8.5.1 날짜/시간 입력
8.5.1.1 날짜
8.5.1.2 시각
8.5.1.3 타임 스탬프
8.5.1.4 특수 값
8.5.2 날짜/시간 출력
8.5.3 시간대
8.5.4 간격 입력
8.5.5 간격 출력
8.6 Boolean 타입
8.7 열거형 타입
8.7.1 열거형 타입의 선언
8.7.2 순서
8.7.3 타입 안전성
8.7.4 구현 세부 사항
8.8 기하학적 타입
8.8.1 점
8.8.2 선
8.8.3 선분
8.8.4 상자
8.8.5 경로
8.8.6 다각형
8.8.7 원
8.9 네트워크 주소 타입
8.9.1 inet
8.9.2 cidr
8.9.3 inet vs. cidr
8.9.4 macaddr
8.10 비트 스트링 타입
8.11 텍스트 검색 타입
8.11.1 tsvector
8.11.2 tsquery
8.12 UUID 타입
8.13 XML 타입
8.13.1 XML 값 생성
8.13.2 인코딩 처리
8.13.3 XML 값 액세스
8.14 JSON 타입
8.14.1 JSON 입력 및 출력 구문
8.14.2 효율적으로 JSON 도큐먼트 설계
8.14.3 jsonb 제약 조건 및 존재
8.14.4 jsonb 인덱싱
8.15 배열
8.15.1 배열 타입의 선언
8.15.2 배열 값 입력
8.15.3 배열 액세스
8.15.4 배열 수정
8.15.5 배열에서의 검색
8.15.6 배열 입력 및 출력 구문
8.16 컴포지트 타입
8.16.1 컴포지트 타입의 선언
8.16.2 컴포지트 값 입력
8.16.3 컴포지트 타입 액세스
8.16.4 컴포지트 타입 수정
8.16.5 컴포지트 타입 입력 및 출력 구문
8.17 범위 타입
8.17.1 기본 제공 범위 타입
8.17.2 예제
8.17.3 경계 포함 및 제외
8.17.4 무한(무경계) 범위
8.17.5 범위 입력/출력
8.17.6 범위 생성
8.17.7 불연속 범위 타입
8.17.8 새 범위 타입 정의
8.17.9 인덱싱
8.17.10 범위에 대한 제약 조건
8.18 개체 식별자 타입
8.19 pg_lsn 타입
8.20 의사 타입
9장 함수 및 연산자
9.1 논리 연산자
9.2 비교 연산자
9.3 수학 함수 및 연산자
9.4 스트링 함수 및 연산자
9.4.1. format
9.5 바이너리 스트링 함수 및 연산자
9.6 비트 스트링 함수 및 연산자
9.7 패턴 일치
9.7.1. LIKE
9.7.2. SIMILAR TO 정규 표현식
9.7.3. POSIX 정규 표현식
9.7.3.1. 정규 표현식 디테일
9.7.3.2. 대괄호 표현식
9.7.3.3. 정규 표현식 이스케이프
9.7.3.4. 정규 표현식 Metasyntax
9.7.3.5. 정규 표현식 일치 규칙
9.7.3.6. 제한 및 호환성
9.7.3.7. 기본 정규 표현식
9.8 데이터 타입 서식 지정 함수
9.9 날짜/시간 함수 및 연산자
9.9.1. EXTRACT, date_part
9.9.2 date_trunc
9.9.3 AT TIME ZONE
9.9.4 현재 날짜/시간
9.9.5 실행 지연
9.10 Enum 지원 함수
9.11 기하학적 함수 및 연산자
9.12 네트워크 주소 함수 및 연산자
9.13 텍스트 검색 함수 및 연산자
9.14 XML 함수
9.14.1 XML 콘텐츠 생성
9.14.1.1 xmlcomment
9.14.1.2 xmlconcat
9.14.1.3 xmlelement
9.14.1.4 xmlforest
9.14.1.5 xmlpi
9.14.1.6 xmlroot
9.14.1.7 xmlagg
9.14.2 XML 조건자
9.14.2.1 IS DOCUMENT
9.14.2.2 XMLEXISTS
9.14.2.3 xml_is_well_formed
9.14.3 XML 처리
9.14.4 테이블을 XML에 매핑
9.15 JSON 함수 및 연산자
9.16 시퀀스 조작 함수
9.17 조건 표현식
9.17.1 CASE
9.17.2 COALESCE
9.17.3 NULLIF
9.17.4 GREATEST 및 LEAST
9.18 배열 함수 및 연산자
9.19 범위 함수 및 연산자
9.20 집계 함수
9.21 윈도우 함수
9.22 서브쿼리 표현식
9.22.1 EXISTS
9.22.2 IN
9.22.3 NOT IN
9.22.4 ANY/SOME
9.22.5 ALL
9.22.6 단일 행 비교
9.23 행 및 배열 비교
9.23.1 IN
9.23.2 NOT IN
9.23.3 ANY/SOME (배열)
9.23.4 ALL(배열)
9.23.5 행 생성자 비교
9.23.6 컴포지트 타입 비교
9.24 집합 리턴 함수
9.25 시스템 정보 함수
9.26 시스템 관리 함수
9.26.1 구성 설정 함수
9.26.2 서버 시그널링 함수
9.26.3 백업 제어 함수
9.26.4 복구 제어 함수
9.26.5 스냅샷 동기화 함수
9.26.6 복제 함수
9.26.7 데이터베이스 개체 관리 함수
9.26.8 일반 파일 액세스 함수
9.26.9 경고성 잠금 함수
9.27 트리거 함수
9.28 이벤트 트리거 함수
10장 타입 변환
10.1 개요
10.2 연산자
10.3 함수
10.4 값 저장
10.5 UNION, CASE 및 관련 구문
11장 인덱스
11.1 소개
11.2 인덱스 타입
11.3 멀티컬럼 인덱스
11.4 인덱스 및 ORDER BY
11.5 복수 인덱스 조합
11.6 고유 인덱스
11.7 표현식의 인덱스
11.8 부분 인덱스
11.9 연산자 클래스 및 연산자 패밀리
11.10 인덱스 및 콜레이션
11.11 디스크 사용 검사
12장 전체 텍스트 검색
12.1 소개
12.1.1 도큐먼트란
12.1.2 기본 텍스트 일치
12.1.3 구성
12.2 테이블 및 인덱스
12.2.1 테이블 검색
12.2.2 인덱스 생성
12.3 전체 텍스트 제어
12.3.1 도큐먼트 파싱
12.3.2 쿼리 파싱
12.3.3 검색 결과 순위 지정
12.3.4 결과 강조 표시
12.4 추가 기능
12.4.1 도큐먼트 조작
12.4.2 쿼리 조작
12.4.2.1 쿼리 재작성
12.4.3 자동 업데이트의 트리거
12.4.4 도큐먼트 통계 모으기
12.5 파서
12.6 사전
12.6.1 불용어
12.6.2 간단 사전
12.6.3 동의어 사전
12.6.4 유의어 사전
12.6.4.1 유의어 구성
12.6.4.2 유의어 예제
12.6.5 Ispell 사전
12.6.6 Snowball 사전
12.7 구성 예제
12.8 텍스트 검색 테스트 및 디버깅
12.8.1 구성 테스트
12.8.2 파서 테스트
12.8.3 사전(dictionary) 테스트
12.9 GiST 및 GIN 인덱스 타입
12.10 psql 지원
12.11 제한
12.12 8.3 이전 텍스트 검색에서 마이그레이션
13장 동시성 제어
13.1 소개
13.2 트랜잭션 격리
13.2.1 읽기 커밋됨 격리 레벨
13.2.2 반복 가능 읽기 격리 레벨
13.2.3 직렬화 가능 격리 레벨
13.3 명시적 잠금
13.3.1 테이블 레벨 잠금
13.3.2 행 레벨 잠금
13.3.3 페이지 레벨 잠금
13.3.4 데드락
13.3.5 경고성 잠금
13.4 애플리케이션 레벨에서 데이터 일관성 검사
13.4.1 직렬화 가능 트랜잭션을 이용한 일관성 강제
13.4.2 명시적 차단 잠금을 사용한 동시성 강제
13.5 잠금 및 인덱스
14장 성능 팁
14.1 EXPLAIN 사용
14.1.1 EXPLAIN 기초
14.1.2 EXPLAIN ANALYZE
14.1.3 주의점
14.2 플래너에 의해 사용되는 통계
14.3 명시적 JOIN 절을 사용해 플래너 제어
14.4 데이터베이스 채우기
14.4.1 자동 커밋 비활성화
14.4.2 COPY 사용
14.4.3 인덱스 삭제
14.4.4 외래 키 제약 조건 삭제
14.4.5 maintenance_work_mem 증가
14.4.6 checkpoint_segments 증가
14.4.7 WAL 아카이브 및 스트리밍 복제 비활성화
14.4.8 나중에 ANALYZE 실행
14.4.9 pg_dump에 대한 몇 가지 주의 사항
14.5 비영속적 설정