목차
제1장 데이터베이스 시스템
1.1 데이터베이스 시스템 개요 = 15
1.1.1 데이터베이스 스키마와 상태 = 15
1.1.2 데이터베이스 시스템의 구성요소 = 16
1.1.3 데이터베이스 시스템의 요구사항 = 20
1.1.4 데이터베이스 시스템을 공부해야 하는 이유 = 21
1.2 파일 시스템 vs. DBMS = 22
1.2.1 파일 시스템을 사용한 기존의 데이터 관리 = 22
1.2.2 파일 시스템의 단점 = 23
1.2.3 DBMS를 사용한 데이터베이스 관리 = 26
1.2.4 DBMS의 장점 = 27
1.2.5 DBMS의 단점 = 30
1.3 DBMS 발전 과정 = 31
1.3.1 데이터 모델 = 31
1.3.2 DBMS의 발전 과정 = 33
1.3.3 새로운 데이터베이스 응용과 DBMS의 분류 = 37
1.4 DBMS 언어 = 39
1.5 DBMS 사용자 = 41
1.6 ANSI/SPARC 아키텍처와 데이터 독립성 = 45
1.6.1 ANSI/SPARC 아키텍처 = 45
1.6.2 데이터 독립성 = 51
1.7 데이터베이스 시스템 아키텍처 = 52
연습문제 = 58
제2장 관계 데이터 모델과 제약조건
2.1 관계 데이터 모델의 개념 = 64
2.1.1 기본적인 용어 = 64
2.1.2 스키마와 인스턴스 = 68
2.2 릴레이션의 특성 = 70
2.3 릴레이션의 키 = 73
2.4 무결성 제약조건 = 79
2.4.1 도메인 제약조건(domain constraint) = 81
2.4.2 키 제약조건(key constraint) = 81
2.4.3 기본 키와 엔티티 무결성 제약조건(entity integrity constraint) = 81
2.4.4 외래 키와 참조 무결성 제약조건 = 82
2.4.5 무결성 제약조건의 유지 = 83
연습문제 = 88
제3장 MS SQL Server
3.1 SQL Server 개요 = 95
3.2 SQL Server 설치 및 수행 = 98
3.2.1 SQL Server 설치 = 99
3.2.2 SQL Server 수행 = 108
3.3 환경 설정 = 112
3.3.1 예제 데이터베이스 생성 = 113
3.3.2 사용자 등록 = 115
3.3.3 암호 변경 = 119
3.3.4 예제 테이블 생성 = 119
3.4 쿼리 분석기 = 125
3.5 Transact-SQL = 131
연습문제 = 132
제4장 관계 대수와 SQL
4.1 관계 대수 = 135
4.1.1 실렉션 연산자 = 138
4.1.2 프로젝션 연산자 = 139
4.1.3 집합 연산자 = 141
4.1.4 조인 연산자 = 147
4.1.5 디비전 연산자 = 149
4.1.6 관계 대수 질의의 예 = 150
4.1.7 관계 대수의 한계 = 151
4.1.8 추가된 관계 대수 연산자 = 151
4.2 SQL 개요 = 155
4.3 데이터 정의어와 무결성 제약조건 = 160
4.3.1 데이터 정의어 = 160
4.3.2 제약조건 = 165
4.4 SELECT문 = 170
4.4.1 기본적인 SQL 질의 = 171
4.4.2 조인 = 187
4.4.3 중첩 질의(nested query) = 191
4.5 INSERT, DELETE, UPDATE문 = 198
4.5.1 INSERT문 = 198
4.5.2 DELETE문 = 200
4.5.3 UPDATE문 = 201
4.6 트리거(trigger)와 주장(assertion) = 202
4.6.1 트리거 = 202
4.6.2 주장 = 205
4.7 내포된 SQL = 206
연습문제 = 213
제5장 데이터베이스 설계와 ER 모델
5.1 데이터베이스 설계의 개요 = 222
5.2 ER 모델 = 227
5.2.1 엔티티 = 229
5.2.2 엔티티 타입 = 230
5.2.3 애트리뷰트 = 231
5.2.4 약한 엔티티 타입 = 236
5.2.5 관계와 관계 타입 = 237
5.2.6 ER 스키마를 작성하기 위한 지침 = 245
5.2.7 데이터베이스 설계 과정 = 247
5.2.8 ER 모델의 또 다른 표기법 = 248
5.3 데이터베이스 설계 사례 = 252
5.4 ER 스키마를 관계 모델이 릴레이션으로 사상 = 260
5.4.1 ER-관계 사상 알고리즘 = 261
5.4.2 데이터베이스 설계 사례에 알고리즘 적용 = 269
5.5 물리적 데이터베이스 설계 = 273
5.5.1 보조 기억 장치 = 274
5.5.2 버퍼 관리와 운영 체계 = 277
5.5.3 디스크 상에서 화일의 레코드 배치 = 278
5.5.4 화일 조직 = 283
5.5.5 단일 단계 인덱스 = 289
5.5.6 다단계 인덱스 = 301
5.5.7 인덱스 선정 지침과 데이터베이스 튜닝 = 303
연습문제 = 310
제6장 릴레이션 정규화
6.1 정규화 개요 = 321
6.2 함수적 종속성 = 327
6.3 릴레이션 분해(decomposition) = 332
6.4 제1정규형, 제2정규형, 제3정규형, BCNF = 336
6.4.1 제1정규형 = 336
6.4.2 제2정규형 = 337
6.4.3 제3정규형 = 340
6.4.4 BCNF = 342
6.5 역정규화(denormalization) = 345
연습문제 = 348
제7장 뷰와 시스템 카탈로그
7.1 뷰 = 355
7.1.1 뷰의 개요 = 355
7.1.2 뷰의 정의 = 356
7.1.3 뷰의 장점 = 359
7.1.4 뷰의 갱신 = 363
7.2 관계 DBMS의 시스템 카탈로그 = 366
7.3 MS SQL Server의 시스템 카탈로그 = 370
연습문제 = 385
제8장 트랜잭션
8.1 트랜잭션 개요 = 394
8.2 동시성 제어 = 404
8.2.1 동시성의 개요 = 404
8.2.2 로킹(locking) = 409
8.3 회복 = 416
8.3.1 회복의 개요 = 416
8.3.2 로그를 사용한 즉시 갱신 = 418
8.3.3 데이터베이스 백업과 재해적 고장으로부터의 회복 = 425
8.4 Transact-SQL의 트랜잭션 = 426
연습문제 = 430
제9장 데이터베이스 보안과 권한 관리
9.1 데이터베이스 보안 = 436
9.2 권한 관리 = 439
9.2.1 권한 허가 = 439
9.2.2 권한 취소 = 442
9.2.3 역할(role) = 444
9.3 MS SQL Server의 보안 및 권한 관리 = 446
9.3.1 MS SQL Server의 보안 및 권한 관리의 개요 = 446
9.3.2 MS SQL Server의 보안 및 권한 관리 실습 = 448
연습문제 = 458