상세 컨텐츠

본문 제목

T-SQL 프로그래밍 입문

전체 출간 도서

by 비제이퍼블릭 2013. 9. 6. 10:55

본문

 

 

 

T-SQL 프로그래밍 입문

 

저자 이직 벤간

역자 한대성

감수자 성지용

 

출간일 2013926()

정가 33,000

페이지 584

판형 190 x 245

ISBN 978-89-94774-47-3 (93000)

 

원서정보 Microsoft® SQL Server® 2012 T-SQL Fundamentals

 

예약판매 [인터파크도서] [YES24] [알라딘]

 

 

책 소개

 

T-SQL에 대한 명확한 이해와 쿼리 작성 능력의 향상을 위한 지침서

 

이 책을 통해 Transact-SQL에 대한 기본적인 내용을 마스터할 수 있으며, SQL Server 2012에서 데이터를 조회하거나 변경하기 위한 쿼리를 작성하는 방법을 익힐 수 있다.  SQL Server 전문가의 상세한 설명을 바탕으로, T-SQL 쿼리와 프로그래밍의 기본이 되는 개념을 익힐 수 있으며, 배운 지식을 각 장의 연습문제에서 복습할 수 있다. 일단 T-SQL의 기반이 되는 논리를 이해하고 나면, 프로그래머든지 데이터베이스 관리자든지 상관없이 누구라도 효과적으로 쿼리를 작성할 수 있는 방법을 쉽고 빠르게 익힐 수 있다.

 

 

이 책에서 다루는 내용

 

- T-SQL 고유의 프로그래밍 처리 방법

- 데이터베이스 테이블을 생성하고 데이터 무결성을 정의하는 방법

- 조인과 서브 쿼리를 이용해서 다수 테이블을 대상으로 쿼리하는 방법

- 테이블 표현식을 이용해서 코드를 단순화시키고 유지 관리 능력을 향상시키는 방법

- 데이터를 삽입·삭제·변경·병합하는 다양한 방법

- 윈도우 함수, 피벗팅, 그룹핑 집합과 같은 고급 쿼리를 구현하는 방법

- 격리 수준을 통한 데이터 일관성 관리 방법과 데드락 및 블로킹을 완화시키는 방법

- 프로그래밍 개체를 이용한 고급 T-SQL 기법

 

예제 코드 다운로드

http://tsql.solidq.com/books/tsqlfund2012/

 

독자 대상

초급

 

이직은 세상에서 T-SQL에 대해서 가장 잘 아는 사람들 중에 한 명이다. 수년 동안 프로그래밍의 기본 과정뿐만 아니라 고급 과정에 대해 강의하고 있다는 강점을 가지고 있다. 이직의 예제 중 많은 부분에서 동일한 작업에 대해 T-SQL로 구현하는 방법과 ANSI SQL 솔루션으로 구현하는 방법을 같이 설명하고 있다. 이러한 점은 ANSI 버전의 SQL에는 익숙하지만 T-SQL에는 아직 생소한 독자뿐만 아니라, 다른 여러 데이터베이스 플랫폼에서 SQL코드를 작성해야 하는 프로그래머에게 아주 유용하리라 생각된다.

- 추천사 중에서(Lubor Kollar, SQL Server개발팀, Microsoft)

 

 

저자소개

 

이직 벤간 (Itzik Ben-Gan)

 

1999년부터 현재까지 Microsoft SQL Server MVP로 선정되었으며, SolidQ라는 회사의 공동 창업자이기도 하다. 전세계를 돌아다니며 T-SQL 쿼리, 프로그래밍, 쿼리 튜닝 등을 중심으로 많은 교육과 컨설팅을 하고 있다. 또한, SQL Server Pro MSDN Magazine에 많은 글을 기고하고 있으며, Microsoft TechEd, DevTeach, PASS, SQL Server Connections 와 같은 여러 행사에서 발표자로도 서고 있다.

 

 

역자소개

 

한대성

 

Microsoft Premier Field Engineer로 근무했으며 SQL 서버 MVP(2006~2008)였다. 역서로는 『실전 SQL Server MVP 53, 『실전 SQL Server MVP 61, volume 2』가 있다.

 

 

감수자소개

 

성지용

 

Microsoft Premier Field Engineer로 근무하고 있다. 역서로는 『실전 SQL Server MVP 53『실전 SQL Server MVP 61, volume 2』가 있으며, 그 외에도 다수의 서적을 집필 및 번역하였다. Taeyo.net의 공동 운영자이면서, mssql.org의 운영자로 활동하고 있다.

 

목차

 

Chapter 1. T-SQL쿼리 및 프로그래밍 배경

 

이론적 배경

---SQL

---집합 이론

---술어 논리

---관계형 모델

---데이터 생명 주기

SQL Server 아키텍처

---SQL Server 형태-ABC

---SQL Server 인스턴스

---데이터베이스

---스키마와 개체

테이블 생성 및 데이터 무결성 정의

---테이블 생성하기

---테이블 무결성 정의

---참조키 제약 조건

결론

 

 

Chapter 2. 단일 테이블 쿼리

 

SELECT 구문 요소

---FROM

---WHERE

---GROUP BY

---HAVING

---SELECT

---ORDER BY

---TOP OFFSET-FETCH 필터

---OFFSET-FETCH 필터

---윈도우 함수

술어와 연산자

CASE 표현식

NULL

All-at-Once 연산자

문자형 데이터 처리

---데이터 유형

---정렬방식

---연산자와 함수

---LIKE 술어

날짜 및 시간 데이터 처리

---날짜 및 시간 데이터 유형

---문자형 표기

---Date Time을 분리해서 처리하기

---날짜 범위 필터링

---날짜 및 시간 함수

메타데이터 쿼리

---카탈로그 뷰

---정보 스키마 뷰

---시스템 저장 프로시저 및 함수

결론

연습문제

해답

 

 

Chapter 3. 조인

 

크로스 조인

---ANSI SQL-92 문법

---ANSI SQL-89 문법

---셀프 크로스 조인

---숫자를 출력하는 테이블

내부 조인

---ANSI SQL-92 문법

---ANSI SQL-89 문법

---내부 조인의 안전성

조인에 대한 다른 예제

---복합 조인

---Non-Equi 조인

---멀티 조인 쿼리

외부 조인

---외부 조인의 기본

---외부 조인에 대한 고급 기법

---외부 조인과 함께 COUNT 집계 사용하기

결론

연습문제

해답

 

 

Chapter 4. 하위 쿼리

 

독립형 하위 쿼리

---독립형 스칼라 하위 쿼리 예제

---멀티 값을 출력하는 독립형 하위 쿼리

상관 관계 하위 쿼리

하위 쿼리에 대한 고급 기법

---이전 또는 이후 값 반환하기

---누적 집계 사용하기

---하위 쿼리에서 다르게 동작하는 경우

결론

연습문제

해답

 

 

Chapter 5. 테이블 표현식

 

파생 테이블

---컬럼 별칭 지정하기

---매개 변수 사용하기

---중첩하기

---다중 참조

공통 테이블 식

---CTE에서 컬럼 별칭 지정하기

---CTE에서 매개 변수 사용하기

---여러 개의 CTE 정의하기

---CTE에서 다중 참조하기

---재귀 CTE

---뷰와 ORDER BY

---뷰 옵션

인라인 테이블 반환 함수

APPLY 연산자

결론

연습문제

해답

 

 

Chapter 6. 집합 연산자

 

UNION 연산자

---UNION ALL 멀티셋 연산자

---UNION distinct 집합 연산자

INTERSECT 연산자

---INTERSECT distinct 집합 연산자

---INTERSECT ALL 멀티셋 연산자

EXCEPT 연산자

---EXCEPT distinct 집합 연산자

---EXCEPT ALL 멀티셋 연산자

우선순위

지원하지 않는 논리적 단계 피하기

결론

연습문제

해답

 

 

Chapter 7. 고급 쿼리 기술

 

윈도우 함수

---순위 윈도우 함수

---오프셋 윈도우 함수

---윈도우 집계 함수

데이터 피벗

---표준 SQL을 이용한 피벗팅

---T-SQL PIVOT 연산자를 이용한 피벗팅

데이터 언피벗팅

---표준 SQL을 이용한 언피벗팅

---T-SQL UNPIVOT 연산자를 이용한 언피벗팅

그룹핑 집합

---GROUPING SETS 서브절

---CUBE 서브절

---ROLLUP 서브절

---GROUPING GROUPING_ID 함수

결론

연습문제

해답

 

 

Chapter 8. 데이터 조작

 

데이터 입력하기

---INSERT VALUES 구문

---INSERT SELECT 구문

---INSERT EXEC 구문

---SELECT INTO 구문

---BULK INSERT 구문

---Identity 속성 및 시퀀스 개체

데이터 삭제하기

---DELETE 구문

---TRUNCATE 구문

---조인을 사용하는 DELETE

데이터 수정하기

---UPDATE 구문

---조인을 사용하는 UPDATE

---UPDATE 값 할당

데이터 병합하기

테이블 표현식을 사용해서 데이터를 변경하기

TOP OFFSET-FETCH를 이용한 데이터 변경

OUTPUT

---INSERT에서 OUTPUT 사용하기

---DELETE에서 OUTPUT 사용하기

---UPDATE에서 OUTPUT 사용하기

---MERGE에서 OUTPUT 사용하기

---구성 가능한 DML

결론

연습문제

해답

 

 

Chapter 9. 트랜잭션과 동시성

 

트랜잭션

잠금과 블로킹

---잠금

---블로킹 문제 해결

격리수준

---READ UNCOMMITTED 격리 수준

---READ COMMITTED 격리 수준

---REPEATABLE READ 격리 수준

---SERIALIZABLE 격리 수준

---행 버전 관리를 이용하는 격리 수준

교착 상태

결론

연습문제

 

 

Chapter 10. 프로그래밍 개체

 

변수

배치

---파싱 단위로서의 배치

---배치와 변수

---배치 내에서 결합할 수 없는 구문

---검사 단위로서의 배치

--- GO n 옵션

흐름 제어 요소

---IF . . . ELSE 흐름 제어 요소

---WHILE 흐름 제어 요소

---IF WHILE의 사용 예

커서

임시 테이블

---로컬 임시 테이블

---글로벌 임시 테이블

---테이블 변수

---테이블 형식

동적 SQL

---EXEC 명령

---sp_executesql 저장 프로시저

---동적 SQL PIVOT 구현하기

루틴

---사용자 정의 함수

---저장 프로시저

---트리거

오류 처리

결론

 

부록. 준비하기

 

 

이 책의 구성

 

1 “T-SQL쿼리 및 프로그래밍 배경에서는 SQL Server에 대한 이론적 배경, 집합 이론, 술어 논리를 다룬다. 관계형 모델 및 SQL Server아키텍처에 대한 설명과 테이블을 어떻게 만들고 데이터 무결성을 정의하는지에 대해서도 설명한다.

 

2  단일 테이블 쿼리에서는 SELECT구문을 이용해서 단일 테이블을 대상으로 쿼리하는 다양한 방법들에 대해 다룬다.

 

3  조인에서는 크로스 조인, 내부 조인, 외부 조인과 같은 조인을 이용해서 여러 테이블을 대상으로 쿼리하는 방법을 다룬다.

 

4  하위 쿼리에서는 쿼리 내에서 쿼리를 하는 방법(하위 쿼리)에 대해 다룬다.

 

5  테이블 표현식에서는 파생 테이블, 공통 테이블 식(CTE), , 인라인 테이블 값 함수, APPLY연산자에 대해 다룬다.

 

6  집합 연산자에서는 UNION, INTERSECT, EXCEPT와 같은 집합 연산자에 대해 다룬다.

 

7  고급 쿼리 기술에서는 윈도우 함수, 피벗팅, 언피벗팅, 그룹핑 집합에 대해 다룬다.

 

8  데이터 조작에서는 데이터 입력, 수정, 삭제, 병합에 대해 다룬다.

 

9  트랜잭션과 동시성에서는 동시에 같은 데이터에 대해 작업을 하는 사용자 연결의 동시성에 대해 다룬다. 여기서는 트랜잭션과 잠금, 블로킹, 격리 수준, 교착 상태에 대한 것도 다룬다.

 

10프로그래밍 개체에서는 SQL Server에서 제공하는 T-SQL 프로그래밍 기능에 대한 전반적인 내용을 다룬다.

 

이 책에서는 부록으로준비하기라는 부분을 제공하고 있다. 여기서는 어떻게 환경을 준비하고 예제 소스를 다운로드 받으며, 어떻게 TSQL2012예제 데이터베이스를 설치하는지에 대한 것들을 다루고 있다. 또한, SQL Server를 대상으로 코드를 작성하는 방법과 SQL Server온라인 도움말을 이용하는 방법에 대해서도 설명하고 있다.

 

 

출판사 리뷰

 

이 책은 T-SQL(또는 Transact-SQL)의 기초부터 다루고 있다. T-SQL이란 ISO ANSI SQL 표준을 기반으로 하는 Microsoft SQL Server에 특화된 언어다. T-SQL쿼리와 프로그래밍의 바탕이 되는 이론뿐만 아니라, T-SQL 코드를 이용해서 데이터를 조회하고 변경하는 방법과 프로그래밍 개체에 대한 전반적인 내용에 대해서도 배울 것이다.

 

이 책은 초보자를 대상으로 쓰이긴 했지만, 단지 독자들이 따라 할 수 있는 절차들만 나열해놓지는 않았다. T-SQL의 문법 요소 외에도 언어의 바탕이 되는 논리와 각 요소에 대한 설명도 같이 다루고 있다.

 

누가 이 책을 읽어야 하는가

 

이 책은 T-SQL개발자, DBA, BI실무자, 보고서 작성자, 분석가, 아키텍트뿐만 아니라, SQL Server를 이제 막 시작해서 트랜잭션 SQL을 이용하는 쿼리를 작성하고 코드를 개발해야 하는 SQL Server 파워 유저를 대상으로 하고 있다.

 

이 책에서 다루는 내용을 제대로 이해하기 위해서는 윈도우 및 윈도우를 기반으로 하는 응용 프로그램에 대해 어느 정도 경험이 있어야 한다. 또한 관계형 데이터베이스 관리 시스템에 대한 기본적인 개념에 대해서도 어느 정도 알고 있어야 한다.

 

누가 이 책을 읽어서는 안 되는가

 

어떤 책이든 모든 수준의 독자를 대상으로 할 수는 없다. 이 책은 기본적인 내용을 다루고 있다. 즉 실질적으로는 경험이 적거나 전무한 T-SQL 실무자를 대상으로 하고 있다. 하지만 이 책의 이전 버전을 읽어본 많은 독자들이 말하는 것과 같이, 이미 수년간의 경험을 가진 독자라도 가지고 있는 지식들 중에서 알지 못했던 부분을 이 책을 통해 얻을 수도 있을 것이다.

 

 

관련글 더보기

댓글 영역