Beginning SQL Server 2005 Programming
도서명:Beginning SQL Server 2005 Programming
저자/출판사:Robert,Vieira/정보문화사
쪽수:791쪽
출판일:2006-10-23
ISBN:9788956743479
목차
서문
이 책의 대상 독자
이 책이 다루는 내용
이 책의 구성
사전 준비사항
일러두기
소스 코드
독자 문의 지원
제1장 RDBMS의 기본: SQL Server 데이터베이스는 무엇으로 이루어지는가?
데이터베이스 개체의 개요
데이터베이스 개체
트랜잭션 로그
가장 기본적인 데이터베이스 개체: 테이블
파일 그룹
다이어그램
뷰
저장 프로시저
사용자 정의 함수
사용자와 역할
규칙
기본값
사용자 정의 데이터 형식
전체 텍스트 카탈로그
SQL Server 데이터 형식
NULL 데이터
개체에 대한 SQL Server 식별자
이름이 있는 개체
이름짓기의 규칙
요약
제2장 SQL Server 2005의 도구
온라인 도움말
SQL Server 구성 관리자
서비스 관리
네트워크 설정
프로토콜
클라이언트 연결
SQL Server Management Studio
시작하기
쿼리 창
SQL Server Integration Services(SSIS)
대량 복사 프로그램(bcp)
SQL Server 프로파일러
sqlcmd
요약
제3장 SQL의 기본 문
기본적인 SELECT 문
SELECT 문과 FROM 절
WHERE 절
ORDER BY
GROUP BY 절을 사용한 데이터 집계
HAVING 절과 함께 그룹에 조건을 사용
FOR XML 절을 사용한 XML 출력
OPTION 절을 사용한 힌트의 사용
DISTINCT 및 ALL 조건자
INSERT 문을 사용한 데이터 추가
INSERT INTO ... SELECT 문
UPDATE 문을 사용한 데이터의 변경
DELETE 문
요약
연습
제4장 JOIN
JOIN
INNER JOIN
INNER JOIN과 WHERE 절의 유사점
OUTER JOIN
간단한 OUTER JOIN
보다 복잡한 OUTER JOIN
FULL JOIN을 사용한 양쪽 보기
CROSS JOIN
JOIN에 사용되는 대체 구문
INNER JOIN의 대체 구문
OUTER JOIN의 대체 구문
CROSS JOIN의 대체 구문
UNION
요약
연습
제5장 테이블의 생성과 변경
SQL Server에서의 개체 이름
스키마 이름
데이터베이스 이름
서버 이름 지정
기본값 확인
CREATE 문
CREATE DATABASE
CREATE TABLE
ALTER 문
ALTER DATABASE
ALTER TABLE
DROP 문
GUI 도구 사용
Management Studio를 사용하여 데이터베이스 만들기
코드로 돌아가기: Management Studio에서의 스크립트 생성
요약
연습
제6장 제약 조건
제약 조건의 유형
도메인 제약 조건
엔터티 제약 조건
참조 무결성 제약 조건
제약 조건 이름짓기
키 제약 조건
PRIMARY KEY 제약 조건
FOREIGN KEY 제약 조건
UNIQUE 제약 조건
CHECK 제약 조건
DEFAULT 제약 조건
CREATE TABLE 문에 DEFAULT 제약 조건 정의
기존 테이블에 DEFAULT 제약 조건 추가
제약 조건 해제
제약 조건을 만들 때 잘못된 데이터 무시하기
기존 제약 조건을 임시로 해제
규칙과 기본값 - 제약 조건의 사촌들
규칙
기본값
지정한 규칙이나 기본값을 사용하는 테이블 및 데이터 형식 확인
데이터 무결성을 위한 트리거
사용할 기능을 선택
요약
제7장 쿼리, 그 이상의 쿼리
하위 쿼리란?
중첩 쿼리 만들기
상호 관련된 하위 쿼리
상호 관련된 쿼리의 작동 방식
WHERE 절 내에서의 상호 관련된 하위 쿼리
NULL 값의 제어, ISNULL 함수
파생 테이블
EXISTS 연산자
EXISTS의 다른 쓰임
데이터 형식의 혼합: CAST와 CONVERT
성능 관련 내용
조인과 하위 쿼리
요약
연습
제8장 정규화 및 기타 기본 설계 문제
테이블
데이터의 정규화 유지
시작하기 전에
일차 정규 형식
이차 정규 형식
삼차 정규 형식
그 밖의 정규 형식
관계
일대일
일대일 또는 다
다대다
다이어그램 작성
테이블
테이블 추가 및 삭제
관계
정규화 해제
정규화 이후
단순하게 유지할 것
데이터 형식 선택
데이터 저장 측면의 실수
간단한 다이어그램 예
데이터베이스 작성
다이어그램 및 초기 데이터 추가
관계 추가
제약 조건 추가
요약
연습
제9장 SQL Server 저장소 및 인덱스 구조
SQL Server 저장소
데이터베이스
익스텐트
페이지
행
인덱스의 이해
B-트리
SQL Server에서 데이터를 액세스하는 방식
인덱스 작성, 변경 및 삭제
CREATE INDEX 문
XML 인덱스 만들기
제약 조건에 따라 생성되는 암시적인 인덱스
현명한 선택: 때와 장소에 따른 적절한 인덱스 선택
선택도
조사 비용: 적은 것이 더 많은 경우
클러스터형 인덱스 선택
열 순서 문제
인덱스 삭제
데이터베이스 엔진 튜닝 마법사 사용
인덱스 유지 관리
조각화
조각화 vs. 페이지 분할 개연성 식별
요약
연습
제10장 뷰
간단한 뷰
필터로서의 뷰
좀더 복잡한 뷰
데이터 변경을 위한 뷰 사용-INSTEAD OF 트리거 이전
T-SQL로 뷰 편집
뷰 삭제
Management Studio에서의 뷰 작성 및 편집
Management Studio에서 뷰 편집
감사: 기존 코드 표시
코드 보호: 뷰 암호화
스키마 바인딩 정보
VIEW_METADATA를 사용하여 뷰를 테이블처럼 보이도록 하는 방법
인덱싱된(구체화된) 뷰
요약
연습
제11장 스크립트와 일괄 처리 작성
스크립트 기초
USE 문
변수 선언
@@IDENTITY 사용
@@ROWCOUNT 사용
일괄 처리
일괄 처리 내의 오류
일괄 처리를 사용할 시점
SQLCMD
동적 SQL: EXEC 명령과 함께 즉석 코드 생성
EXEC의 조건
요약
연습
제12장 저장 프로시저
저장 프로시저 만들기: 기본 구문
기본적인 저장 프로시저의 예
ALTER로 저장 프로시저 변경
저장 프로시저 삭제
매개변수화
매개변수 선언
흐름 제어 문
IF . . . ELSE 문
CASE 문
WHILE 문을 사용한 루프 제어
WAITFOR 문
TRY/CATCH 블록
반환 값으로 성공 또는 실패 확인
RETURN 사용 방법
오류 처리
이전의 방식. . .
발생하기 전에 오류 처리
수동으로 오류 발생
사용자 지정 오류 메시지 추가
저장 프로시저에서 제공하는 것
호출할 수 있는 프로세스 만들기
보안을 위한 저장 프로시저 이용
저장 프로시저와 성능
확장 저장 프로시저
재귀에 대한 간단한 설명
디버깅
디버깅을 위한 SQL 서버 설정
디버거 시작
디버거의 구성
디버거 실행 및 사용
.NET 어셈블리
요약
연습
제13장 사용자 정의 함수
UDF란 무엇인가?
스칼라 값을 반환하는 UDF
테이블을 반환하는 UDF
결정성의 이해
사용자 정의 함수 디버깅
데이터베이스 세계의 .NET
요약
연습
제14장 트랜잭션과 잠금
트랜잭션
BEGIN TRAN
COMMIT TRAN
ROLLBACK TRAN
SAVE TRAN
SQL Server 로그의 작동 방식
실패 및 복구
암시적 트랜잭션
잠금과 동시성
잠금으로 방지할 수 있는 문제
잠글 수 있는 리소스
잠금 에스컬레이션 및 성능에 대한 잠금의 영향
잠금 모드
잠금 호환성
세부적인 잠금 유형 지정-최적화 프로그램 힌트
격리 수준 설정
교착 상태의 처리(일명 "1205")
SQL Server에서 교착 상태 존재 여부를 확인하는 방법
희생자를 선택하는 방법
교착 상태를 피하는 방법
요약
제15장 트리거
트리거의 정의
ON
WITH ENCRYPTION
FOR|AFTER vs. INSTEAD OF 절
WITH APPEND
NOT FOR REPLICATION
AS
데이터 무결성 규칙을 위한 트리거 사용
다른 테이블을 참조해야 하는 요구 조건의 처리
업데이트 델타 확인을 위한 트리거 사용
사용자 지정 오류 메시지를 위한 트리거 사용
기타 일반적인 트리거 사용
기타 트리거 관련 문제
트리거는 중첩될 수 있다
트리거는 재귀적으로 사용될 수 있다
트리거는 아키텍처 변경을 방지하지 않는다
트리거는 제거하지 않고 비활성화시킬 수 있다
트리거 시작 순서
INSTEAD OF 트리거
성능 고려사항
트리거는 자동적이지 않고 수동적이다
트리거는 트리거를 실행한 프로세스와 동시성 문제를 일으키지 않는다
IF UPDATE() 및 COLUMNS_UPDATED 사용
가능한 짧게 유지
인덱스를 선택할 때 트리거를 잊지 말자
가능한 한 트리거 내에서 롤백을 수행하지 말자
트리거 삭제
트리거 디버깅
요약
제16장 XML 기초
XML 기본
XML 문서의 구성
네임스페이스
요소 내용
유효함 vs. 올바른 형식-스키마와 DTD
SQL Server의 추가 기능
XML 형식으로 관계 데이터 검색
RAW
AUTO
EXPLICIT
PATH
OPENXML
XSLT 개요
요약
제17장 Reporting Services 살펴보기
Reporting Services 101
간단한 보고서 모델 만들기
데이터 원본 뷰
보고서 작성
보고서 서버 프로젝트
보고서 배포
요약
제18장 Integration Services를 활용한 통합
문제의 이해
가져오기/내보내기 마법사를 사용한 기본 패키지 생성
패키지 실행
패키지 실행 유틸리티 사용
Business Intelligence Development Studio에서 실행
Management Studio에서 실행
패키지 편집
요약
제19장 관리자 작업
작업 예약
운영자 만들기
작업 및 태스크 만들기
백업 및 복구
백업 만들기
복구 모델
복구
인덱스 유지 관리
ALTER INDEX
데이터 보관
요약
연습
부록 A 연습 문제 해답
부록 B 시스템 함수
부록 C 올바른 도구 찾기
부록 D 간단한 연결 예제
부록 E 예제의 설치 및 사용
찾아보기