로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

PROFESSIONAL SQL SERVER 2000 PROGRAMMING

   
지은이 Robert Vieira/류광   |   출판사 정보문화사  |   발행일 2001년 07월 24일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 43,000원38,700원 10%
마일리지 5% 2,150원
발행일 2001-07-24
ISBN 8976278577 |  9788976278579
기타정보 번역서 | 1555쪽
예상출고일
배송비 무료배송
   
데이터베이스관리
종합지수 23p 21 위
   
주의사항 더이상 출간되지 않습니다.
 

【 Professional 시리즈 소개 】
이 시리즈의 책은 자신들이 어렵게 얻은 지식을 여러분과 기꺼이 공유하고자 하는 경험 많은 개발자들과의 일대일 강의라고 할 수 있다. 이 시리즈는 업계에서 증명된 기법과 방법들을 축약해 놓은 것이다. 여러분은 안정된 작업을 하기 위하여 작성된 실제적인 예제들을 통하여 서비스에 대한 기술을 확실하게 이해할 수 있을 것이다. 여러분은 이 책에서 지식을 넓히고, 여러분이 배운 일반적인 지식을 여러분의 상황에 맞게 커스텀화할 수 있다. 그럼으로써 여러분은 멋진 프로그램을 쉽게 작성할 수 있게 될 것이다.

【 이 책은 무엇에 관한 책인가? 】
SQL Server 2000은 마이크로소프트의 데이터 웨어하우징과 관계형 데이터베이스 관리 시스템의 가장 최신의, 그리고 가장 강력한 버전이다. SQL Server 2000은 윈도우즈 2000과 밀접하게 통합되었으며, XML을 좀더 많이 지원하고 분석 서비스도 많이 향상되었다.

Professional SQL Server 2000은 Transact-SQL에 대한 완전한 튜토리얼을 제공하며, 또한 인덱스된 뷰, 사용자 정의 함수, 그리고 XML 지원 기능 등 여러 SQL Server 2000의 새로운 기능들에 대해 자세히 이야기한다. SQL Server 이외의 RDBMS에서 온 독자이든, 이전 버전들로부터 올라온 독자이든, 아니면 DBA 지식에 프로그래밍 기술을 추가하고 싶은 독자이든, 이 책을 통해서 SQL Server 2000 개발의 모든 측면들을 살펴볼 수 있을 것이다.

【 이 책의 대상 】
이 책은 SQL Server 2000의 새로운 기능들을 최대한 활용하고자 하는 SQL Server 개발자들을 대상으로 한다. SQL Server에 대한 지식이 없어도 되나, 책을 제대로 따라가려면 변수, 데이터형, 절차적 프로그래밍 같은 프로그래밍 기초들에 대한 이해가 필요하다. 데이터베이스 관리 부분은 SQL Server 개발자의 관점에서 필요한 것들만 이야기한다.

【 이 책의 내용 】
기본적으로 이 책은 쉬운 것부터 시작해서 읽어 나갈수록 점차로 어려운 내용이 나오도록 구성되어 있으며, 독자가 경험있는 개발자라는 가정에서 출발한다. 반드시 데이터베이스에 대한 경험이 있어야 하는 것은 아니다. 이 책을 모두 독파하기 위해서는 적어도 변수, 데이터형, 절차적 프로그래밍 같은 프로그래밍의 기초에 대한 이해가 필요하다. 그러나 쿼리같은 데이터베이스 개념들이 반드시 필요한 것은 아니다.

이 책에는 SQL Server 데이터베이스 개발에 대한 초급 내용과 고급 내용이 섞어 있다. RDBMS 시스템들, 특히 SQL Server에 익숙한 독자라면 초반의 몇 장들은 그냥 넘길수도 있을 것이다. 그러나 그런 독자라해도 2장과 3장은 꼭 읽어보라고 권하고 싶다. 반면 4장과 5장 정도는 그냥 넘어가도 될 것이다. 그 이후의 장들부터는 다른 RDBMS 제품들이나 심지어 버전 6.5, 7.0과도 약간 다른 SQL Server 2000의 영역들로 들어가게 된다.

이 책은 매우 개발자 지향적이다. 개발자가 아니라 데이터베이스 관리자의 영역에 속하는 것들은 언급만 하거나 아예 무시하기도 한다. 그러나 개발자에게 영향을 미치는 또는 개발 과정에서 생각해 봐야할 필요가 있는 몇 가지 관리 문제들에 대해서는 30장에서 간략하게 살펴볼 것이다.

이 책의 7.0 버전에서는 SQL Server의 고유한 Active 스크립팅(DTS와 함께 쓰이는 것)과 T-SQL(SQL Server 고유의 SQL) 언어들을 제외한 언어들은 자세히 다루지 않았다. 클라이언트쪽 언어의 사용은 단 하나의 장에만 국한시켰었다. 그러나 독자들의 반응에 집어넣었다. 주된 클라이언트쪽 언어로는 일반적인 독자들이 좀 더 이해하기 쉬운 비주얼 베이직을 선택했다(VB 프로그래머들이 C 코드를 이해하는 것보다는 C 프로그래머들이 VB 코드를 더 잘 이해하는 것 같기 때문이다.) 몇몇 부분들에서는 오늘날의 가장 대중적인 프로그래밍 언어들인 C++와 비주얼 베이직 사이의 유사성과 차이점들에 대해서도 지적했다.


- Transact-SQL에 대한 완전한 소개

- 데이터베이스 설계 문제들

- 뷰, 저장 프로시저, 사용자 정의 함수의 작성과 사용

- 트리거를 통한 이벤트 반응

- SQL Server의 보안

- 데이터를 XML로 조회

- 분석 서비스 입문

- 데이터 변환 서비스(DTS)와 bcp를 이용한 데이터 이동

- 복제를 통한 분산 데이터의 무결성 유지

- English Query와 전체 텍스트 검색을 이용한 SQL Server 데이터 조회

【 저자 소개 】
Robert Vieira는 1978년 컴퓨팅 세계를 처음 접하고 즉시 빠져들었다. 1980년 그는 컴퓨터 키트를 조립하고 수선하거나 BASIC과 Z80, 6502 어셈블러 언어로 프로그래밍을 하는 등 본격적인 컴퓨팅 세계로 진입했다. 그는 1983년 컴퓨터 정보 시스템 학위를 위한 공부를 시작했으나, 전문적인 메인프레임 환경이 그의 취향에 비해 너무 완고하다는 것을 느끼고는 1985년에 다른 분야로 눈을 돌렸다. 그 이듬해 그는 PC쪽으로 진로를 바꿔서 dBase에서 SQL Server에 이르는 길고 긴 데이터베이스 개발의 길을 걷게 되었다. Rob은 1990년 경영 관리 분야의 학위를 땄으며, 지금까지 주로 그의 경영과 컴퓨팅에 대한 지식을 결합할 수 있는 분야에서 일해왔다. 학사 학위 이외에, 그는 Certified Management Accountant와 Microsoft의 Solutions Develper(MCSD), Trainer(MCT), Database Administrator(MCDBA) 같은 자격증들을 가지고 있다.

Rob은 현재 STEP Technology(Portland, Oregon)의 Technology and Innovation Group에서 데이터베이스 및 저장 기술에 대한 수석 컨설턴트(하이-엔드 컨설팅과 팀 서포트를 제공하는 위치이다)를 맡고 있다.

그는 그의 아내 Nancy, 큰딸 Ashley, 그리고 작은 딸 Adriana와 함께 Vancouver, WA에서 살고있다.
제1장 SQL Server 2000 - 특징과 역사
데이터베이스의 간략한 역사
- 데이터베이스의 종류
관계형 데이터베이스의 역사
SQL Server 2000에 대해
데이터베이스에 연결된 시스템의 구축
- 단층(single tier, host) 시스템
- 2층 구조(클라이언트-서버)
- 3층 구조
- 다층 구조
- .NET에 대해
데이터 접근 모델들
마이크로소프트 자격증
요약

제2장 RDBMS의 기초 : SQL Server 데이터베이스의 구성
데이터베이스 개체들의 개요
- 데이터베이스 개체
- 트랜잭션 로그
- 가장 기본적인 데이터베이스 개체 - 테이블
- 파일그룹
- 다이어그램
- 뷰
- 저장 프로시저
- 사용자 정의 함수
- 사용자와 역할
- 규칙
- 기본값
- 사용자 정의 데이터 형식
- 전체 텍스트 카탈로그
SQL Server의 데이터 형식들
- NULL 데이터
SQL Server의 개체들에 대한 식별자
- 이름을 붙일 수 있는 것들
- 이름짓기에 대한 몇 가지 규칙들
요약

제3장 여러 가지 도구들
온라인 설명서
클라이언트와 서버 네트워크 유틸리티들
- 프로토콜들
- 클라이언트쪽 프로토콜 설정
엔터프라이즈 관리자
- 데이터 변환 서비스(DTS)
- Bulk Copy Program(bcp)
MS DTC 관리 콘솔
SQL Server 프로필러
쿼리 분석기
- 로그인
- 연결
OSQL
서비스 관리자
sqlmaint.exe
요약

제4장 T-SQL의 기본 명령문들
기본적인 SELECT 문
- SELECT 문과 FROM 절
- WHERE 절
- ORDER BY
- GROUP BY 절을 이용한 데이터의 집계
- HAVING 절을 이용한 그룹별 조건 지정
- XML 출력을 위한 FOR 절
- 힌트를 위한 OPTION 절
- DISTINCT와 ALL 서술어
데이터 추가를 위한 INSERT 문
- INSERT INTO...SELECT 문
기존 데이터의 업데이트 - UPDATE 문
- DELETE 문
요약

제5장 테이블 결합
여러 가지 JOIN들
- INNER JOIN
- INNER JOIN의 특징
- OUTER JOIN
- 간단한 OUTER JOIN
- 좀더 복잡한 OUTER JOIN
양쪽 모두 포함시키는 FULL JOIN
CROSS JOIN
JOIN의 또 다른 구문들
- INNER JOIN의 또 다른 방식
- OUTER JOIN의 또 다른 방식
- CROSS JOIN의 또 다른 방식
UNION
요약

제6장 테이블의 생성과 변경
SQL Server에서의 개체 이름들
- 소유자
- 데이터베이스 이름
- 서버 이름
- 각 단계의 기본값들
CREATE 문
- CREATE DATABASE
- CREATE TABLE
ALTER 문
- ALTER DATABASE
- ALTER TABLE
DROP 문
GUI 도구를 사용
- EM을 이용한 데이터베이스 생성
EM을 이용한 스크립트 생성의 기초
요약

제7장 제약 조건
제약 조건의 종류
- 도메인 제약 조건
- 엔티티 제약 조건
- 참조 무결성 제약 조건
제약 조건의 명명 규칙
키 제약 조건들
- PRIMARY KEY 제약 조건
- FOREIGN KEY 제약 조건
- 캐스케이딩 업데이트와 삭제
UNIQUE 제약 조건
CHECK 제약 조건
DEFAULT 제약 조건
- CREATE TABLE 문 안에서 DEFAULT 제약 조건을 정의
- 기존 테이블에 DEFAULT 제약 조건을 추가
제약 조건의 비활성화
- 제약 조건을 추가할 때 기존의 잘못된 데이터를 무시하려면
- 기존의 제약 조건을 일시적으로 비활성화
규칙과 기본값
- 규칙
- 기본값
- 주어진 규칙이나 기본값을 사용하는 테이블이나 데이터 형식을 알아내려면
데이터 무결성을 위한 트리거들
무엇을 사용할 것인가
요약

제8장 정규화와 기타 기본적인 설계 개념들
테이블들
- 데이터의 정규화
- 시작하기 전에
- 1차 정규 형식
- 2차 정규 형식
- 3차 정규 형식
- 기타 정규 형식들
관계
- 1 대 1
- 0 또는 1 대 1
- 1 대 1 또는 다
- 1 대 0, 1, 다
- 다 대 다
다이어그래밍
- 다빈치 도구들
역정규화
정규화 이전에 생각해 봐야 할 것들
- 단순하게 할 것
- 데이터 형식의 선택
- 저장하는 쪽에서의 오류
간단한 실습 예제
- 데이터베이스의 생성
- 다이어그램과 테이블들을 추가
- 관계의 추가
- 몇 가지 제약 조건들의 추가
요약

제9장 SQL Server의 저장과 인덱스 구조
SQL Server의 데이터 저장 : 과거와 현재
SQL Server 저장 시스템 - 모든 버전들에서 공통적인 것들
- 버전 6.5와 그 이전에서의 저장 시스템
- 행
- 버전 7.0과 그 이후에서의 저장 시스템
인덱스의 이해
- B-트리
- SQL Server에서의 데이터 접근 방식
- 인덱스의 종류와 탐색
인덱스의 생성과 제거
- CREATE INDEX 문
- 제약 조건을 통해 암묵적으로 만들어지는 인덱스
언제 어디서 어떤 인덱스를 사용할 것인가
- 선택성
- 수행 비용의 문제
- 클러스터된 인덱스의 선택
- 열 순서의 문제
- 인덱스의 삭제
- 인덱스 튜닝 마법사
인덱스의 관리
- 단편화
- 단편화와 페이지 분할 가능성을 알아내는 방법
요약

제10장 뷰
간단한 뷰
필터로서의 뷰
좀더 복잡한 뷰
- ‘INSTEAD OF 트리거’ 이전에 뷰를 이용해서 데이터를
T-SQL을 통한 뷰의 수정
- 뷰의 삭제
EM에서 뷰를 생성, 수정
- EM 안에서 뷰를 수정
기존 뷰의 코드 보기
코드의 보호 : 뷰의 암호화
스키마 바인딩에 대해
VIEW_METADATA - 뷰를 테이블처럼 보이게 하기
인덱스된(물질화된) 뷰
요약

제11장 스크립트와 일괄 처리의 작성
스크립트의 기초
- USE 문
- 변수의 선언
- @@IDENTITY의 사용법
- @@ROWCOUNT의 사용법
일괄 처리
- 일괄 처리 안에서의 오류
- 일괄 처리의 활용
OSQL
동적 SQL : EXEC 명령을 이용한 동적인 코드 생성
- EXEC에서 주의할 점들
요약

제12장 저장 프로시저
저장 프로시저의 작성 : 기본 구문
- 기초적인 저장 프로시저 예제
- ALTER를 이용한 저장 프로시저의 수정
- 저장 프로시저의 삭제
매개 변수화
- 매개 변수의 선언
실행 흐름의 제어
- IF...ELSE 문
- CASE 문
- WHILE 문을 이용한 루프 구조
- WAITFOR 명령문
반환값을 이용한 성공/실패 여부 확인
- RETURN의 사용법
오류 처리
- 인라인 오류의 처리
- 오류가 일어나기 전에 처리하려면
- 명시적으로 오류를 발생시키려면
- 사용자 정의 오류 메시지의 추가
저장 프로시저로 얻을 수 있는 것들
- 프로세스를 호출 가능하게 만든다
- 보안을 위한 저장 프로시저
- 저장 프로시저와 성능
확장 저장 프로시저(XP)
- xp_cmdshell
- xp_msver
시스템 저장 프로시저
재귀 호출에 대한 간단한 설명
디버깅
- 디버깅을 위한 SQL Server 설정
- 디버거의 시동
- 디버거의 구성
- 디버거의 사용법
요약

제13장 사용자 정의 함수
UDF에 대해
- 스칼라 값을 돌려주는 UDF
- 테이블을 돌려주는 UDF
- 확정적인 행동 방식
“시스템” 함수 만들기
요약

제14장 트랜잭션과 잠금
트랜잭션
- BEGIN TRAN
- COMMIT TRAN
- ROLLBACK TRAN
- SAVE TRAN
SQL Server 로그의 작동 방식
- 실패와 복구
- 암시적 트랜잭션
잠금과 병행성
- 잠금으로 방지할 수 있는 문제들
- 잠금이 가능한 자원들
- 잠금 에스컬레이션과 성능에 대한 잠금의 영향
- 잠금 모드들
- 잠금 호환성
특정 잠금 종류의 지정 - 최적화 힌트
격리 수준의 설정
- 격리 수준과 MTS/COM+
교착 상태 다루기
- SQL Server가 교착 상태 상황을 감지하는 방식
- 교착 상태 희생자를 선택하는 방식
- 교착 상태를 피하려면
요약

제15장 트리거
트리거란?
- ON
- WITH ENCRYPTION
- FOR|ALTER와 INSTEAD OF
- WITH APPEND
- NOT FOR REPLICATION
- AS
참조 무결성을 위한 트리거 활용
간단한 참조 무결성을 위한 트리거
좀더 유연한 참조 무결성을 위해 트리거를 사용
데이터 무결성 규칙을 위한 트리거의 사용
- 다른 테이블로부터 비롯된 요구 조건들의 처리
업데이트의 델타를 점검하는 트리거
사용자 정의 오류 메시지를 위한 트리거 사용
그 외의 트리거의 일반적인 용도들
- 요약 정보의 업데이트
- 보고 작성을 위한 역정규화된 테이블에 데이터를 공급
- 조건 플래그들의 설정
그 밖의 트리거 관련 사항들
- 트리거는 내포될 수 있다
- 트리거의 재귀
- 트리거는 데이터베이스 구조의 변경과는 상관이 없다
- 트리거를 삭제하지 않고도 비활성화시킬 수 있다
- 트리거의 발동 순서
INSTEAD OF 트리거들
- INSTEAD OF INSERT 트리거
- INSTEAD OF UPDATE 트리거
- INSTEAD OF DELETE 트리거
성능상의 고려 사항들
- 트리거는 작업이 일어난 후에 작동한다
- 트리거는 자신을 발동시킨 프로세스와 병행성 문제를 일으키지 않는다
- IF UPDATE()와 COLUMNS_UPDATED()
- 트리거는 최대한 짧게
- 인덱스를 선택할 때에는 트리거를 고려해야 한다
- 트리거 안에서의 결합 역시 7.0 이전의 결합 개수 한계에 포함된다
- 트리거 안에서는 롤백을 피할 것
트리거의 제거
트리거의 디버깅
요약

제16장 고급 쿼리들
하위 쿼리란?
중첩된 하위 쿼리의 작성
- 하나의 값을 돌려주는 하위 쿼리
- 여러 개의 값들을 돌려주는 하위 쿼리
- ANY, SOME, ALL 연산자
상관 하위 쿼리들
- 상관 하위 쿼리의 작동 방식
- WHERE 절 안에서의 상관 하위 쿼리
- SELECT 목록 안의 상관 하위 쿼리
도출된 테이블들
- EXISTS 연산자
데이터 형식의 혼합 : CAST와 CONVERT
성능상의 고려 사항들
- JOIN과 하위 쿼리의 비교, 그리고 그 외의 대안들
요약

제17장 분산 쿼리와 분산 트랜잭션
분산 트랜잭션
- 준비 단계
- 커밋 단계
분산 쿼리
- 연결된 서버 만들기
- 연결된 서버의 활용
- 원격 서버로부터 메타데이터 얻기
통과 쿼리의 작성과 사용
원격 데이터 원본에 대해 임시적인 쿼리를 수행
- 분산 쿼리에서 몇 가지 고려해야 할 사항들
분산 분할 뷰
- 분산 분할 뷰에 대해 생각해 볼 사항들
요약

제18장 SQL 커서
커서란?
커서의 수명 주기
커서들의 종류와 확장 선언 구문
- LOCAL과 GLOBAL
- 스크롤 방향
커서의 종류들
- 빠른 전진 커서
- 병행성 옵션들
- 커서 종류의 변환을 감지 : TYPE_WARNING
- FOR SELECT
- FOR UPDATE
커서 이동 : FETCH 명령문
커서 안에서의 데이터 변경
요약

제19장 간략한 XML 입문
XML의 기초
XML 문서의 구성
- 문서
- 선언
- 요소
- 문서의 계통적 구조
- 특성
“적격”이란
XML 문서의 예
요소로 할 것인가, 특성으로 할 것인가
이름공간
요소 내용
유효한 문서와 적격 문서 - DTD와 스키마
DTD
XML 스키마
DTD/스키마와 성능에 대해 한 마디
문서의 변환 - XSLT
- 몇 가지 핵심 XSL 요소들의 요약
요약

제20장 SQL Server와 XML의 통합
FOR XML 절
- RAW
- AUTO
- EXPLICIT
- OPENXML
HTTP 접근
- HTTP 접근의 설정
URL 기반 쿼리
템플릿 활용
POST
XPath
- 결과의 스타일링
- 업데이트그램에 대해
XML의 스트리밍
- Stream 개체의 개요
- Stream 개체를 감싸는 구성 요소의 구현
요약

제21장 bcp(Bulk Copy Program)
bcp 유틸리티
- bcp의 구문
- bcp를 이용한 데이터 가져오기
- 데이터 가져오기 예제
- 빠른 모드와 느린 모드
형식 파일
- bcp 가져오기 성능 향상 방법
bcp를 이용한 데이터 내보내기
BULK INSERT
요약

제22장 데이터 변환 서비스의 기초
DTS 디자이너
- 연결
- 작업
- 워크플로
가져오기/내보내기 마법사
- SQL 실행
- 워크플로
- 연결 개체들
- 변환
간단한 변환 패키지 만들기
- 워크플로 설정
패키지의 저장
bcp 대신 DTS를 활용
명령행에서 패키지 실행 - dtsrun.exe
요약

제23장 복제
분산 데이터의 지원
복제를 계획할 때 고려할 사항들
- 서버 독립성
- 업데이트 지연
- 데이터 일관성
- 스키마 일관성
- 기타 고려 사항들
게시, 배포, 구독
- 구독
- 구독자의 종류
- 데이터 필터링
복제 유형
- 스냅샷 복제
- 병합 복제
- 트랜잭션 복제
- 즉시 업데이트 구독자들
복제 유형들의 혼합
복제 모델 시나리오들
- 표준 모델들
- 혼합 모델들
- 한 가지 더...
구현의 예
- Contractor Supply
- Cleanzit
복제를 위한 계획
- 데이터 관련 사항들
- 복제 유형
복제 마법사
게시와 배포 구성
- 마법사의 시작
- 기본 구성
- 구성 이후
- 배포 해제
- 복제 관련 T-SQL 프로시저들
트랜잭션/스냅샷 게시
- 게시 만들기 마법사
- 구성 이후
- T-SQL 프로시저들
병합 게시
- 게시 만들기 마법사
- 구성 이후
- T-SQL 프로시저들
밀어넣기 구독
- 구독 밀어넣기 마법사
- 병합 구독에 대해
- T-SQL 프로시저들
끌어오기 구독
- 구독 끌어오기 마법사
- T-SQL 프로시저들
복제의 관리
- 복제 스크립트
- 이질적 복제의 지원
- 인터넷 게시
- 복제와 스키마 변경
- 복제 모니터
- 기타 사항들
요약

제24장 고급 설계
다이어그래밍과 관계들
- 두 가지 관계 유형들
- 엔티티 상자
- 관계 선
- 종료자
논리적 설계 대 물리적 설계
- 논리적 모델의 목적
논리적 모델의 요소들
파일 기반 정보의 처리
서브카테고리
- 서브카테고리의 종류
- 서브카테고리의 구현
- 서브카테고리의 물리적 구현
- 서브카테고리와 확장성
데이터베이스 재사용
재사용할 수 있을 만한 데이터베이스들
- 영역들로 나누는 방법
- 재사용성의 대가
- 규모 가변성을 위한 분할
요약

제25장 분석 서비스
최종 사용자의 요구 사항들
- 온라인 트랜잭션 처리(OLTP)
- 온라인 분석 처리(OLAP)
- 데이터 마이닝
- OLTP와 OLAP
차원형 데이터베이스
- 팩트 테이블
- 차원 테이블
- 별모양 스키마와 눈송이 스키마
- 데이터 큐브
OLAP 저장 유형
- MOLAP
- ROLAP
- HOLAP
데이터 웨어하우스 개념
- 데이터 웨어하우스의 특징들
- 데이터 마트
데이터 변환 서비스
- 데이터 유효화
- 데이터 스크러빙
- 데이터 마이그레이션
- 데이터 변환
- DTS 구성 요소
메타데이터와 리포지토리
데이터 마이닝 모델들
데이터 마이닝 알고리즘들
- 의사 결정 트리
- 클러스터링
분석 관리자
- OLAP 솔루션의 작성
- 이 스키마가 어떻게 생겨났는가
데이터 마이닝 모델의 구축
요약

제26장 전체 텍스트 검색
전체 텍스트 검색의 구조
전체 텍스트 인덱스와 카탈로그의 설정
- 데이터베이스에 대해 전체 텍스트 검색을 활성화
- 전체 텍스트 카탈로그 작성
- 개별 테이블에 대해 전체 텍스트 검색을 활성화
- 인덱스 채우기
전체 텍스트 쿼리의 구문
- CONTAINS
- FREETEXT
- CONTAINSTABLE
- FREETEXTTABLE
- 근접
- 접두어
- 가중치
- INFLECTIONAL
- Rank에 관해
노이즈 단어
언어들
sp_fulltext_service
요약

제27장 English Query
English Query란 무엇인가
- English Query의 이점과 한계
English Query 응용 프로그램의 구조
English Query 프로젝트의 작성
- SQL Project Wizard를 이용한 새 프로젝트 작성
- 기본적인 English Query
- 엔티티들과 관계들의 개선 및 확장
- 필드 엔티티의 개선과 확장
- 기본적인 필드 관계들
- 추가적인 구문들을 정의
- 쿼리의 저장과 복귀 테스트
- 테이블들 사이의 관계들을 정의
- 다중 결합에 기반한 관계들
- 테이블과 필드 엔티티들 사이의 구문 및 관계들
- 하위 집합 구문의 정의
- 형용사 구문의 정의
- 동의어의 정의
- 사전 항목들
다시 응용 프로그램을 테스트
English Query 응용 프로그램의 배포
- 프로젝트 파일들
- English Query 응용 프로그램의 빌드
- English Query 응용 프로그램의 활용
- 배포
요약

제28장 보안
보안의 기초
- 사용자 하나당 하나의 로그인 ID와 암호를 부여
- 암호의 만료
- 암호 길이와 구성
- 로그인 시도 횟수
- 사용자와 암호 정보의 저장
보안 옵션들
- SQL Server 보안
- NT 통합 보안
사용자 권한
- 특정 데이터베이스에 대한 접근을 허용
- 데이터베이스 안의 개체들에 대한 접근 허용
- 사용자 권한과 명령문 수준의 허용
서버와 데이터베이스 역할들
- 서버 역할
- 데이터베이스 역할
사용자 정의 데이터베이스 역할
응용 프로그램 역할
- 응용 프로그램 역할 만들기
- 응용 프로그램 역할에 권한들을 추가
- 응용 프로그램 역할의 사용
- 응용 프로그램 역할의 삭제
XML을 통한 보안
그 밖의 사항들
- guest 계정에 대해
- TCP/IP 포트 설정
- sa 계정을 사용하지 말 것
- xp_cmdshell 확장 저장 프로시저
- 뷰, 저장 프로시저, UDF 역시 보안 도구이다
요약

제29장 성능 조율
조율의 시점
인덱스의 선택
- 커버링 인덱스
- 인덱스 튜닝 마법사
클라이언트 대 서버쪽 프로세싱
전략적인 역정규화
일상적인 관리
저장 프로시저의 조직화
- 트랜잭션을 짧게
- 가능한 한 가장 제한이 적은 트랜잭션 격리 수준을 사용할 것
- 필요하다면 여러 개의 솔루션들을 구현할 것
- 가능하면 커서를 피할 것
임시 테이블의 활용
사소한 부분들도 신경을 쓸 것
하드웨어 고려 사항들
- 데이터베이스 서버 전용
- I/O 집중적 대 CPU 집중적
- OLTP 대 OLAP
- 온-사이트 대 오프-사이트
- 다운의 위험
- 데이터 손실
- 성능과 안정성
- 드라이버 지원
- 이상적인 시스템
문제 해결
- 여러 가지 SHOWPLAN 옵션들과 STATISTICS
DBCC(Database Consistency Checker)
- 비용 쿼리 관리자
SQL Server 프로필러
- 성능 모니터(Perfmon)
요약

제30장 관리의 개요
작업 일정 설정
- 운영자 만들기
- 작업과 작업 단계 만들기
백업과 복원
- 백업 미디어
- 백업
- 데이터 복원
경고
- EM에서 경고 만들기
- T-SQL로 경고 만들기
전체 텍스트 카탈로그 채우기
- 백업과 복원
- 일정화된 채우기
데이터를 한 곳에서 다른 곳으로 복사
- 데이터베이스 복사 마법사
- 백업과 복원
- sp_detach_db와 sp_attach_db
인덱스 재구축
데이터 보관
요약

제31장 고급 DTS
DTS 개체 모델의 소개
- 참조 설정
Package 개체
동적 패키지
- 전역 변수들
동적 속성 작업
다중 단계 데이터 펌프
- 다중 단계 데이터 펌프 예제
DTS 안에서의 데이터 로드 최적화
요약

제32장 WMI를 통한 관리 기능 스크립팅
SQL-DMO
WMI
- WMI의 구조
WMI 개체들의 기초
- 클래스
- 인스턴스
- 연결
- 이름공간
WMI SQL Server Administration 공급자 설치
- SQL Server 공급자 스키마
WMI 연결
- 보안에 대한 몇 가지 참고 사항들
인스턴스 얻기
- 모든 인스턴스들을 열거
- 구체적인 인스턴스 얻기
- 인터페이스에 대한 쿼리
- 연결 쿼리
- 인스턴스 조회 성능을 향상시키기 위한 팁들
인스턴스의 수정
인스턴스 생성
인스턴스 삭제
메서드 호출
- 동적 메서드
- 정적 메서드
이벤트의 사용
- 인스턴스 이벤트
- 비 인스턴스 이벤트
정적 설정 클래스
한정자들에 접근
- SQL Server에 관련된 특별한 한정자들
요약

부록 A 시스템 함수들
@@CONNECTIONS
@@CPU_BUSY
@@CURSOR_ROWS
@@DATEFIRST
@@DBTS
@@ERROR
@@FETCH_STATUS
@@IDENTITY
@@IDLE
@@IO_BUSY
@@LANGID와 @@LANGUAGE
@@LOCK_TIMEOUT
@@MAX_CONNECTIONS
@@MAX_PRECISION
@@NESTLEVEL
@@OPTIONS
@@PACK_RECEIVED와 @@PACK_SENT
@@PACKET_ERRORS
@@PROCID
@@REMSERVER
@@ROWCOUNT
@@SERVERNAME
@@SERVICENAME
@@SPID
@@TEXTSIZE
@@TIMETICKS
@@TOTAL_ERRORS
@@TOTAL_READ와 @@TOTAL_WRITE
@@TRANCOUNT
@@VERSION

부록 B 함수 목록
집계 함수들
- AVG
- COUNT
- COUNT_BIG
- GROUPING
- MAX
- MIN
- STDEV
- STDEVP
- SUM
- VAR
- VARP
커서 함수
- CURSOR_STATUS
- 날짜 및 시간 함수들
- DATEADD
- DATEDIFF
- DATENAME
- DATEPART
- DAY
- GETDATE
- GETUTCDATE
- MONTH
- YEAR
수치 연산 함수들
- ABS
- ACOS
- ASIN
- ATAN
- ATN2
- CEILING
- COS
- COT
- DEGREES
- EXP
- FLOOR
- LOG
- LOG10
- PI
- POWER
- RADIANS
- RAND
- ROUND
- SIGN
- SIN
- SQUARE
- SQRT
- TAN
메타데이터 함수들
- COL_LENGTH
- COL_NAME
- COLUMNPROPERTY
- DATABASEPROPERTY
- DB_ID
- DB_NAME
- FILE_ID
- FILE_NAME
- FILEGROUP_ID
- FILEGROUP_NAME
- FILEGROUPPROPERTY
- FILEPROPERTY
- FULLTEXTCATALOGPROPERTY
- FULLTEXTSERVICEPROPERTY
- INDEX_COL
- INDEXKEY_PROPERTY
- INDEXPROPERTY
- OBJECT_ID
- OBJECT_NAME
- OBJECTPROPERTY
- SQL_VARIANT_PROPERTY
- TYPEPROPERTY
행집합 함수들
- CONTAINSTABLE
- FREETEXTTABLE
- OPENDATASOURCE
- OPENQUERY
- OPENROWSET
- OPENXML
보안 함수들
- HAS_DBACCESS
- IS_MEMBER
- IS_SRVROLEMEMBER
- SUSER_ID
- SUSER_NAME
- SUSER_SID
- SUSER_SNAME
- USER
- USER_ID
문자열 함수들
- ASCII
- CHAR
- CHARINDEX
- DIFFERENCE
- LEFT
- LEN
- LOWER
- LTRIM
- NCHAR
- PATINDEX
- QUOTENAME
- REPLACE
- REPLICATE
- REVERSE
- RIGHT
- RTRIM
- SOUNDEX
- SPACE
- STR
- STUFF
- SUBSTRING
- UNICODE
- UPPER
시스템 함수들
- APP_NAME
- CASE
- CAST와 CONVERT
- COALESCE
- COLLATIONPROPERTY
- CURRENT_TIMESTAMP
- CURRENT_USER
- DATALENGTH
- FORMATMESSAGE
- GETANSINULL
- HOST_ID
- HOST_NAME
- IDENT_CURRENT
- IDENT_INCR
- IDENT_SEED
- IDENTITY
- ISDATE
- ISNULL
- ISNUMERIC
- NEWID
- NULLIF
- PARSENAME
- PERMISSIONS
- ROWCOUNT_BIG
- SCOPE_IDENTITY
- SERVERPROPERTY
- SESSION_USER
- SESSIONPROPERTY
- STATS_DATE
- SYSTEM_USER
- USER_NAME
텍스트 및 이미지 함수들
- TEXTPTR
- TEXTVALID

부록 C 여러 가지 도구들
ERD 도구들
- 논리적.물리적 설계
- 범용 스크립팅
- 역공학
- 동기화
- 매크로
- 다른 도구들과의 통합(코드 생성)
- 기타 몇 가지 것들
코딩 도구들
- 백업 유틸리티
요약

부록 D 액세스 업사이징
액세스 데이터의 업사이징 방법들

부록 E 마이크로소프트 데이터 변환 서비스 패키지 개체 라이브러리 레퍼런스
개체들
컬렉션들
ActiveScriptTask
BulkInsertTask
Column
Columns
Connection
Connections
CreateProcessTask
CustomTask
CustomTaskUI
DataDrivenQueryTask
DataDrivenQueryTask2
DataPumpTask
DataPumpTask2
DynamicPropertiesTask
DynamicPropertiesTaskAssignment
DynamicPropertiesTaskAssignments
ExecuteSQLTask
ExecuteSQLTask2
GlobalVariable
GlobalVariables
IDTSStdObject
Lookup
Lookups
OleDBProperties
OleDBProperty
OleDBProperty2
Package
Package2
PackageInfo
PackageInfos
PackageLineage
PackageLineages
PackageLog
PackageLogRecord
PackageLogRecords
PackageRepository
PackageSQLServer
ParallelDataPumpTask
PersistPropertyBag
PrecedenceConstraint
PrecedenceConstraints
Properties
PropertiesProvider
Property
PropertyBag
SavedPackageInfo
SavedPackageInfos
ScriptingLanguageInfo
ScriptingLanguageInfos
SendMailTask
Step
Step2
StepLineage
StepLineages
StepLogRecord
StepLogRecords
Steps
Task
Tasks
TransferObjectsTask
TransferObjectsTask2
Transformation
Transformation2
TransformationInfo
TransformationInfos
Transformations
TransformationSet
TransformationSets
전역 상수들

찾아보기
준비 중입니다.
등록된 서평이 없습니다.
 
전체평균(0)
회원평점   회원서평수 0
이메일주소수집거부