홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
디비로 누리는 특별한 세상 SQL Server 개발편  이미지

디비로 누리는 특별한 세상 SQL Server 개발편
나의 첫 번째 데이터베이스 개발하기
루비페이퍼 | 부모님 | 2017.04.05
  • 정가
  • 28,000원
  • 판매가
  • 25,200원 (10% 할인)
  • S포인트
  • 1,260P (5% 적립)
  • 상세정보
  • 18.8x25.7 | 1.140Kg | 600p
  • ISBN
  • 9791186710135
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 1~2일 안에 출고됩니다. (영업일 기준) ?
    출고일 안내
    출고일 이란
    출고일은 주문하신 상품이 밀크북 물류센터 또는 해당업체에서 포장을 완료하고 고객님의 배송지로 발송하는 날짜이며, 재고의 여유가 충분할 경우 단축될 수 있습니다.
    당일 출고 기준
    재고가 있는 상품에 한하여 평일 오후3시 이전에 결제를 완료하시면 당일에 출고됩니다.
    재고 미보유 상품
    영업일 기준 업체배송상품은 통상 2일, 당사 물류센터에서 발송되는 경우 통상 3일 이내 출고되며, 재고확보가 일찍되면 출고일자가 단축될 수 있습니다.
    배송일시
    택배사 영업일 기준으로 출고일로부터 1~2일 이내 받으실 수 있으며, 도서, 산간, 제주도의 경우 지역에 따라 좀 더 길어질 수 있습니다.
    묶음 배송 상품(부피가 작은 단품류)의 출고일
    상품페이지에 묶음배송으로 표기된 상품은 당사 물류센터에서 출고가 되며, 이 때 출고일이 가장 늦은 상품을 기준으로 함께 출고됩니다.
  • 주문수량
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기

구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

초급부터 중급 데이터베이스 개발자를 위한 SQL Server 개발 가이드 북이다. 간단한 쿼리문부터 고급 쿼리 기법까지 배울 수 있다. Microsoft 공인 강사인 저자의 현장 경험을 바탕으로 한 쉽고 친절한 개념 설명과 실용 예제로 구성되어 있으며, 무엇보다 학습한 내용을 바로 실무에 적용해 볼 수 있게 구성했다.

데이터베이스를 처음 접하는 독자를 위해 기본 개념과 구조를 친절하게 설명하고, 기본 쿼리문의 구조와 원리를 풍부한 예제로 실습하게 한다. 초급에서 벗어나 데이터를 자유자재로 다룰 수 있게 된 중급 이상의 개발자를 위해 최종적으로 XML 데이터나 성능 최적화를 위한 인덱스와 통계, 뷰와 저장 프로시저, 트리거, 트랜잭션 등을 설명하고 있다.

  출판사 리뷰


초급부터 중급 데이터베이스 개발자를 위한 SQL Server 개발 가이드!

이 책은 아주 간단한 쿼리문부터 고급 쿼리 기법까지 배울 수 있는 SQL Server 개발자 가이드입니다. Microsoft 공인 강사의 생생한 현장 경험을 바탕으로 쉽고 친절한 개념 설명과 실용 예제로 구성하였습니다. 무엇보다 이 책의 가장 큰 강점은 학습한 내용을 바로 실무에 적용해 볼 수 있게 구성하였다는 데 있습니다. 이를 위해 SQL Server 운영 환경에 맞게 가상 서버 환경을 구성하고, 실무 데이터가 저장된 데이터베이스를 제공함으로써 인덱스와 튜닝 등 현장감 넘치는 쿼리문을 구사해볼 수 있게 하였습니다.


- 출판사 서평 -

바로 배워 바로 쓰는 SQL Server 개발편 : 현장감 있는 예제로 실무까지 직행한다!

이 책은 크게 세 가지 단계로 구성하였습니다. 첫 번째는 데이터베이스를 처음 접하는 독자를 위해 기본 개념과 구조를 친절하게 설명하고, DB와 테이블 생성부터 데이터를 다루는 기본 쿼리문의 구조와 원리를 풍부한 예제로 실습합니다. 두 번째 단계에서는 데이터 무결성, 데이터 집계, 수행 흐름 제어, 조인과 함수 등을 통해 초급에서 벗어나 데이터를 자유자재로 다룰 수 있게 합니다. 마지막 세 번째 단계에서는 중급 이상의 개발자를 위해 XML 데이터를 다루거나 성능 최적화를 위한 인덱스와 통계, 뷰와 저장 프로시저, 트리거, 트랜잭션 등을 다룹니다. 따라서 데이터베이스에 관한 전반적인 지식을 체계적으로 정리할 수 있고, 현재 운용 중인 데이터베이스를 튜닝하는 데도 도움을 줍니다.


◆ 이 책의 특징과 장점
- 단순 SELECT 문부터 다양한 고급 쿼리 기법까지 체계적으로 다룬다.
- 튜닝에도 활용할 수 있는 인덱스 전략과 쿼리 작성 기법을 다룬다.
- 독자의 이해를 돕고자 학습용 데이터베이스를 별도로 제공한다.
- 실무에서 꼭 필요한 내용은 [Check]를 통해 복습하면서 실력을 점검한다.
- 조금 낯설지만 정말 유익한 개발 기법을 마지막 장에 따로 정리했다.
- 궁금한 사항은 언제든 네모사랑(nemosarang.com) 게시판에 질문할 수 있다.


◆ 어떤 독자를 위한 책인가?
- 데이터베이스를 처음 공부하는 전공/비전공자
- 쿼리문과 관련된 전반적인 지식을 체계적으로 정리하고 싶은 자
- 프로그래밍 개체와 인덱스에 대해 깊이 있게 배우고 싶은 개발자
- 쿼리 튜닝과 인덱스 튜닝에 관심이 있는 중급 개발자

※ 이 책은 SQL Server 2016을 기준으로 설명합니다.
※ 이 책의 예제 소스는 루비페이퍼 홈페이지 http://www.rubypaper.co.kr 자료실에서 내려받을 수 있습니다.

  작가 소개

저자 : 이장래
20여 년간 SQL Server와 함께하고 있는 저자에게 여러 호칭이 있지만, 저자 본인이 가장 좋아하는 호칭은 '강사'다. 가르치는 게 좋아 SQL Server 관련 사이트를 만들어 Q&A 게시판을 운영했고, 오프라인 스터디를 이끌었으며, Microsoft 공인 강사가 되어 수많은 강의와 세미나를 진행했다. 결국, 책도 쓰게 되었는데, 이 모든 것이 SQL Server를 시작하는 이에게 디딤돌이 되고자 하는 저자의 바람 때문이다. 끊임 없는 지식 전달 노력의 결과로 Microsoft에서 수여한 SQL Server 분야 MVP Award를 수년간 받았다. 현직 유명 SQL Server 강사이자 컨설턴트인 그에게서 SQL Server를 빼면 뭐가 남을지 궁금하다. 사랑하는 딸에게 뒤늦게 피아노를 배우기 시작했고, 플루트를 배우겠다며 밤새 소리를 찾아 불어대는 그의 모습에, 언제나 배움의 아름다움이 배어 있다.(주)씨퀄로(www.sqlroad.com) 수석 컨설턴트아이티포럼(www.itforum.co.kr) 전임 교수웹타임(www.webtime.co.kr) 전임 강사디비누리 SQLWORLD(www.dbnuri.com) 운영자MCT(Microsoft Certified Trainer)[활동]SQL Server MVP (2010 ~ 현재) 수상SQL Server 관련 다양한 강의 및 컨설팅 진행 중디비누리 SQLWORLD 오픈 스터디 및 세미나 진행 중

  목차

1장. SQL Server와 데이터베이스
1.1. SQL Server 소개
1.1.1. 왜 SQL Server를 사용하는가?
1.1.2. SQL Server 역사와 버전
1.1.3. SQL Server 에디션

1.2. SQL Server 설치
1.2.1. SQL Server 설치 환경
1.2.2. SQL Server 설치
1.2.3. SQL Server 관리 도구 설치
1.2.4. 연결 확인

1.3. SSMS(SQL Server Management Studio) 사용
1.3.1. 실행과 연결
1.3.2. SSMS의 다양한 기능들
1.3.3. 나만의 SSMS 환경 꾸미기
1.3.4. SSMS 사용 팁
1.3.5. SSMS 업데이트

1.4. 데이터베이스 구조 이해
1.4.1. 데이터베이스에 대한 이해
1.4.2. 데이터베이스 구조
1.4.3. 트랜잭션 로그(Transaction Log) 파일

1.5. 데이터베이스 만들기
1.5.1. 이름만 지정하여 만들기
1.5.2. 입력할 정보들
1.5.3. 요구사항에 맞게 만들기
1.5.4. CREATE DATABASE 문으로 만들기

1.6. 파일 그룹(File Groups) 활용
1.6.1. 파일 그룹이란?
1.6.2. 파일 그룹 종류
1.6.3. 파일 그룹 만들기
1.6.4. 파일 그룹에 테이블 만들기

2장. 테이블 만들고 관리하기
2.1. 테이블 만들기
2.1.1. 학습 준비
2.1.2. 테이블에 대한 이해
2.1.3. 테이블 만들기
2.1.4. CREATE TABLE 문으로 만들기
2.1.5. 테이블 관리
2.1.6. 데이터 정렬(Collations)

2.2. 다양한 데이터 형식
2.2.1. 데이터 형식에 대한 이해
2.2.2. 시스템 데이터 형식
2.2.3. 수치 데이터 형식
2.2.4. 날짜와 시간 데이터 형식
2.2.5. 문자 데이터 형식
2.2.6. 기타 특수한 데이터 형식

2.3. 특수한 형태의 열
2.3.1. 계산된 열(Computed Columns)
2.3.2. IDENTITY 속성

2.4. 데이터 무결성(Data Integrity)
2.4.1. 데이터 무결성이란?
2.4.2. NULL과 NOT NULL
2.4.3. 제약(Constraints)

2.5. HRDB2 데이터베이스 만들기
2.5.1. 데이터베이스 만들기 구문
2.5.2. 테이블 만들기 구문
2.5.3. 데이터 추가

2.6. 임시 테이블(Temporary Tables)
2.6.1. 지역 임시 테이블과 전역 임시 테이블
2.6.2. 개체 탐색기에서 임시 테이블 확인

2.7. 정규화(Normalization)
2.7.1. 정규화와 JOIN 문
2.7.2. 1차, 2차, 3차 정규화

2.8. 활용
2.8.1. 테이블 정보 확인
2.8.2. 테이블 행수 확인
2.8.3. FOREIGN KEY 무시
2.8.4. 특정 열을 갖는 테이블 찾기

3장. Transact-SQL 기본 구문 익히기
3.1. HRDB2 데이터베이스 설명
3.1.1. 데이터베이스 다이어그램
3.1.2. 테이블 소개

3.2. 기본적인 데이터 조회
3.2.1. SELECT 문 시작
3.2.2. 다양한 연산자
3.2.3. 범위 조건과 리스트 조건
3.2.4. NULL 값 비교
3.2.5. 열 별칭과 열에 대한 계산
3.2.6. 조회 결과 정렬

3.3. DML 문을 사용한 데이터 변경
3.3.1. INSERT 문
3.3.2. UPDATE 문
3.3.3. DELETE 문

3.4. 다양한 데이터 집계 방법
3.4.1. SUM, AVG, MAX, MIN, COUNT 함수
3.4.2. GROUP BY 문
3.4.3. HAVING 문
3.4.4. GROUPING SETS 문

3.5. 쿼리 수행 흐름 제어
3.5.1. IF … ELSE 문
3.5.2. BEGIN … END 문
3.5.3. WHILE 문

4장. Transact-SQL 필수 구문 익히기
4.1. 순위와 번호를 표시하는 다양한 함수
4.1.1. RANK 함수
4.1.2. DENSE_RANK 함수
4.1.3. ROW_NUMBER 함수
4.1.4. NTILE 함수

4.2. PIVOT 형태와 UNPIVOT 형태
4.2.1. PIVOT 문
4.2.2. UNPIVOT 문

4.3. 세 가지 형태의 조인(JOIN) 문
4.3.1. JOIN이란?
4.3.2. INNER JOIN 문
4.3.3. OUTER JOIN 문
4.3.4. CROSS JOIN 문
4.3.5. JOIN 문 작성
4.3.6. 여러 테이블 간의 JOIN 문

4.4. 일반 하위 쿼리와 상관 하위 쿼리
4.4.1. 일반 하위 쿼리
4.4.2. 상관 하위 쿼리

4.5. 손쉬운 결과 집합 병합
4.5.1. UNION, UNION ALL 문
4.5.2. INTERSECT 문
4.5.3. EXCEPT 문

4.6. 기본적으로 알아두어야 할 함수
4.6.1. 날짜 관련 함수
4.6.2. 문자열 관련 함수

4.7. 쿼리문 작성에 대한 단상
4.7.1. 좋은 쿼리문
4.7.2. 고부하 쿼리문
4.7.3. 효율적인 쿼리문 작성 지침

5장. 향상된 Transact-SQL 작성을 위하여
5.1. 쿼리에 강력함을 더하는 기능들
5.1.1. TOP (n) 문
5.1.2. CASE 문
5.1.3. CTE 문
5.1.4. MERGE 문
5.1.5. OUTPUT 문
5.1.6. APPLY 문
5.1.7. OVER 문(SQL Server 2012)
5.1.8. OFFSET FETCH 문(SQL Server 2012)
5.1.9. WITH RESULT SET 문(SQL Server 2012)
5.1.10. THROW 문(SQL Server 2012)

5.2. 알아 두면 좋을 낯선 함수들
5.2.1. EOMONTH, CHOOSE, IIF 함수(SQL Server 2012)
5.2.2. CONCAT, FORMAT 함수(SQL Server 2012)
5.2.3. LAST_VALUE, FIRST_VALUE 함수(SQL Server 2012)
5.2.4. LEAD, LAG 함수(SQL Server 2012)
5.2.5. STRING_SPLIT 함수(SQL Server 2016)
5.2.6. SPACE, REVERSE 함수(SQL Server 2005)

6장. XML 데이터 다루기
6.1. XML 데이터 이해하기
6.1.1. XML 문서 소개
6.1.2. 문자로 취급하던 XML 데이터
6.1.3. XML 데이터 형식 지원
6.1.4. XML 스키마 컬렉션으로 무결성 확보

6.2. XML 형태로 변환하는 FOR XML 문
6.2.1. FOR XML 문이란?
6.2.2. FOR XML RAW 문
6.2.3. FOR XML AUTO 문
6.2.4. FOR XML EXPLICIT 문
6.2.5. FOR XML PATH 문

6.3. 테이블 형태로 변환하는 OPENXML 함수
6.3.1. OPENXML 함수란?
6.3.2. OPENXML 함수 사용 예

6.4. XQuery로 XML 데이터 다루기
6.4.1. XQuery란?
6.4.2. query 메소드
6.4.3. value 메소드
6.4.4. exist 메소드
6.4.5. modify 메소드
6.4.6. nodes 메소드

7장. 성능 최적화를 위한 인덱스와 통계
7.1. 인덱스에 대한 이해
7.1.1. 인덱스(Indexes)란?
7.1.2. 인덱스는 꼭 필요한가?
7.1.3. 인덱스 구조
7.1.4. 테이블 존재 형태
7.1.5. 힙 + 비클러스터형 인덱스
7.1.6. 힙 → 클러스터형 인덱스
7.1.7. 클러스터형 인덱스 + 비클러스터형 인덱스
7.1.8. 페이지 분할(Page Splits)

7.2. 다양한 인덱스 만들기
7.2.1. 클러스터형 인덱스
7.2.2. 비클러스터형 인덱스
7.2.3. 포함된 인덱스(Included Indexes)
7.2.4. 필터된 인덱스(Filtered Indexes)

7.3. 성능을 위한 인덱스 유지관리 방법
7.3.1. 인덱스 다시 구성과 다시 작성
7.3.2. FILLFACTOR 옵션 사용
7.3.3. 인덱스 제거

7.4. 인덱스를 고려한 쿼리문 작성
7.4.1. 열 변경하지 않기
7.4.2. 서로 비교되는 데이터 형식 일치시키기
7.4.3. 불필요한 구문 삭제하기
7.4.4. 첫 번째 인덱스 키 열 고려하기
7.4.5. 필요한 열만 SELECT 절에 나열하기

7.5. 물리적인 조인 형태 세 가지
7.5.1. 해시 매치(Hash Match)
7.5.2. 머지 조인(Merge Join)
7.5.3. 중첩 루프(Nested Loop)

7.6. 통계 개념과 유지관리 방법
7.6.1. 통계 이해하기
7.6.2. 통계에 의지하는 SQL Server
7.6.3. 수동 통계 갱신

7.7. 활용
7.7.1 인덱스 현황 조회
7.7.2 인덱스 단편화 정도 확인
7.7.3. ONLINE = ON 옵션
7.7.4. 인덱스 비활성화와 활성화

8장. 프로그래밍 개체
8.1. 뷰(Views)
8.1.1. 뷰에 대한 이해
8.1.2. 뷰 만들기와 관리

8.2. 저장 프로시저(Stored Procedures)
8.2.1. 저장 프로시저에 대한 이해
8.2.2. 저장 프로시저 만들기
8.2.3. 입력 매개 변수와 출력 매개 변수
8.2.4. 오류 핸들링
8.2.5. 실행 계획 재사용과 재컴파일
8.2.6. 동적 쿼리문(Dynamic Queries)

8.3. 사용자 정의 함수(User Defined Functions)
8.3.1. 사용자 정의 함수에 대한 이해
8.3.2. 스칼라 함수 만들기
8.3.3. 인라인 테이블 값 함수 만들기
8.3.4. 다중문 테이블 값 함수 만들기

8.4. 트리거(Triggers)
8.4.1. DML 트리거에 대한 이해
8.4.2. DML 트리거 만들기
8.4.3. DDL 트리거 만들기
8.4.4. 트리거 구문 요약

8.5. 커서(Cursors)
8.5.1. 커서에 대한 이해
8.5.2. 커서 사용하기

8.6. 활용
8.6.1. CREATE OR ALTER
8.6.2. 뷰 새로 고침(Refresh)
8.6.3. 자동으로 실행되는 저장 프로시저
8.6.4. 동적 쿼리문, 나름의 디버깅

9장. 트랜잭션과 잠금
9.1. 트랜잭션에 대한 이해
9.1.1. 트랜잭션(Transactions)이란?
9.1.2. 트랜잭션 로그(Transaction Logs)
9.1.3. 자동 커밋 트랜잭션(Auto Commit Transactions)
9.1.4. 명시적 트랜잭션(Explicit Transactions)
9.1.5. 묵시적 트랜잭션(Implicit Transactions)

9.2. 잠금에 대한 이해
9.2.1. 잠금(Locks)이란?
9.2.2. 주요 잠금 모드
9.2.3. 기타 잠금 모드

9.3. 잠금 관리 방법
9.3.1. 잠금 타임 아웃 설정
9.3.2. 교착 상태(Deadlocks)
9.3.3. 잠금과 관련된 테이블 힌트

9.4. 트랜잭션 격리 수준(Transaction Isolation Levels)
9.4.1. READ UNCOMMITTED 격리 수준
9.4.2. READ COMMITTED (기본값) 격리 수준
9.4.3. REPEATABLE READ 격리 수준
9.4.4. SERIALIZABLE 격리 수준
9.4.5. READ COMMITTED SNAPSHOT 격리 수준
9.4.6. SNAPSHOT 격리 수준
9.4.7. 트랜잭션 격리 수준 특성 비교
9.4.8. 트랜잭션 격리 수준 관련 테이블 힌트

9.5. 활용
9.5.1. 현재 잠금 정보 확인
9.5.2. 교착 상태 모니터링
9.5.3. SQL Server 오류 로그

10장. 알아 두면 좋을 낯선 기능들
10.1. 시퀀스(Sequences)
10.1.1. 시퀀스에 대한 이해
10.1.2. 시퀀스 만들기
10.1.3. 시퀀스 사용 예
10.1.4. 시퀀스 값이 반복되게 하기
10.1.5. OVER 절로 정렬한 결과에 시퀀스 사용

10.2. 분할된 테이블(Partitioned Tables)
10.2.1. 분할된 테이블 개념
10.2.2. 분할된 테이블 만들기
10.2.3. 분할된 테이블 관리

10.3. 시스템 버전 임시 테이블(System-Versioned Temporal Table)
10.3.1. 시스템 버전 임시 테이블 만들기
10.3.2. 기존 테이블을 시스템 버전 임시 테이블로 변경
10.3.3. 추가한 열 확인
10.3.4. 데이터 변경
10.3.5. 테이블에 기록된 정보 확인
10.3.6. AS OF 구문으로 특정 시점 데이터 확인
10.3.7. 변경 기록 확인
10.3.8. 시스템 버전 관리 중지

10.4. FILESTREAM
10.4.1. FILESTREAM에 대한 이해
10.4.2. FILESTREAM 기능 활성화
10.4.3. FILESTREAM 데이터베이스 만들기
10.4.4. FILESTREAM 테이블 만들기

10.5. 파일 테이블 (File Tables)
10.5.1. 데이터베이스 속성 변경
10.5.2. 파일 테이블 만들기
10.5.3. 파일 테이블 기능 확인
10.5.4. 실제 물리적인 폴더에 접근

10.6. JSON (JavaScript Object Notation)
10.6.1. JSON 데이터 형태로 결과 출력
10.6.2. OPENJSON을 사용해 JSON 데이터를 테이블 형태로 변환
10.6.3. 기타 기능들

10.7. Columnstore 인덱스
10.7.1. Columnstore 인덱스란?
10.7.2. Columnstore 인덱스 만들기

10.8. 인덱싱된 뷰 (Indexed Views)
10.8.1. 인덱싱된 뷰란?
10.8.2. 일반적인 뷰 만들기
10.8.3. 뷰에 인덱스 만들기
10.8.4. 인덱스 제거

10.9. 동의어(Synonyms)
10.9.1. 동의어 만들기
10.9.2. 동의어 사용

10.10. 테이블 반환 매개 변수(Table-Valued Parameters)
10.10.1. 사용자 정의 테이블 형식 만들기
10.10.2. 테이블 반환 매개 변수를 사용하는 저장 프로시저 만들기
10.10.3. 사용 예
10.10.4. 고려사항

부록 1. 에디션별 기능 지원 여부
부록 2. SQL Server 2016 설치 가능 운영 체제
부록 3. SQL Server 2016 Developer Edition 다운로드
부록 4. 학습용 데이터베이스 설치

찾아보기

  회원리뷰

리뷰쓰기

    이 분야의 신상품