목차 일부
저자 서문 ... 3
이 책의 특징 ... 5
학습 로드맵 ... 6
Part 1 SQL Server 2005 설치 및 전체과정 미리 실습
1장. SQL Server 2005 소개
01. SQL Server의 변천사 ... 25
02. SQL Server 2005에 새롭게 추가되거나 향상된 내용 ... 26
엔터프라...
더보기
목차 전체
저자 서문 ... 3
이 책의 특징 ... 5
학습 로드맵 ... 6
Part 1 SQL Server 2005 설치 및 전체과정 미리 실습
1장. SQL Server 2005 소개
01. SQL Server의 변천사 ... 25
02. SQL Server 2005에 새롭게 추가되거나 향상된 내용 ... 26
엔터프라이즈 데이터 관리 ... 26
개발자 생산성 ... 29
기타 추가된 사항 ... 30
03. SQL Server 2005의 에디션 및 기능 비교 ... 31
2장. SQL Server 2005 설치
01. SQL Server 2005 설치 전 준비사항 ... 35
하드웨어 요구사항 ... 35
소프트웨어 요구사항 ... 35
에디션별 설치 가능한 운영체제 ... 36
02. SQL Server 2005 설치 실습 ... 37
실습1 SQL Server 2005 Evaluation Edition(평가판)을 설치하자 ... 38
03. 추가 인스턴스 설치 ... 52
인스턴스의 개념 ... 52
추가 인스턴스 설치 ... 53
실습2 SQL Server 인스턴스를 추가로 설치하자 ... 53
04. SQL Server 2005 제거 ... 59
실습3 추가로 설치한 '컴퓨터 이름\THIRD' 인스턴스를 제거하자 ... 59
05. SQL Server 2005 한번에 설치 ... 60
실습4 삭제했던 '컴퓨터 이름\THIRD' 인스턴스를 한번에 재설치하자 ... 61
06. SQL Server 2005 서비스팩 설치 ... 62
실습5 SQL Server 2005 서비스팩1을 설치하자 ... 63
07. 설치 후에 확인할 사항 ... 66
실습6 기본 인스턴스를 제외한 2개의 추가 인스턴스는 가동되지 않도록 설정하자 ... 67
08. SQL Server 2000 또는 7.0 버전에서 업그레이드 ... 68
이것만은 알고 갑시다 ... 70
3장. 데이터베이스 구축의 전체과정 미리 실습하기
01. 분석과 설계 그리고 모델링 ... 73
분석과 설계 ... 73
데이터베이스 모델링과 필수 용어 ... 73
02. SQL Server 2005를 이용한 데이터베이스 구축 절차 ... 75
데이터베이스 생성 ... 76
실습1 쇼핑몰 데이터베이스(ShoppingDB)를 생성하자 ... 76
테이블 생성 ... 78
실습2 테이블을 생성하자 ... 78
데이터 입력 ... 80
실습3 행 데이터를 입력하자 ... 81
데이터 활용 ... 82
실습4 SELECT 문을 활용해서 데이터를 조회하자 ... 82
03. 데이블 외의 데이터베이스 개체 ... 88
인덱스 ... 88
실습5 회원 테이블의 회원 이름(memberName) 열에 인덱스를 생성하자 ... 88
뷰 ... 89
실습6 회원 테이블의 회원 이름 열, 주소 열만 있는 뷰를 생성하자 ... 889
저장프로시저 ... 91
실습7 자주 조회하는 SQL 문을 저장프로시저로 만들자 ... 91
트리거 ... 92
실습8 삭제 작업이 발생하면 삭제되는 데이터를 다른 곳에 저장하는 트리거를 작성하자 ... 93
04. 데이터 백업 및 관리 ... 95
백업과 복원 ... 95
실습9 백업과 복원 ... 95
그 외에 관리자가 해야 할 일들 ... 100
실습10 Books Online 사용 방법 ... 101
이것만은 알고 갑시다 ... 104
Part 2 SQL Server 2005 기본
4장. DBMS 개요와 데이터베이스 모델링
01. DBMS 개요 ... 109
데이터베이스의 정의와 특징 ... 109
데이터베이스의 발전 ... 109
관계형 DBMS ... 111
02. 데이터베이스 모델링 ... 112
프로젝트의 진행 단계 ... 112
데이터베이스 모델링 개념 ... 113
데이터베이스 모델링 실습 ... 114
실습1 데이터베이스 모델링 ... 114
이것만은 알고 갑시다 ... 120
5장. SQL Server 2005의 툴과 유털리티 사용하기
01. SQL Server Management Studio ... 123
SSMS의 처음 실행 ... 124
[서버에 연결] 창 ... 124
SSMS의 화면 구성 ... 128
실습1 서버그룹을 만들고 각 그룹별로 등록하자 ... 130
실습2 개체 탐색기를 이용해서 데이터베이스 스크립트를 자동으로 생성하자 ... 134
실습3 쿼리창을 이용해서 SQL 문장을 수행하자 ... 136
02. SQL Server 노출 영역 구성 ... 143
실습4 원격 컴퓨터에서 SQL Server 2005에 접속할 수 있도록 SQL Server 노출 영역 구성을 사용해 보안 설정을 변경하자 ... 143
03. SQL Server 구성 관리자 ... 146
실습5 SQL Server 구성 관리자를 통해서 데이터베이스 엔진의 시작 옵션을 설정하고, 원격 컴퓨터에서 접속한 프로토콜을 허용하자 ... 147
04. SQLCMD(명령프롬프트의 쿼리 도구) ... 155
실습6 SQLCMD.EXE를 사용하자 ... 157
05. BCP(Bulk Copy) ... 159
실습7 BCP를 사용하자 ... 159
06. 프로파일러 ... 162
실습8 프로파일러를 사용하자 ... 162
이것만은 알고 갑시다 ... 166
6장. 필수로 알아야 할 Transact-SQL 문
01. 기본적인 T-SQL 구문 ... 169
원하는 데이터를 가져와 주는 기본적인 SELECT... FROM ... 169
실습1 데이터베이스 이름, 스키마 이름, 테이블 이름, 열 이름이 정확히 기억나지 않거나 또는 각 이름의 철자가 확실하지 않을 때 찾아서 조회하는 방법을 살펴보자 ... 175
실습2 앞으로 사용할 데이터베이스와 테이블을 생성하자 ... 178
특정한 조건의 데이터만 조회하는 SELECT...FROM...WHERE ... 181
GROUP BY 및 HAVING 그리고 집계 함수 ... 193
실습3 COUNT() 함수와 그냥 SELECT의 결과를 비교하자 ... 198
WITH 절과 CTE ... 209
실습4 하나의 테이블에서 회사의 조직도가 출력되도록 재귀적 CTE를 구현하자 ... 215
T- SQL의 분류 ... 219
데이터를 변경하는 INSERT, UPDATE, DELETE ... 220
실습5 대용량의 테이블을 삭제하자 ... 224
02. SQL Server의 데이터 형식 ... 225
SQL Server 2005에서 지원하는 데이터 형식의 종류 ... 226
변수의 사용 ... 231
실습6 변수를 사용하자 ... 231
데이터 형식과 관련된 시스템 함수들 ... 232
실습7 max 형의 데이터 형식을 이용해서 대량의 데이터를 입력하자 ... 240
실습8 순위 함수를 살펴보자 ... 244
03. 조인 ... 249
INNER JOIN(내부 조인) ... 250
실습9 [그림 6-40]을 보고 3개 테이블을 정의하고 데이터를 입력하자 ... 256
OUTER JOIN(외부 조인) ... 259
실습10 〈실습9〉에서 3개의 테이블을 가지고 INNER JOIN 했던 결과를 OUTER JOIN으로 고려해 보자 ... 262
CROSS JOIN(상호 조인) ... 264
SELF JOIN(자체 조인) ... 265
UNION, UNION ALL ... 267
04. SQL 프로그래밍 ... 269
IF...ELSE... ... 269
CASE ... 270
실습11 CASE 문을 살펴보자 ... 272
WHILE과 BREAK, CONTINUE, RETURN ... 275
GOTO ... 277
TRY, CATCH ... 277
이것만은 알고 갑시다 ... 280
7장. 데이터베이스 생성과 관리
01. 데이터베이스 기본 구조 및 시스템 데이터베이스 ... 283
데이터베이스의 기본 구조 ... 283
트랜잭션의 간단한 개념과 작동방식 ... 286
실습1 로그 파일의 역할을 살펴보자 ... 293
시스템 데이터베이스와 예제 데이터베이스 ... 298
실습2 SQL Server 2005 예제 데이터베이스 및 SQL Server 2000의 예제 데이터베이스를 설치하자 ... 301
02. 데이터베이스 생성 및 관리 ... 306
데이터베이스 생성 ... 306
실습3 SSMS에서 데이터베이스를 생성하자 ... 309
실습4 〈실습3〉에서 SSMS로 생성한 brainDB를 T-SQL로 생성하자 ... 317
파일그룹 ... 319
실습5 대용량 데이터베이스라는 가정하에 [그림 7-35]와 같은 파일 및 파일그룹을 생성하자 ... 321
실습6 [그림 7-35]를 T-SQL로 생성하자 ... 324
데이터베이스 크기 늘리기 및 줄이기 ... 326
실습7 데이터베이스의 크기를 수동으로 늘리거나 줄여보자 ... 326
데이터베이스 수정 ... 341
실습8 brainDB를 디폴트로 생성하고 hanbitDB로 변경하자 ... 346
실습9 C:\RAIDO\라는 폴더를 RAIDO 방식의 레이드라고 생각하고, tempdb의 데이터 및 로그 파일을 이곳으로 옳겨 놓자 ... 349
데이터베이스 삭제 ... 352
03. 데이터베이스 옵션 ... 353
이것만은 알고 갑시다 ... 356
8장. 테이블과 뷰
01. 테이블 ... 359
테이블 만들기 ... 359
실습1 SSMS의 개체 탐색기에서 [그림 8-1]의 tableDB 데이터베이스를 생성하자 ... 360
실습2 T-SQL을 이용해서 테이블을 생성하자 ... 367
제약조건 ... 372
임시 테이블 ... 382
실습3 임시 테이블을 생성하자 ... 383
테이블 삭제 ... 386
테이블 수정 ... 386
실습4 테이블의 제약조건 및 수정 방법을 살펴보자 ... 389
02. 데이터베이스 개체의 이름과 외부 서버에 있는 개체로의 접근 ... 399
데이터베이스 개체 ... 399
외부 서버에 있는 개체로의 접근 ... 401
실습5 다른 서버의 테이블에 접근하자 ... 401
03. 뷰 ... 403
뷰의 개념 ... 403
뷰의 장점 ... 404
실습6 뷰를 생성하고 활용하자 ... 406
뷰의 종류 ... 413
04. 분할 테이블과 분할 뷰 ... 414
분할 뷰 ... 414
실습7 여러 서버에 뷰를 조회하는 분산형 분할 뷰를 구현하자 ... 415
분할 테이블 ... 421
실습8 분할 테이블을 구현하자 ... 422
이것만은 알고 갑시다 ... 428
9장. 인덱스
01. 인덱스의 개요와 활용 ... 431
인덱스의 개념 ... 431
인덱스의 종류 ... 432
실습1 제약조건으로 자동 생성되는 인덱스를 살펴보자 ... 434
인덱스의 내부 작동 ... 439
실습2 한 테이블에 클러스터형 인덱스와 비클러스터형 인덱스가 모두
존재하는 사례를 살펴보자 ... 450
인덱스의 생성, 변경, 삭제 ... 455
실습3 인덱스를 생성하고 사용하자 ... 460
실습4 클러스터형 인덱스, 비클러스터형 인덱스, 인덱스가 없을 때의 성능을 비교하자 ... 464
인덱스를 생성해야 하는 경우와 그렇지 않은 경우 ... 477
실습5 계산 열에 인덱스를 생성하자 ... 481
실습6 포괄 열이 있는 인덱스를 생성하자 ... 482
데이터베이스 엔진 튜닝 관리자 ... 486
실습7 데이터베이스 엔진 튜닝 관리자의 기본적인 사용법을 익히자 ... 486
02. 분할 인덱스와 인덱싱된 뷰 ... 494
분할 인덱스 ... 494
실습8 분할 인덱스를 생성하자 ... 495
인덱싱된 뷰 ... 497
실습9 인덱싱된 뷰를 활용하자 ... 498
이것만은 알고 갑시다 ... 504
10장. 트랜잭션과 잠금
01. 트랜잭션 ... 507
트랜잭션의 개념 ... 507
트랜잭션의 문법과 종류 ... 507
실습1 트랜잭션을 사용해야 하는 이유를 살펴보자 ... 510
실습2 트랜잭션을 활용하자 ... 513
02. 잠금 ... 519
트랜잭션 격리 수준 ... 520
실습3 더티리드를 살펴보자 ... 521
실습4 더티리드를 해결하고, 또 다른 문제인 '반복되지 않은 읽기'를 확인하자 ... 524
실습5 팬텀읽기와 이를 방지하는 방법을 살펴보자 ... 527
잠금이 걸리는 리소스와 잠금의 종류 ... 532
잠금의 정보 확인과 힌트 ... 534
실습6 잠금힌트를 살펴보자 ... 534
블로킹과 교착상태 ... 539
실습7 블로킹의 문제를 해결하자 ... 539
실습8 교착상태를 확인하자 ... 541
03. 분산 트랜잭션 ... 545
실습9 분산 트랜잭션을 사용하자 ... 546
이것만은 알고 갑시다 ... 550
Part 3 SQL Server 2005 활용
11장. 저장프로시저와 사용자정의 함수
01. 저장프로시저 ... 555
저장프로시저의 개요 ... 555
실습1 저장프로시저를 사용하자 ... 558
저장프로시저의 특징 ... 569
저장프로시저의 종류 ... 570
02. 저장프로시저의 작동 ... 572
일반 T-SQL의 작동방식 ... 572
실습2 일반 T-SQL의 처리시간을 비교하자 ... 573
저장프로시저의 작동방식 ... 575
실습3 저장프로시저의 작동을 살펴보자 ... 576
WITH RECOMPILE 옵션과 저장프로시저의 문제점 ... 578
실습4 저장프로시저의 문제점을 살펴보고 재컴파일 옵션을 통해 해결하자 ... 579
03. 사용자정의 함수 ... 583
사용자정의의 생성, 수정, 삭제 ... 583
실습5 사용자정의 함수를 살펴보자 ... 584
함수의 종류 ... 585
실습6 테이블 함수를 살펴보자 ... 588
그 외 함수와 관련되어 알아둘 사항 ... 590
실습7 스칼라 함수를 하나 더 연습해 보고, 스키마 바운드 함수 및 테이블 변수를 살펴보자 ... 591
이것만은 알고 갑시다 ... 596
12장. 커서
01. 커서의 개념 ... 599
커서의 개요 ... 599
커서의 처리 순서 ... 600
실습1 커서를 이용해서 고객의 평균 키를 구해보자 ... 600
02. 커서의 활용 ... 606
커서와 일반적인 쿼리의 성능 비교 ... 606
실습2 커서와 일반 쿼리의 성능을 비교하자 ... 606
커서의 내부 동작방식 ... 608
실습3 GLOBAL, LOCAL의 설정을 살펴보자 ... 608
실습4 커서의 형태(model)가 내부적으로 작동되는 것을 살펴보자 ... 612
실습5 커서의 이동을 확인하고, 암시적 커서 변환에 대해서도 살펴보자 ... 614
이것만은 알고 갑시다 ... 620
13장. 트리거
01. 트리거의 개념 ... 623
트리거의 개요 ... 623
실습1 간단한 트리거를 생성하고 결과를 확인하자 ... 623
DML 트리거의 종류 ... 624
DML 트리거의 사용 ... 625
실습2 수정 또는 삭제된 데이터를 보관하고 변경된 일자/변경한 사람을 기록하자 ... 626
실습3 INSTEAD OF 트리거를 사용하자 ... 630
02. DDL 트리거 ... 635
DDL 트리거 개요 ... 635
DDL 트리거 활용 ... 637
실습4 DDL 트리거를 사용하자 ... 637
03. 기타 트리거에 관한 사항 ... 640
다중 트리거 ... 640
중첩 트리거 ... 640
재귀 트리거 ... 641
지연된 이름 확인 ... 643
트리거의 작동 순서 ... 643
실습5 기타 트리거의 작동을 살펴보자 ... 644
이것만은 알고 갑시다 ... 652
14장. 전체 텍스트 검색 서비스
01. 전체 텍스트 검색 서비스 개요 ... 655
실습1 전체 텍스트 검색 서비스가 가동되고 있는지 살펴보자 ... 655
02. 전체 텍스트 인덱스와 전체 텍스트 카탈로그 ... 657
전체 텍스트 인덱스 ... 657
전체 텍스트 카탈로그 ... 659
전체 텍스트 인덱스 채우기 ... 659
전체 텍스트 검색을 위한 쿼리 ... 660
03. 전체 텍스트 검색 서비스의 작동 ... 662
실습2 전체 텍스트 검색 서비스를 사용하자 ... 663
이것만은 알고 갑시다 ... 674
15장. XML
01. XML 기본 ... 677
XML의 기본적인 구조 ... 677
XML 데이터 형식 ... 677
실습1 XML 데이터 형식을 사용하자 ... 677
형식화된 XML과 XML 스키마 ... 679
실습2 형식화된 XML을 사용하자 ... 679
02. XML 활용 ... 683
XML 인덱스 ... 683
실습3 XML 인덱스를 생성하고 사용하자 ... 684
쿼리의 결과를 XML로(FOR XML 절) ... 687
실습4 FOR XML 절을 사용하자 ... 687
XML 데이터를 일반 쿼리의 결과로 만들기(OPENXML) ... 692
실습5 XML 데이터를 일반 쿼리의 결과로 변경하자 ... 692
이것만은 알고 갑시다 ... 694
Part 4 SQL Server 2005 관리
16장. 보안과 스키마
01. SQL Server의 보안 ... 699
인증 모드 ... 699
실습1 Windows 계정을 생성하고 SQL Server에 접속하자 ... 700
실습2 인증 모드를 혼합 모드로 변경하자 ... 703
로그인, 사용자, 사용권한, 역할 ... 704
실습3 SQL Server의 보안을 살펴보자 ... 709
02. 스키마 ... 728
스키마의 개요 ... 729
실습4 현재 접속한 사용자를 확인하고 기본 스키마를 변경하자 ... 731
스키마의 생성과 활용 ... 732
실습5 스키마를 활용하자 ... 732
이것만은 알고 갑시다 ... 738
17장. 데이터를 안전하게 보관하자(백업, 복원, 스냅숏)
01. 데이터베이스 백업과 복원 ... 741
데이터베이스의 복구 모델 ... 741
데이터베이스 백업의 종류 ... 743
백업 시에 사용되는 기능 및 옵션 ... 749
백업장치 ... 752
데이터베이스 복원 ... 753
데이터베이스 복원의 기능 및 옵션 ... 754
실습1 백업장치를 만들자 ... 758
실습2 트랜잭션 로그 파일을 비우지 않으면 발생하는 문제를 해결하자 ... 759
실습3 [그림 17-16]의 시나리오로 백업, 복원을 수행해 보자 ... 762
실습4 여러 개의 파일그룹을 백업하고 복원하자 ... 770
실습5 중요도가 높은 테이블이 포함된 파일그룹부터 온라인 복원을 하자 ... 778
실습6 미러백업과 체크섬을 사용하자 ... 780
시스템 데이터베이스의 문제 발생 시 해결 방법 ... 781
실습7 master에 문제가 생겨서 시스템이 마비되었다고 가정하고, 중요한 데이터베이스를 다른 서버에서 계속 서비스하자 ... 782
실습8 master 데이터베이스가 깨진 상태를 복구하자 ... 788
데이터베이스 백업과 복원 계획 수립 ... 791
02. 데이터베이스 스냅숏 ... 793
데이터베이스 스냅숏의 소개 ... 793
실습9 데이터베이스 스냅숏을 생성하자 ... 795
스법숏의 실제 내부 작동 ... 799
실습10 스냅숏의 내부 작동을 살펴보자 ... 800
스냅숏의 활용 ... 807
실습11 테이블의 데이터를 삭제 또는 수정한 후에 스냅숏 DB를 이용해서 원상 복구하자 ... 807
실습12 RESTORE 구문을 사용하여 스냅숏 DB인 Adv_sh1의 일부 데이터가 아닌, 전체를 AdventureWorts로 되돌리자 ... 811
스냅숏 사용 시 주의사항 ... 811
실습13 : 스냅숏 DB를 백업의 대용으로 사용할 때의 문제점을 살펴보자 ... 811
이것만은 알고 갑시다 ... 814
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
01. 고가용성을 위한 방법 및 개념 ... 817
서버 클러스터링 개요 ... 817
로그 전달 개요 ... 819
데이터베이스 미러링 개요 ... 819
복제 개요 ... 819
02. 로그 전달 ... 821
로그 전달의 상세 작동방식 ... 821
로그 전달 실습 ... 822
실습1 로그 전달을 구성하자 ... 822
실습2 로그 전달을 제거하자 ... 834
03. 데이터베이스 미러링 ... 836
데이터베이스 미러링 소개 ... 836
데이터베이스 미러링 실습 ... 840
실습3 3대의 인스턴스를 사용해서 데이터베이스 미러링을 구성하자 ... 840
데이터베이스 미러링의 운영 모드 ... 858
04. 복제 ... 859
복제 관련 용어 ... 859
복제의 방법 ... 861
복제의 구성 모델 ... 863
실습4 [그림 18-83]과 같이 복제의 가장 기본적인 틀을 구현하자 ... 867
실습5 [그림 18-83]을 가지고 구성 완료된 복제의 내부 작동이 어떻게 일어나는지 살펴보자 ... 890
실습6 병합복제를 구현하자 ... 896
실습7 복제를 제거하자 ... 902
이것만은 알고 갑시다 ... 904
19장. SQL Server 2005 통합 서비스
01. SQL Server 2005 통합 서비스 개요 ... 907
외부와의 데이터 이동을 위해서 사용되는 방법 ... 907
SSIS의 데이터 변환 기능 ... 907
02. SQL Server 가져오기 및 내보내기 마법사 ... 908
SQL Server 사이의 데이터 복사, 이동 ... 908
실습1 SQL Server 사이에 데이터를 이동시키자 ... 908
실습2 SQL Server 사이에서 데이터베이스 및 테이블을 먼저 정의한 후에 데이터 가져오기를 수행하자 ... 915
이기종 간의 데이터 복사, 이동 ... 923
실습3 Oracle 10g XE를 설치하자 ... 923
실습4 이기종 간의 데이터를 복사, 이동시키자 ... 926
이것만은 알고 갑시다 ... 931
20장. 서버 자동화
01. 서버 자동화 개요 ... 935
자동화의 대표적인 사례 ... 935
SQL Server 2005에서 제공하는 데이터베이스 자동화 ... 935
작업일정 ... 935
SQL Se
더보기 닫기