목차
머리말 ... 3
CHAPTER 01 정보 환경 ... 15
1.1 정보 처리 시스템 ... 16
1.1.1 정보와 데이타 ... 16
1.1.2 정보 시스템 ... 18
1.2 데이타 처리 시스템 ... 20
1.2.1 일괄 처리 시스템 ... 20
1.2.2 온라인 처리 시스템 ... 21
1.2.3 분산 처리 시스템 ... 23
1.3 데이타베이스의 정의 ... 26
1.4 데이타베이스의 특성 ... 28
1.5 데이타베이스의 개념적 구성요소 ... 29
1.5.1 개체 ... 30
1.5.2 관계 ... 31
1.6 데이타베이스의 구조 ... 32
연습문제 ... 35
CHAPTER 02 데이타베이스 관리 시스템 ... 37
2.1 데이타베이스 관리 시스템의 발전 배경 ... 38
2.1.1 데이타 종속성 ... 38
2.1.2 데이타 중복성 ... 39
2.2 데이타베이스 관리 시스템의 정의 ... 41
2.3 데이타베이스 관리 시스템의 필수 기능 ... 43
2.4 데이타베이스 관리 시스템의 장단점 ... 44
2.4.1 데이타베이스 관리 시스템의 장점 ... 44
2.4.2 데이타베이스 관리 시스템의 단점 ... 46
2.5 데이타 독립성 ... 47
2.5.1 논리적 데이타 독립성 ... 48
2.5.2 물리적 데이타 독립성 ... 48
2.6 데이타베이스 관리 시스템의 역사 ... 50
연습문제 ... 52
CHAPTER 03 데이타베이스 시스템의 구성 ... 53
3.1 3단계 데이타베이스 ... 54
3.2 DBMS ... 60
3.3 데이타 언어 ... 62
3.3.1 데이타 정의어 ... 62
3.3.2 데이타 조작어 ... 63
3.3.3 데이타 제어어 ... 65
3.4 사용자 ... 65
3.5 데이타베이스 관리자 ... 66
3.6 하드웨어 ... 68
연습문제 ... 71
CHAPTER 04 관계 데이타베이스 ... 73
4.1 관계 데이타 모델 ... 74
4.2 릴레이션의 개념 ... 77
4.3 릴레이션의 특성 ... 80
4.4 관계 데이타베이스 개념 ... 83
4.5 데이타베이스 키 ... 85
4.5.1 기본 키 ... 85
4.5.2 외래 키 ... 87
4.6 무결성 제약 ... 89
4.6.1 개체 무결성 제약 ... 89
4.6.2 참조 무결성 제약 ... 90
연습문제 ... 92
CHAPTER 05 관계 대수와 관계 해석 ... 95
5.1 관계 대수 ... 96
5.1.1 일반 집합 연산자 ... 97
5.1.2 순수 관계 연산자 ... 99
5.1.3 기본 연산과 복합 연산 ... 106
5.1.4 관계 대수의 확장 ... 107
5.1.5 관계 대수의 질의문 표현 ... 111
5.2 관계 해석 ... 112
5.2.1 투플 관계 해석 ... 112
5.2.2 투플 관계 해석식의 질의문 표현 ... 116
5.2.3 도메인 관계 해석 ... 117
5.2.4 도메인 관계 해석식을 이용한 질의문 표현 ... 119
5.3 QBE ... 120
5.3.1 데이타 검색 ... 121
5.3.2 데이타의 삽입 ... 123
5.3.3 데이타의 삭제 ... 124
5.3.4 데이타의 갱신 ... 125
연습문제 ... 126
CHAPTER 06 SQL ... 129
6.1 SQL 데이타 정의문 ... 131
6.1.1 스키마와 카탈로그 ... 131
6.1.2 도메인 정의문 ... 132
6.1.3 기본 테이블의 생성 ... 133
6.1.4 기본 테이블의 제거와 변경 ... 136
6.2 SQL 데이타 조작문 ... 137
6.2.1 데이타 검색 ... 138
6.2.2 데이타의 갱신 ... 154
6.2.3 데이타의 삽입 ... 155
6.2.4 데이타의 삭제 ... 157
6.3 SQL 뷰 ... 158
6.3.1 뷰의 생성 ... 159
6.3.2 뷰의 제거 ... 161
6.3.3 뷰의 조작 연산 ... 162
6.3.4 뷰의 장단점 ... 164
6.4 삽입 SQL ... 165
6.4.1 응용 프로그램의 특징 ... 165
6.4.2 커서가 필요 없는 데이타 조작 ... 168
6.4.3 커서를 이용하는 데이타 조작 ... 169
6.4.4 다이내믹 SQL ... 171
연습문제 ... 174
CHAPTER 07 데이타 종속성과 정규화 ... 175
7.1 데이타의 논리적 표현 ... 176
7.2 함수 종속 ... 179
7.3 기본 정규형 ... 182
7.3.1 제1정규형(1NF:First Normal Form) ... 183
7.3.2 제2정규형(2NF:Second Normal Form) ... 186
7.3.3 제3정규형(3NF:Third Normal Form) ... 189
7.3.4 보이스/코드 정규형 ... 190
7.4 고급 정규형 ... 194
7.4.1 제4정규형 ... 194
7.4.2 제5정규형 ... 198
7.5 정규형 간의 관계 ... 203
연습문제 ... 207
CHAPTER 08 데이타 모델링 ... 209
8.1 데이타의 세계 ... 210
8.2 데이타 모델의 개념 ... 212
8.3 개체 타입 ... 214
8.4 관계 타입 ... 216
8.4.1 관계 타입과 인스턴스 ... 216
8.4.2 관계 타입의 유형 ... 218
8.4.3 관계 타입의 특성 ... 220
8.5 E-R 모델 ... 221
8.5.1 E-R 다이어그램 ... 221
8.5.2 개체 타입과 키 애트리뷰트 ... 222
8.5.3 약한 개체 타입 ... 223
8.5.4 E-R 다이어그램 표기법 ... 224
8.6 논리적 데이타 모델 ... 225
연습문제 ... 230
CHAPTER 09 데이타베이스 설계 ... 231
9.1 데이타베이스 설계 환경 ... 232
9.1.1 데이타베이스 생명 주기 ... 232
9.1.2 데이타베이스 설계 단계 ... 234
9.1.3 데이타베이스 설계 고려 사항 ... 236
9.2 요구조건 분석 ... 236
9.2.1 정보의 내용과 처리 요구조건의 수집 ... 237
9.2.2 범 기관적 경영 목표와 제약조건의 식별 ... 237
9.2.3 공식적인 요구조건 명세의 작성 ... 238
9.2.4 요구조건 명세의 검토 ... 239
9.3 개념적 설계 ... 239
9.3.1 개념적 스키마 모델링 ... 240
9.3.2 트랜잭션 모델링 ... 242
9.4 논리적 설계 ... 243
9.4.1 논리적 설계 단계 ... 243
9.4.2 관계 데이타 모델로의 변환 예 ... 245
9.5 물리적 설계 ... 247
9.5.1 저장 레코드의 양식 설계 ... 248
9.5.2 레코드 집중의 분석 및 설계 ... 248
9.5.3 접근 경로 설계 ... 248
9.6 데이타베이스 구현 ... 250
연습문제 ... 252
CHAPTER 10 데이타베이스의 저장과 접근 ... 253
10.1 데이타베이스의 저장 ... 254
10.2 데이타베이스의 접근 ... 255
10.2.1 디스크 관리자 ... 257
10.2.2 화일 관리자 ... 258
10.3 페이지 세트와 화일 ... 259
10.4 화일의 조직 방법 ... 266
10.4.1 순차 방법 ... 267
10.4.2 인덱스 방법 ... 268
10.4.3 해싱 방법 ... 282
연습문제 ... 288
CHAPTER 11 객체 데이타베이스 ... 289
11.1 새로운 데이타베이스 응용 ... 290
11.2 객체 데이타 모델 ... 291
11.2.1 객체와 객체 식별자 ... 292
11.2.2 애트리뷰트와 메소드 ... 293
11.2.3 클래스 ... 295
11.2.4 클래스 계층과 상속 ... 297
11.2.5 복합 객체 ... 300
11.3 ODMG의 ODBMS ... 302
11.3.1 ODMG 객체 모델과 ODL ... 302
11.3.2 OQL ... 306
연습문제 ... 309
CHAPTER 12 객체-관계 데이타베이스 ... 311
12.1 객체-관계 데이타베이스의 배경 ... 312
12.2 객체-관계 데이타베이스와 SQL ... 313
12.3 SQL:1999/2003의 관계적 특징 ... 314
12.3.1 새로운 데이타 타입 ... 314
12.3.2 새로운 조건식 ... 318
12.4 SQL:1999/2003의 객체 지향적 특징 ... 319
12.4.1 사용자 정의 타입 ... 319
12.4.2 테이블 정의 ... 324
12.4.3 참조 애트리뷰트 ... 327
12.4.4 참조 타입 ... 329
12.4.5 테이블 상속 ... 331
12.4.6 집단 타입 ... 332
12.5 ODBMS와 ORDBMS ... 335
12.5.1 ODBMS와 ORDBMS의 유사점 ... 335
12.5.2 ODBMS와 ORDBMS의 차이점 ... 336
연습문제 ... 337
CHAPTER 13 무결성과 보안 ... 339
13.1 무결성 ... 340
13.1.1 무결성 규정 ... 340
13.1.2 무결성 규정의 명세 ... 343
13.2 보안 ... 346
13.2.1 데이타베이스 보안 ... 346
13.2.2 데이타베이스 보안의 구현 ... 347
13.2.3 보안 서브시스템 ... 349
13.2.4 권한부여 명세 기법 ... 351
13.2.5 데이타 암호화 ... 354
연습문제 ... 356
CHAPTER 14 회복과 병행 제어 ... 357
14.1 트랜잭션 ... 358
14.1.1 트랜잭션의 특성 ... 358
14.1.2 트랜잭션 상태 ... 360
14.2 회복 ... 362
14.2.1 데이타베이스 저장 연산 ... 362
14.2.2 장애와 회복 시스템 ... 364
14.2.3 데이타베이스 로그를 이용한 회복 ... 365
14.2.4 검사시점 회복 ... 369
14.2.5 미디어 회복 ... 370
14.3 병행 제어 ... 370
14.3.1 병행수행의 문제점 ... 370
14.3.2 트랜잭션 스케줄 ... 373
14.3.3 로킹(locking) 기법 ... 377
연습문제 ... 382
CHAPTER 15 XML과 데이타베이스 ... 383
15.1 반구조화 데이타 ... 384
15.2 XML 데이타 모델 ... 389
15.3 DTD와 XML 스키마 ... 393
15.3.1 XML DTD ... 393
15.3.2 XML 스키마 ... 398
15.4 XML 문서와 데이타베이스 ... 406
15.4.1 XML 문서의 저장 방법 ... 406
15.4.2 관계 데이타베이스로부터 XML 문서의 추출 ... 407
15.5 XML 데이타 처리 ... 408
15.5.1 XPath ... 408
15.5.2 XQuery ... 410
15.5.3 XSLT ... 412
15.5.4 SQL/XML ... 414
연습문제 ... 419
CHAPTER 16 데이타 웨어하우스와 데이타 마이닝 ... 421
16.1 의사결정 지원 시스템 ... 421
16.2 데이타 웨어하우스 ... 424
16.3 OLAP과 다차원 데이타 모델 ... 428
16.3.1 사실 테이블과 차원 테이블 ... 428
16.3.2 스타 스키마 ... 432
16.4 다차원 집계 질의 ... 434
16.4.1 집계(aggregation) 연산 ... 434
16.4.2 ROLLUP과 CUBE 연산자 ... 437
16.4.3 CUBE 연산자를 이용한 실체화된 뷰 ... 440
16.5 OLAP의 구현 ... 442
16.5.1 ROLAP과 MOLAP ... 442
16.5.2 OLAP 시스템의 요건 ... 443
16.5.3 OLAP의 구현 기법 ... 444
16.6 데이타 마이닝 기법 ... 445
16.6.1 데이타 마이닝 ... 445
16.6.2 연관 규칙(association rules) ... 445
16.6.3 순차 패턴(sequential patterns) ... 448
16.6.4 분류 규칙(classification rules) ... 449
16.6.5 기계 학습(machine learning) ... 450
연습문제 ... 452
CHAPTER 17 최신 데이타베이스 ... 455
17.1 멀티미디어 데이타베이스 ... 456
17.1.1 멀티미디어 데이타베이스 개념 ... 456
17.1.2 멀티미디어 데이타 관리 ... 459
17.1.3 연속매체 데이타의 검색 ... 463
17.1.4 이미지ㆍ음성 데이타베이스 ... 465
17.1.5 멀티미디어 데이타베이스 응용 ... 466
17.2 모바일 데이타베이스 ... 466
17.2.1 모바일 컴퓨팅 구조 ... 467
17.2.2 모바일 컴퓨팅의 특성 ... 469
17.2.3 모바일 질의 처리 ... 471
17.2.4 데이타 방송 ... 472
17.2.5 단절성과 일관성 ... 472
17.2.6 모바일 데이타 관리의 문제점 ... 473
17.3 지리정보 시스템 ... 475
17.3.1 지리정보 시스템의 응용 ... 475
17.3.2 지리정보 시스템의 데이타 관리 요건 ... 476
17.3.3 지리정보 시스템의 특별 데이타 연산 ... 477
17.3.4 GIS 데이타베이스 기능 ... 478
17.3.5 GIS의 연구 과제 ... 479
연습문제 ... 481
찾아보기 ... 483
닫기