1장. SQL 서버 2005에 대한 소개
SQL 서버의 역사
SQL 서버 2005는 무엇이 바뀌었는가?
2장. 서버로서의 SQL 서버
메인프레임 시대에서 클라이언트/서버 시스템으로
클라이언트/서버 컴퓨팅
프로그래머에 대한 성선설과 성악설의 가정
SQL 서버의 프로세스 모델
3장. SQL 서버 라이선스 전략이 왜 중요한가?
가장 쉬운 게 가장 어렵다
라이선스는 왜 중요한가?
SQL 서버 2005 소프트웨어 에디션
SQL 서버 2005의 라이선스 종류
4장. RAID 시스템의 이해
시스템 설계 정말 어렵다
DB 서버 도입에서 필요한 하드웨어 판단
스토리지와 관련된 하드웨어 용어들
RAID 시술의 이해
5장. SQL 서버의 설치
SQL 서버를 설치하자
서비스 팩 설치
설치 및 업그레이드 이슈들
6장. SQL 서버 구성과 설정
SQL 서버 2005 노출 영역 구성
서비스 및 연결에 대한 노출 영역 구성
기능에 대한 노출 영역 구성
SQL 서버 구성 관리자
7장. SQL 서버 연결과 쿼리 실행
SQL Server Management Studio
SSMS 연결
개체 탐색기
요약 화면
쿼리 창
8장. SQL 서버의 시작과 종료
시작과 종료의 중요성
SQL 서버의 시작
SQL 서버의 다양한 시작 방법
직접 SQL 서버 시작하기
SQL 서버 중지하기
9장. 관계형 데이터베이스의 이해
관계형 데이터베이스의 이해
관계형 데이터베이스
데이터모델링
실제 개체 관계도 작성해보기
10장. 데이터베이스 만들기
데이터베이스란?
데이터베이스 만들기
11장. 데이터 형식의 이해
시스템 데이터 타입
사용자 정의 데이터 타입
데이터 형식의 설정
유니코드 문자 정렬
데이터 형식 판단 팁
12장. 테이블
개요
테이블이란?
테이블의 특징과 제약
테이블 만들기
테이블의 예
테이블 수정하기
테이블 삭제하기
기본 키의 설정
스크립트 만들기
테이블 만들기와 관련하여 고려해야 할 사항들
13장. Transact-SQL 기본
개요
SQL의 종류
14장. Insert와 Update, Delete
간단한 개념 파악
INSERT
UPDATE
DELETE
15장. SELECT 심화
SELECT 수행 방법
집계 연산
16장. JOIN과 UNION
데이터의 결합
JOIN
집합의 개념과 JOIN 쿼리
집합 연산
JOIN Method
UNION
마무리
17장. NULL
No Value, but not Emptiness!
NULL 비교
NULL Operation
Function about null
NULL과 NOT IN
마무리
18장. 서브 쿼리
서브 쿼리의 종류
상관되지 않은 서브 쿼리
상관 서브 쿼리
인라인 뷰
ANY and ALL
Multi-Rows, Single-Row, Multi-Columns, Single Column
Existing query
Subquery Performance
마무리
19장. Transact-SQL 프로그래밍
절차형 스크립트 언어로서의 T-SQL
변수 선언 및 사용
주석 처리
시스템 전역 변수
일괄 처리
T-SQL 제어문
20장. 뷰의 이해와 생성
뷰란 무엇인가?
뷰의 장점 혹은 목적
뷰의 생성
뷰의 수정
뷰의 삭제
뷰에 대한 정보 보기와 WITH ENCRYPTION
뷰를 통한 데이터 수정과 WITH CHECK OPTION
뷰의 사용자 권한 문제
마무리
21장. Transact-SQL 고급
SQL 서버 2005 고급 Transact-SQL
사전 테이블 생성
인라인 메모리 뷰
CASE ... WHEN
데이터 복제
시퀀스
동적 쿼리
22장. 저장 프로시저, 커서와 트리거
저장 프로시저
트리거
커서
23장. 사용자 정의 함수
사용자 정의 함수
SQL에서 사용자 정의 함수 사용
비 결정적 함수
입력 파라미터
사용자 정의 함수와 체크 제약조건
계산된 컬럼에 응용
CROSS APPLY와 PUTER APPLY
24장. 데이터 무결성 디자인 및 적용하기
데이터 무결성이란?
제약조건 생성 방법
DEFAULT와 RULE 사용법
마무리
25장. 트랜잭션과 락
동시성과 일관성
트랙잭션의 개념
트랙잭션의 종류
명시적인 트랜잭션
암시적 트랜잭션
중첩 트랜잭션
트랜잭션 저장점
락의 이해
락의 설정대상
락 간의 호환성
락에 대한 정보 보기
트랜잭션 격리 수준
잠금 참고
데드락 처리하기
데드락 우선순위 설정
데드락 최소화
트랜잭션 로그 아키텍처
마무리
26장. 보안과 스키마
인증
로그인과 유저
역할
권한
스키마
SQL 서버 보안과 관련된 충고들
27장. 분산 쿼리
분산 쿼리는 왜 필요한가?
분산 쿼리 종류
분산 쿼리 이용하기
분산 트랜잭션
마무리
28장. 데이터와 인덱스 아키텍처
시스템 구조
데이터 파일 구조
로그 파일 구조
데이터 페이지의 구조
데이터 페이지의 동작 원리
인덱스
인덱스의 자료구조 B-Tree
넌클러스터드 인덱스 구조
단일 데이터 검색
범위 검색 과정
새로운 데이터의 추가
클러스터드 인덱스 구조
클러스터드 인덱스와 넌클러스터드 인덱스가 동일하게 적용되어 있는 경우
클러스터드 인덱스에서 데이터 검색
클러스터드 인덱스에서 데이터의 변경
마무리
29장. 인덱스 생성과 관리
인덱스의 생성
유니크 인덱스
복합 인덱스
커버드 인덱스
FillFactor와 Pad_Index 옵션
기타 옵션
질의 최적화기
질의 최적화기의 수행
인덱스 단편화 현상
DBCC INDEXDEFRAG
인덱스 사용시 고려사항
30장. 옵티마이저와 검색 인자
Query Execution?
Is Index Useful?
SARG
쿼리 이용의 절대 규칙
Something Beautiful
JOIN and Query Performance
마무리
31장. 전체 텍스트 검색 서비스
전체 텍스트 검색이란?
아키텍처
전체 텍스트 카탈로그
전체 텍스트 인덱스
전체 텍스트 인덱스 채우기
전체 텍스트 검색 쿼리
전체 텍스트 인덱스에 대한 정보 수집
마무리
32장. 백업과 복원, 스냅샷
데이터베이스 개체의 백업과 복원
DCM 및 BCM
백업 종류별 방법
백업 프로세스
백업 및 복원 정책
백업 성능과 지침
트랜잭션 로그
트랜잭션 복구
깨어진 파일 복구하기
데이터베이스 스냅샵
33장. XML
XML 기본
SQL 서버 XML 기능
XQuery 사용하기
마무리
34장. 복제
복제의 개념
복제의 구성
복제 유형
복제 토폴로지
복제 구현
마무리
35장. 유용한 주제들
데이터 가져오기 및 내보내기 마법사
데이터베이스 복사하기 마법사
SQL Server Migration Assistant for Oracle 1.0
유지 관리 계획 마법사
리포트 서버 이용하기
36장. 클라이언트 커넥션과 리소스 풀링
클라이언트
마무리
37장. 쿼리 테크닉이란
"데이터베이스는 테트리스다"
더 짧은 탐색 경로를 가지도록 하자
더 적은 데이터 페이지들을 읽어 들이도록 하자
읽은 순서 그래도 사용해라
한번 읽어 들인 데이터를 재활용해라
Think Different
사전 테이블과 복제
마무리
38장. 데이터베이스 전문가가 되고자 하는 사람들을 위하여
모두들 어떻게 시작하는가?
관계형 데이터베이스는 어떻게 공부해야 할까?
쿼리는 프로그래밍인가? 아닌가?
집합형 사고
모든 것이 사건
쿼리 테크닉
필요한 비타민, 아카데믹한 것
후기