목차
제1부 기본편
1. 정보 환경 = 18
1.1 정보 처리 시스템 = 18
1.1.1 정보와 데이타 = 18
1.1.2 정보 시스템 = 20
1.2 자료 처리 시스템 = 22
1.2.1 일괄 처리 시스템 = 22
1.2.2 온라인 처리 시스템 = 23
1.2.3 분산 처리 시스템 = 25
연습문제 = 28
2. 데이타베이스 개념 = 29
2.1 데이타베이스의 정의 = 29
2.2 데이타베이스의 특성 = 31
2.3 데이타베이스의 구성 요소 = 32
2.3.1 개체 = 32
2.3.2 관계 = 34
2.4 데이타베이스의 구조 = 35
연습 문제 = 37
3. 데이타베이스 관리 시스템 = 39
3.1 데이타베이스 관리 시스템의 발전 배경 = 39
3.1.1 데이타 종속성 = 40
3.1.2 데이타 중복성 = 40
3.2 데이타베이스 관리 시스템의 정의 = 42
3.3 데이타베이스 관리 시스템의 필수 기능 = 44
3.4 데이타베이스 관리 시스템의 장단점 = 45
3.5 데이타 독립성 = 47
3.5.1 논리적 데이타 독립성 = 48
3.5.2 물리적 데이타 독립성 = 48
연습 문제 = 50
4. 데이타베이스 시스템의 구성 = 51
4.1 3단계 데이타베이스 = 52
4.2 데이타 언어 = 57
4.2.1 데이타 정의어 = 57
4.2.2 데이타 조작어 = 58
4.2.3 데이타 제어어 = 59
4.3 사용자 = 60
4.4 DBMS = 60
4.5 데이타베이스 관리자 = 62
4.6 데이타베이스 컴퓨터 = 64
연습 문제 = 66
5. 데이타 모델링 = 67
5.1 데이타의 세계 = 67
5.2 데이타 모델의 개념 = 69
5.3 관계 = 71
5.4 개체-관계 모델 = 73
5.5 논리적 데이타 모델 = 75
연습 문제 = 79
6. 데이타베이스의 내부적 운영 = 81
6.1 데이타베이스의 저장 = 81
6.2 데이타베이스의 접근 = 83
6.2.1 디스크 관리자 = 84
6.2.2 화일 관리자 = 85
6.3 페이지 세트와 화일 = 86
6.4 화일의 조직 방법 = 93
6.4.1 순차 방법 = 93
6.4.2 인덱스 방법 = 94
6.4.3 해싱 방법 = 104
연습 문제 = 109
7. 관계 데이타 구조 = 111
7.1 에트리뷰트와 도메인 = 112
7.2 릴레이션의 개념 = 114
7.3 릴레이션의 특성 = 117
7.4 관계 데이타베이스 = 120
연습 문제 = 122
8. 관계 데이타 제약 = 123
8.1 기본키 = 123
8.2 외래키 = 125
8.3 무결성 제약 = 126
연습 문제 = 129
9. 관계 데이타 연산 = 131
9.1 관계 대수 = 132
9.1.1 일반 집합 연산자 = 132
9.1.2 순수 관계 연산 = 134
9.1.3 근원 연산과 복합 연산 = 140
9.1.4 관계 대수의 확장 = 141
9.1.5 관계 대수의 질의문 표현 = 143
9.2 관계 해석 = 144
9.2.1 투플 관계 해석 = 144
9.2.2 투플 관계 해석식의 질의문 표현 = 147
9.2.3 도메인 관계 해석 = 148
9.2.4 도메인 관계 해석식의 질의문 표현 = 150
연습 문제 = 151
10. SQL = 153
10.1 SQL 데이타 정의문 = 154
10.1.1 스키마와 카탈로그 = 154
10.1.2 도메인 정의문 = 155
10.1.3 기본 테이블의 생성 = 156
10.1.4 기본 테이블의 제거와 변경 = 158
10.2 SQL 데이타 조작문 = 159
10.2.1 데이타 검색 = 159
10.2.2 데이타의 갱신 = 172
10.2.3 데이타의 삽입 = 173
10.2.4 데이타의 삭제 = 175
10.3 SQL 뷰 = 176
10.3.1 뷰의 생성 = 176
10.3.2 뷰의 제거 = 178
10.3.3 뷰의 조작 연산 = 179
10.3.4 뷰의 장단점 = 181
10.4 삽입 SQL = 182
10.4.1 응용 프로그램의 특징 = 182
10.4.2 커서가 필요없는 데이타 조작 = 184
10.4.3 커서를 이용하는 데이타 조작 = 185
10.4.4 다이내믹 SQL = 187
연습 문제 = 189
11. QUEL과 QBE = 191
11.1 QUEL 데이타 언어 = 191
11.2 QUEL 데이타 정의문 = 192
11.2.1 기본 테이블의 생성 = 192
11.2.2 인덱스 생성 = 192
11.2.3 기본 테이블과 인덱스의 제거 = 193
11.3 QUEL 데이타 조작문 = 193
11.3.1 데이타 검색 = 193
11.3.2 데이타의 갱신 = 200
11.3.3 데이타의 삽입 = 201
11.3.4 데이타의 삭제 = 202
11.4 QUEL 뷰 = 202
11.4.1 뷰의 생성 = 203
11.4.2 뷰의 제거 = 204
11.5 QBE 데이타 언어 = 204
11.6 QBE 데이타 조작문 = 205
11.6.1 데이타 검색 = 205
11.6.2 데이타의 삽입 = 207
11.6.3 데이타의 삭제 = 208
11.6.4 데이타의 갱신 = 208
연습 문제 = 210
12. DB2 관계 데이타베이스 시스템 = 211
12.1 DB2 시스템의 구성 = 211
12.2 데이타베이스 서비스 서브시스템 = 214
12.2.1 예비 컴파일러 = 214
12.2.2 바인드 = 215
12.2.3 런타임 슈퍼바이저 = 217
12.2.4 저장 데이타 관리자 = 217
12.2.5 버퍼 관리자 = 218
12.3 응용 프로그램의 실행 = 218
12.4 컴파일과 재컴파일 = 220
12.5 카탈로그 = 222
12.5.1 카탈로그의 구조 = 222
12.5.2 카탈로그의 질의 = 224
12.5.3 카탈로그의 갱신 = 226
12.6 저장 구조 = 227
연습 문제 = 229
13. 계층 데이타베이스 시스템 = 231
13.1 계층 데이타 구조 = 231
13.1.1 계층 순차 = 237
13.1.2 가상 부모-자식 관계 = 238
13.2 계층 데이타 구조의 제약 조건 = 240
13.3 계층 데이타 연산 = 240
13.4 IMS = 242
13.4.1 용어 = 242
13.4.2 IMS의 구조 = 243
13.4.3 IMS 데이타의 정의 = 244
13.4.4 IMS 데이타 조작 = 249
13.4.5 IMS의 저장 구조 = 250
연습 문제 = 255
14. 네트워크 데이타베이스 시스템 = 257
14.1 네트워크 데이타 모델 = 257
14.2 DBTG 데이타베이스 시스템 구성 = 258
14.3 DBTG 데이타 정의 = 260
14.3.1 스키마 = 260
14.3.2 서브스키마 = 272
14.4 DBTG 데이타 조작 = 274
14.4.1 기본 개념 = 274
14.4.2 레코드 검색 DML = 276
14.4.3 레코드 처리 DML = 278
14.4.4 세트 어커런스 처리 DML = 279
연습 문제 = 282
15. 데이타 종속성과 정규화 = 285
15.1 데이타의 논리적 표현 = 285
15.2 함수 종속 = 288
15.3 기본 정규형 = 290
15.3.1 제 1 정규형 = 291
15.3.2 제 2 정규형 = 293
15.3.3 제 3 정규형 = 296
15.3.4 보이스/코드 정규형 = 296
15.4 고급 정규형 = 300
15.4.1 제 4 정규형 = 300
15.4.2 제 5 정규형 = 303
15.5 정규형들간의 관계 = 307
연습 문제 = 310
16. 데이타베이스 설계 = 313
16.1 데이타베이스 설계 환경 = 314
16.1.1 데이타베이스 생명 주기 = 314
16.1.2 데이타베이스 설계 단계 = 315
16.1.3 데이타베이스 설계 고려 사항 = 317
16.2 요구 조건 분석 = 318
16.2.1 정보의 내용과 처리 요구 조건의 수집 = 318
16.2.2 범기관적 경영 목표와 제약 조건을 식별 = 318
16.2.3 공식적인 요구 조건 명세의 작성 = 318
16.2.4 요구 조건 명세의 검토 = 319
16.3 개념적 설계 = 320
16.3.1 개념 스키마 모델링 = 320
16.3.2 트랜잭션 모델링 = 322
16.4 논리적 설계 = 323
16.4.1 논리적 설계 단계 = 323
16.4.2 관계 데이타 모델로의 변환 예 = 324
16.5 물리적 설계 = 327
16.5.1 저장 레코드 양식 설계 = 327
16.5.2 레코드 집중의 분석 및 설계 = 327
16.5.3 접근 경로 설계 = 328
16.6 데이타베이스 구현 = 329
연습 문제 = 331
제2부 고급편
17. 질의어 처리 = 334
17.1 질의어 처리 단계 = 334
17.2 질의어 최적화 = 337
17.2.1 질의문의 내부 표현 = 337
17.2.2 효율적 내부 형태로 변환 = 338
17.2.3 후보 프로시저 선정 = 340
17.2.4 질의문 계획의 평가 및 결정 = 341
17.3 내부 형태 변환 규칙 = 342
17.4 질의문 분해 = 347
17.5 관계 대수 연산자의 구현 = 350
17.5.1 실렉트 연산의 구현 = 350
17.5.2 조인 연산의 구현 = 351
17.5.3 프로젝트 연산의 구현 = 354
17.6 비용 함수 = 355
17.7 의미적 질의어 최적화 = 356
연습 문제 = 357
18. 회복 = 359
18.1 장애와 회복 = 359
18.2 데이타베이스 저장 연산 = 361
18.3 트랜잭션 = 364
18.3.1 트랜잭션의 특성 = 364
18.3.2 트랜잭션 상태 = 368
18.4 로그 이용 회복 = 370
18.4.1 데이타베이스 로그 = 370
18.4.2 지연 갱신의 회복 = 371
18.4.3 즉시 갱신의 회복 = 374
18.5 검사시점 회복 = 377
18.6 그림자 페이징 기법 = 378
18.7 미디어 회복 = 381
18.8 회복 기법의 구현 = 382
18.8.1 로그 레코드 버퍼링 = 382
18.8.2 데이타베이스 버퍼링 = 383
18.9 다중 데이타베이스 트랜잭션의 회복 = 384
연습 문제 = 386
19. 병행 제어 = 387
19.1 복수 사용자 DBMS = 387
19.2 무제어 동시 공용의 문제점 = 389
19.3 트랜잭션 스케줄 = 391
19.3.1 직렬 가능 스케줄 = 392
19.3.2 스케줄 동등과 직렬 가능 스케줄 = 395
19.3.3 스케줄의 직렬 가능성 검사 = 398
19.3.4 직렬 가능성 이용 = 399
19.4 로킹 기법 = 401
19.4.1 Lock의 성질과 유형 = 401
19.4.2 2단계 로킹 규약 = 404
19.5 교착 상태 = 408
19.6 로킹 단위 = 411
19.7 시간 스탬프 순서 기법 = 415
19.7.1 시간 스탬프 순서 규약 = 417
19.7.2 Thomas의 기록 규칙 = 418
19.8 다중 버전 병행 제어 = 419
19.9 낙관적 병행 제어 = 420
19.10 판톰 충돌 = 423
19.11 삽입/삭제 연산과 병행 제어 = 425
연습 문제 = 426
20. 무결성과 보안 = 427
20.1 무결성 서브시스템 = 427
20.2 무결성 규정 = 428
20.2.1 개념 = 428
20.2.2 무결성 규정의 유형 = 430
20.3 무결성 규정의 명세 = 432
20.3.1 트리거 = 433
20.3.2 SQL에서의 무결성 규정 = 433
20.3.3 QUEL/QBE에서의 무결성 규정 = 436
20.4 보안의 개념 = 437
20.5 데이타베이스 보안의 구현 = 439
20.5.1 데이타베이스 접근 제어 = 439
20.5.2 데이타베이스 접근 제어 모델 = 440
20.5.3 신분증과 인증 = 441
20.5.4 보안 서브시스템 = 442
20.6 권한 부여 명세 기법 = 444
20.6.1 뷰 기법 = 444
20.6.2 GRANT/REVOKE 기법 = 445
20.6.3 DEFINE PERMIT 기법 = 446
20.6.4 필수 접근 제어 = 447
20.7 통계 데이타베이스 = 448
20.8 데이타 암호화 = 454
20.8.1 암호화 시스템 = 454
20.8.2 암호화 기법 = 455
20.8.3 DES = 456
20.8.4 공중키 암호화 기법 = 458
연습 문제 = 462
21. 분산 데이타베이스 = 463
21.1 분산 데이타베이스 시스템의 개념 = 463
21.1.1 분산 데이타베이스 시스템의 정의 = 463
21.1.2 분산 데이타베이스 시스템의 목표 = 465
21.1.3 분산 데이타베이스 시스템의 장단점 = 467
21.1.4 네트워크 구성 = 468
21.2 분산 데이타베이스의 구조 = 469
21.2.1 참조 구조 = 469
21.2.2 클라이언트-서버 구조 = 473
21.2.3 데이타 단편화 = 475
21.3 분산 질의어 처리 = 478
21.3.1 중복과 단편에 대한 질의어 처리 = 478
21.3.2 단순 조인 처리 = 479
21.3.3 병령 조인 = 480
21.3.4 세미조인 전략 = 480
21.4 분산 시스템에서의 회복 = 481
21.4.1 시스템 구조 = 482
21.4.2 장애 = 483
21.5 완료 규약 = 484
21.5.1 2-단계 완료 규약 = 484
21.5.2 3-단계 완료 규약 = 489
21.6 분산 데이타베이스 시스템에서의 병행 제어 = 492
21.6.1 로킹 기법 = 492
21.6.2 시간 스탬프 기법 = 494
21.7 교착 상태 관리 = 496
21.8 조정자 선출 = 501
21.9 카탈로그 관리 = 503
21.9.1 카탈로그의 내용 = 503
21.9.2 카탈로그의 배치 = 503
연습 문제 = 505
22. 객체 지향 데이타베이스 = 507
22.1 새로운 데이타베이스 응용 = 507
22.2 객체 지향 데이타 모델 = 509
22.2.1 객체와 객체 식별자 = 510
22.2.2 애트리뷰트와 메소드 = 511
22.2.3 클래스 = 513
22.2.4 클래스 계층과 계승 = 514
22.2.5 복합 객체 = 517
22.2.6 스키마 변경 = 518
22.3 객체 지향 데이타 언어 = 520
22.3.1 데이타 정의문 = 520
22.3.2 데이타 조작문 = 522
23. 멀티미디어 데이타베이스 시스템 = 529
23.1 멀티미디어 데이타베이스의 발전 배경 = 529
23.2 멀티미디어 데이타의 특성 = 531
23.3 멀티미디어 데이타의 내용 검색 = 533
23.4 멀티미디어 데이타 정의 = 534
23.4.1 시스템 정의 멀티미디어 데이타 타입 = 534
23.4.2 사용자 정의 멀티미디어 데이타 타입 = 537
23.4.3 멀티미디어 애트리뷰트를 갖는 테이블 정의 = 537
23.5 멀티미디어 데이타 조작 = 539
23.5.1 멀티미디어 데이타 조작 연산 = 539
23.5.2 멀티미디어 데이타 조작 명령문 = 539
23.6 멀티미디어 데이타베이스 지원 도구 = 541
23.7 멀티미디어 데이타의 저장 구조 = 542
연습 문제 = 544
24. 확장 ER 모델 = 545
24.1 애트리뷰트 유형 = 545
24.2 약한 객체 타입 = 546
24.3 EER 모델 개념 = 547
24.3.1 서브클래스와 슈퍼클래스 = 547
24.3.2 일반화 = 551
24.3.3 세분화와 일반화를 이용한 데이타 모델링 = 552
24.4 집단화와 연관화 = 557
연습 문제 = 560
색인 = 561