목차
1장 데이터베이스의 기본 개념
1. 개요 = 20
1.1 데이터와 정보 = 20
1.2 메타데이터 = 22
1.3 데이터와 지식 = 23
2. 데이터베이스의 정의와 특성 = 24
2.1 데이터베이스 정의 = 24
2.2 데이터베이스 특성 = 25
3. 데이터 처리 시스템 = 27
3.1 일괄 처리 시스템 vs. 온라인 처리 시스템 = 27
3.2 오프라인 처리 시스템 vs. 온라인 처리 시스템 = 28
3.3 중앙집중 처리 시스템 vs. 분산 처리 시스템 = 28
4. 파일 관리 시스템 vs. 데이터베이스 관리 시스템 = 29
4.1 파일 관리 시스템 = 29
4.2 데이터베이스 관리 시스템 = 30
4.2.1 데이터베이스 관리 시스템 역사 = 31
4.2.2 데이터베이스 관리 시스템 이용의 장단점 = 32
5. 데이터베이스 시스템 역사 = 34
5.1 대형 시스템에서 소형 시스템으로 = 35
5.1.1 원자성(Atomicity) = 36
5.1.2 크기에 따른 데이터베이스 분류 = 37
5.2 데이터베이스 시스템의 제공 기능 추가 = 40
5.3 분산 데이터베이스 응용의 등장 = 41
5.3.1 분산 데이터베이스 시스템의 주요 구성 요소 = 43
5.3.2 분산 데이터베이스 적용의 장단점 = 43
5.4 클라이언트-서버 응용의 등장 = 45
5.4.1 파일 서버 구조 = 46
5.4.2 데이터베이스 서버 구조 = 47
5.5 데이터베이스 모델의 발전 = 48
연습문제 = 51
2장 데이터베이스 시스템 구성
1. 3단계 데이터베이스 구조 = 56
1.1 외부 단계 = 56
1.2 개념 단계 = 57
1.3 내부 단계 = 57
2. 스키마 vs. 인스턴스 = 59
3. 데이터 독립성 = 59
4. 데이터베이스 시스템 = 60
5. 데이터베이스 사용자 = 61
5.1 데이터베이스 관리자 = 62
5.2 데이터베이스 설계자 = 62
5.3 응용 프로그래머 = 62
5.4 최종 사용자 = 63
6. 데이터베이스 언어 = 64
6.1 데이터 정의어 = 64
6.2 데이터 조작어 = 65
7. 데이터베이스 관리 시스템 = 65
7.1 질의 처리기 = 66
7.2 저장 관리자 = 66
8. 데이터베이스 = 67
연습문제 = 68
3장 관계 데이터 모델
1. 개요 = 72
2. 기본 개념 = 73
2.1 릴레이션 = 73
2.1.1 릴레이션 구성 = 73
2.1.2 릴레이션 특성 = 74
2.2 속성 = 75
2.2.1 단순 속성 = 76
2.2.2 복합 속성 = 76
2.2.3 단일 값 속성 = 77
2.2.4 다중 값 속성 = 77
2.2.5 널 속성 = 77
2.2.6 유도 속성 = 78
2.3 도메인 = 79
2.4 키 = 80
2.4.1 후보키 = 81
2.4.2 슈퍼키 = 81
2.4.3 기본키 = 83
2.4.4 대체키 = 83
2.4.5 외래키 = 83
3. 관계 데이터 제약 = 86
3.1 개체 무결성 제약 = 86
3.2 참조 무결성 제약 = 86
연습문제 = 88
4장 관계 데이터 연산
1. 개요 = 92
2. 관계 대수 = 95
2.1 일반 집합 연산 = 96
2.1.1 합집합 = 97
2.1.2 교집합 = 98
2.1.3 차집합 = 99
2.1.4 카티션 프로덕트 = 99
2.2 순수 관계 연산 = 101
2.2.1 셀렉트 = 101
2.2.2 프로젝트 = 102
2.2.3 조인 = 104
2.2.4 디비전 = 106
2.3 확장 관계 대수 연산 = 108
2.3.1 외부 조인 = 108
2.3.2 세미 조인 = 109
2.3.3 세타 조인 = 109
3. 관계 해석 = 110
연습문제 = 111
5장 SQL 질의어
1. 개요 = 116
1.1 SQL 역사 = 116
1.2 SQL 구성 = 117
1.3 예제 데이터베이스 = 118
2. 데이터 정의 기능 = 122
2.1 테이블 생성(create table) = 122
2.1.1 무결성 제약 검사 = 122
2.1.2 데이터 유형 요약 = 123
2.2 테이블 제거와 변경 = 129
2.2.1 테이블 제거(drop table) = 129
2.2.2 테이블 변경(alter table) = 129
3. 데이터 조작 기능 = 130
3.1 데이터 검색(select) = 131
3.1.1 하나의 릴레이션에서의 검색 = 132
3.1.2 조건을 지정한 검색 = 134
3.1.3 집단 함수를 이용한 검색 = 136
3.1.4 AS를 이용한 검색 = 137
3.1.5 산술식을 이용한 검색 = 138
3.1.6 문자열 연산식을 이용한 검색(like) = 139
3.1.7 정렬 기능을 이용한 검색(order by) = 141
3.1.8 그룹별 검색 기능을 이용한 검색(group by) = 144
3.1.9 그룹별 검색 기능에 조건을 추가한 검색(having) = 147
3.1.10 Null 값을 이용한 검색 = 148
3.1.11 조인 연산을 이용한 검색 = 149
3.1.12 한정된 열이름을 사용한 검색 = 149
3.1.13 릴레이션 별칭(correlation name)을 사용한 검색 = 151
3.1.14 부속질의(subquery)를 이용한 검색 = 153
3.1.15 집합 연산을 이용한 검색 = 157
3.2 데이터 삽입(insert) = 159
3.2.1 투플의 직접 삽입 = 159
3.2.2 부속 질의어를 이용한 삽입 = 160
3.3 데이터 삭제(delete) = 161
3.3.1 전체 투플 삭제 = 161
3.3.2 조건을 지정한 투플 삭제 = 161
3.3.3 부속 질의어를 이용한 투플 삭제 = 162
3.4 데이터 갱신(update) = 162
3.4.1 전체 투플 변경 = 162
3.4.2 조건을 지정한 투플 변경 = 163
3.4.3 부속 질의어를 이용한 투플 변경 = 163
4. 뷰(View) = 164
4.1 뷰의 생성 = 164
4.2 뷰의 제거 = 165
연습문제 = 167
6장 삽입 SQL
1. 개요 = 172
2. 삽입 SQL 처리 절차 = 173
3. 삽입 SQL 형식 = 174
3.1 삽입 SQL문의 시작 = 174
3.2 호스트 변수의 선언부 형식 = 175
4. 커서 이용 방법 = 175
5. 오류 처리 기법 = 178
5.1 sqlstate 이용 방식 = 178
5.2 sqlca 이용 방식 = 179
6. 삽입, 삭제, 갱신 방식 = 179
6.1 삽입 방식 = 179
6.2 삭제 방식 = 180
6.3 갱신 방식 = 181
7. 동적 SQL = 183
연습문제 = 184
7장 데이터베이스 설계
1. 개요 = 188
2. 데이터베이스 설계 단계 = 190
2.1 개념적 설계 단계 = 191
2.2 논리적 설계 단계 = 192
2.3 물리적 설계 단계 = 192
3. 개체-관계 모델 = 193
3.1 E-R 모델의 구성 요소 = 193
3.1.1 개체 = 194
3.1.2 관계 = 195
3.1.3 속성 = 199
3.1.4 약한 개체 = 203
4. 확장 E-R 모델 = 205
4.1 세분화·일반화 = 205
4.1.1 세분화·일반화 개념 = 205
4.1.2 세분화·일반화 개념을 적용한 E-R 모델 = 207
4.1.3 세분화·일반화 개념의 장점 = 207
4.2 집단화 = 210
5. E-R 모델을 이용한 논리적 모델 설계 = 210
5.1 데이터베이스의 논리적 모델 = 211
5.1.1 계층 데이터 모델 = 211
5.1.2 네트워크 데이터 모델 = 212
5.2 관계 데이터베이스 설계 = 212
5.2.1 개체와 속성의 설계 = 213
5.2.2 다중 값 속성의 설계 = 213
5.2.3 속성을 포함하는 관계의 설계 = 215
6. 사례연구1 코리아솔루션즈사의 데이터베이스 설계 = 219
6.1 개념적 데이터베이스 설계 = 220
6.1.1 개체 정의 = 220
6.1.2 관계 정의 = 220
6.1.3 매핑 카디널리티 정의 = 221
6.1.4 속성 정의 = 224
6.1.5 완성된 E-R 다이어그램 = 227
6.2 논리적 데이터베이스 설계 = 228
6.2.1 개체와 속성의 설계 = 228
6.2.2 다중값 속성의 설계 = 228
6.2.3 속성을 포함하는 관계의 설계 = 229
6.2.4 속성의 상세내용 = 231
6.3 릴레이션 생성 = 232
6.4 데이터 삽입 = 234
7. 사례연구2 새소리레코드사의 데이터베이스 설계 = 237
7.1 개념적 데이터베이스 설계 = 238
7.1.1 개체 정의 = 238
7.1.2 관계 정의 = 238
7.1.3 매핑 카디널리티 정의 = 239
7.1.4 속성 정의 = 244
7.1.5 완성된 E-R 다이어그램 = 250
7.2 논리적 데이터베이스 설계 = 251
7.2.1 개체와 속성의 설계 = 251
7.2.2 다중값 속성의 설계 = 252
7.2.3 속성을 포함하는 관계의 설계 = 253
7.2.4 속성의 상세내용 = 255
연습문제 = 257
8장 정규화
1. 개요 = 262
2. 함수 종속성 = 263
3. 정규화의 필요성 = 265
3.1 갱신 이상 = 266
3.2 삭제 이상 = 267
3.3 삽입 이상 = 268
4. 정규형 = 269
4.1 무손실 분해 = 269
4.2 정규형 간의 관계 = 269
4.3 제 1 정규형 = 270
4.4 제 2 정규형 = 271
4.5 제 3 정규형과 BCNF = 275
연습문제 = 280
9장 회복
1. 개요 = 284
2. 장애 = 285
2.1 트랜잭션 장애 = 285
2.2 시스템 장애 = 286
2.3 미디어 장애 = 286
3. 회복의 기본 개념 = 286
3.1 중복 저장 기법 = 286
3.1.1 덤프 = 287
3.1.2 로그 = 287
3.2 회복의 기본 전략 = 288
3.2.1 Redo = 288
3.2.2 Undo = 288
4. 트랜잭션 = 289
4.1 트랜잭션의 특성 = 289
4.2 트랜잭션 상태 = 291
4.3 트랜잭션 처리 방법 = 293
4.3.1 Commit = 293
4.3.2 Rollback = 293
4.3.3 성공적인 프로그램 종료 = 294
4.3.4 비정상적인 프로그램 종료 = 295
5. 회복 기법 = 296
5.1 로그 기반 회복 기법 = 296
5.1.1 지연 갱신 회복 기법 = 296
5.1.2 즉시 갱신 회복 기법 = 298
5.2 검사점 회복 기법 = 299
5.3 그림자 페이징 회복 기법 = 301
연습문제 = 303
10장 동시성 제어
1. 개요 = 308
2. 동시성 제어의 필요성 = 309
2.1 갱신 내용 손실 = 310
2.2 모순성 = 311
2.3 연쇄적인 복귀 = 312
3. 트랜잭션 스케줄 = 313
4. 동시성 제어 기법 = 313
4.1 로킹 기법 = 314
4.1.1 로킹 프로토콜의 기본 개념 = 314
4.1.2 로킹 연산의 종류 = 314
4.1.3 로킹 단위 = 315
4.1.4 2단계 로킹 프로토콜 = 316
4.2 시간 스탬프 순서 기법 = 316
연습문제 = 318
11장 고급 데이터베이스 응용 기술
1. 개요 = 322
2. 능동 데이터베이스 = 323
2.1 수동 vs. 능동 데이터베이스 = 323
2.2 능동 규칙 = 323
3. 실시간 데이터베이스 = 325
3.1 실시간 데이터베이스 응용 분야 = 325
3.2 실시간 데이터베이스 트랜잭션 = 325
3.2.1 경직성 트랜잭션 = 325
3.2.2 유사경직성 트랜잭션 = 325
3.2.3 유연성 트랜잭션 = 326
4. 주기억장치 데이터베이스 = 327
4.1 주기억장치 데이터베이스의 등장 = 327
4.2 주기억장치 데이터베이스 연구 분야 = 327
4.2.1 주기억장치 관리 기법 = 327
4.2.2 트랜잭션 관리 기법 = 328
4.2.3 데이터베이스 모델 개발 = 328
4.2.4 인덱싱 기법 = 328
4.2.5 회복 기법 = 329
5. 시간지원 데이터베이스 = 329
5.1 시간지원 데이터베이스의 필요성 = 329
5.2 용도에 따른 시간 구분 = 330
5.2.1 유효 시간 = 330
5.2.2 트랜잭션 시간 = 330
5.2.3 사용자 정의 시간 = 331
5.3 시간지원 데이터베이스 종류 = 331
5.3.1 스냅 데이터베이스 = 331
5.3.2 트랜잭션 데이터베이스 = 332
5.3.3 이력 데이터베이스 = 332
5.3.4 이원 시간지원 데이터베이스 = 333
6. 객체지향 데이터베이스 = 334
6.1 출현 배경 = 334
6.2 객체지향 데이터 모델 = 334
6.2.1 객체와 객체 식별자 = 334
6.2.2 속성과 메소드 = 335
6.2.3 클래스 = 336
6.2.4 클래스 계층과 계승 = 337
6.2.5 클래스 복합 계층 = 338
6.3 객체-관계 데이터베이스 = 339
7. 멀티미디어 데이터베이스 = 340
7.1 개요 = 340
7.2 멀티미디어 데이터의 특징 = 341
7.2.1 대용량 데이터 = 341
7.2.2 복잡한 데이터 검색 = 341
7.2.3 복잡한 데이터 구조 = 343
8. 데이터 웨어하우스 = 344
8.1 출현 배경 = 344
8.2 데이터 웨어하우스 정의 = 345
8.2.1 주제 중심적(subject-oriented) 구성 = 346
8.2.2 통합된(integrated) 내용 = 347
8.2.3 시간에 따라 변화되는(time-variant) 값의 유지 = 348
8.2.4 비갱신성(non-volatile) = 348
8.3 데이터 웨어하우스 특성 분석 = 349
8.4 데이터 웨어하우스 구축 방법론 = 351
8.4.1 고려 사항 = 351
8.4.2 구축 방법 = 352
8.4.3 데이터 웨어하우스 구축 절차 = 354
9. 데이터 마이닝 = 355
9.1 출현 배경 = 355
9.2 데이터 마이닝 기술 정의 = 357
9.3 데이터 마이닝 기술 특징 = 358
9.4 데이터 마이닝 개발 절차 = 360
9.5 데이터 마이닝 요소 기술 분석 = 361
10. 웹 데이터베이스 = 363
10.1 출현 배경 = 363
10.2 웹 데이터베이스 연동 기법 = 364
10.2.1 CGI 실행 파일 방식 = 365
10.2.2 CGI 응용 서버 방식 = 366
10.2.3 확장 API 사용 방식 = 366
10.3 XML 저장 시스템 = 367
연습문제 = 368
부록
데이터베이스 약어정리 = 370
참고문헌 = 384
찾아보기 = 397