목차 일부
1장 데이터베이스의 기본 개념
1. 개요 ... 20
1.1 데이터와 정보 ... 20
1.2 메타데이터 ... 22
1.3 데이터와 지식 ... 23
2. 데이터베이스의 정의와 특성 ... 24
2.1 데이터베이스 정의 ... 24
2.2 데이터베이스 특성 ... 26
3. 데이터 처리...
더보기
목차 전체
1장 데이터베이스의 기본 개념
1. 개요 ... 20
1.1 데이터와 정보 ... 20
1.2 메타데이터 ... 22
1.3 데이터와 지식 ... 23
2. 데이터베이스의 정의와 특성 ... 24
2.1 데이터베이스 정의 ... 24
2.2 데이터베이스 특성 ... 26
3. 데이터 처리 시스템 ... 27
3.1 일괄 처리 시스템 vs. 온라인 처리 시스템 ... 28
3.2 오프라인 처리 시스템 vs. 온라인 처리 시스템 ... 28
3.3 중앙집중 처리 시스템 vs. 분산 처리 시스템 ... 28
4. 파일 관리 시스템 vs. 데이터베이스 관리 시스템 ... 29
4.1 파일 관리 시스템 ... 29
4.2 데이터베이스 관리 시스템 ... 31
4.2.1 데이터베이스 관리 시스템 역사 ... 32
4.2.2 데이터베이스 관리 시스템 이용의 장단점 ... 33
5. 데이터베이스 시스템 역사 ... 36
5.1 대형 시스템에서 소형 시스템으로 ... 36
5.1.1 원자성(Atomicity) ... 37
5.1.2 크기에 따른 데이터베이스 분류 ... 39
5.2 데이터베이스 시스템의 제공 기능 추가 ... 42
5.3 분산 데이터베이스 응용의 등장 ... 42
5.3.1 분산 데이터베이스 시스템의 주요 구성요소 ... 44
5.3.2 분산 데이터베이스 적용의 장단점 ... 45
5.4 컴퓨팅 환경의 변화 ... 46
5.4.1 클라이언트-서버 응용의 등장 ... 47
5.4.2 파일 서버 구조 ... 48
5.4.3 데이터베이스 서버 구조 ... 49
5.5 데이터베이스 모델의 발전 ... 50
연습문제 ... 53
2장 데이터베이스 시스템 구성
1. 3단계 데이터베이스 구조 ... 58
1.1 외부 단계 ... 58
1.2 개념 단계 ... 59
1.3 내부 단계 ... 59
2. 스키마 vs. 인스턴스 ... 62
3. 데이터 독립성 ... 62
4. 데이터베이스 시스템 ... 63
5. 데이터베이스 사용자 ... 64
5.1 데이터베이스 관리자 ... 65
5.2 데이터베이스 설계자 ... 65
5.3 응용 프로그래머 ... 66
5.4 최종 사용자 ... 66
6. 데이터베이스 언어 ... 67
6.1 데이터 정의어 ... 67
6.2 데이터 조작어 ... 68
7. 데이터베이스 관리 시스템 ... 69
7.1 질의 처리기 ... 69
7.2 저장 관리자 ... 70
8. 데이터베이스 ... 70
연습문제 ... 71
3장 관계 데이터 모델
1. 개요 ... 76
2. 기본 개념 ... 77
2.1 릴레이션 ... 77
2.1.1 릴레이션 구성 ... 77
2.1.2 릴레이션 특성 ... 78
2.2 속성 ... 79
2.2.1 단순 속성 ... 80
2.2.2 복합 속성 ... 80
2.2.3 단일 값 속성 ... 81
2.2.4 다중 값 속성 ... 81
2.2.5 널 속성 ... 82
2.2.6 유도 속성 ... 84
2.3 도메인 ... 85
2.4 키 ... 86
2.4.1 후보키 ... 87
2.4.2 슈퍼키 ... 88
2.4.3 기본키 ... 90
2.4.4 대체키 ... 90
2.4.5 외래키 ... 90
3. 관계 데이터 제약 ... 92
3.1 개체 무결성 제약 ... 93
3.2 참조 무결성 제약 ... 93
연습문제 ... 94
4장 관계 데이터 연산
1. 개요 ... 98
2. 관계 대수 ... 101
2.1 일반 집합 연산 ... 102
2.1.1 합집합 ... 104
2.1.2 교집합 ... 105
2.1.3 차집합 ... 106
2.1.4 카티션 프로덕트 ... 106
2.2 순수 관계 연산 ... 108
2.2.1 셀렉트 ... 108
2.2.2 프로젝트 ... 109
2.2.3 조인 ... 111
2.2.4 디비젼 ... 114
2.3 확장 관계 대수 연산 ... 116
2.3.1 외부 조인 ... 117
2.3.2 세미 조인 ... 117
2.3.3 세타 조인 ... 118
3. 관계해석 ... 118
연습문제 ... 119
제5장 SQL 질의의
1. 개요 ... 124
1.1 SQL 역사 ... 124
1.2 SQL 구성 ... 125
1.3 예제 데이터베이스 ... 127
2. 데이터 정의 기능 ... 131
2.1 테이블 생성(create table) ... 131
2.1.1 무결성 제약 검사 ... 131
2.1.2 데이터 유형 요약 ... 134
2.2 테이블 제거와 변경 ... 139
2.2.1 테이블 제거(drop table) ... 139
2.2.2 테이블 변경(alter table) ... 140
3. 데이터 조작 기능 ... 141
3.1 데이터 검색(select) ... 141
3.1.1 하나의 릴레이션에서의 검색 ... 142
3.1.2 조건을 지정한 검색 ... 144
3.1.3 집단 함수를 이용한 검색 ... 146
3.1.4 AS를 이용한 검색 ... 147
3.1.5 산술식을 이용한 검색 ... 149
3.1.6 문자열 연산식을 이용한 검색(like) ... 150
3.1.7 정렬 기능을 이용한 검색(order by) ... 153
3.1.8 그룹별 검색 기능을 이용한 검색(group by) ... 156
3.1.9 그룹별 검색 기능에 조건을 추가한 검색(having) ... 159
3.1.10 Null 값을 이용한 검색 ... 160
3.1.11 조인 연산을 이용한 검색 ... 161
3.1.12 한정된 열이름을 사용한 검색 ... 162
3.1.13 릴레이션 별칭(correlation name)을 사용한 검색 ... 164
3.1.14 부속질의(subquery)를 이용한 검색 ... 166
3.1.15 집합 연산을 이용한 검색 ... 170
3.2 데이터 삽입(insert) ... 173
3.2.1 투플의 직접 삽입 ... 173
3.2.2 부속 질의어를 이용한 삽입 ... 174
3.3 데이터 삭제(delete) ... 175
3.3.1 전체 투플 삭제 ... 175
3.3.2 조건을 지정한 투플 삭제 ... 175
3.3.3 부속 질의어를 이용한 투플 삭제 ... 176
3.4 데이터 갱신(update) ... 176
3.4.1 전체 투플 변경 ... 176
3.4.2 조건을 지정한 투플 변경 ... 177
3.4.3 부속 질의어를 이용한 투플 변경 ... 177
4. 뷰(View) ... 178
4.1 뷰의 생성 ... 178
4.2 뷰의 제거 ... 182
5. 인덱스(Index) ... 183
5.1 인덱스의 생성 ... 183
5.2 인덱스의 삭제 ... 185
연습문제 ... 186
6장 삽입 SQL
1. 개요 ... 192
2. 삽입 SQL 처리 절차 ... 193
3. 삽입 SQL 형식 ... 194
3.1 삽입 SQL문의 시작 ... 194
3.2 호스트 변수의 선언부 형식 ... 195
4. 커서 이용 방법 ... 195
5. 오류 처리 기법 ... 198
5.1 sqlstate 이용 방식 ... 198
5.2 sqlca 이용 방식 ... 199
6. 삽입, 삭제, 갱신 방식 ... 199
6.1 삽입 방식 ... 199
6.2 삭제 방식 ... 200
6.3 갱신 방식 ... 201
7. 동적 SQL ... 203
연습문제 ... 204
7장 데이터베이스 설계
1. 개요 ... 208
2. 데이터베이스 설계 단계 ... 210
2.1 개념적 설계 단계 ... 211
2.2 논리적 설계 단계 ... 212
2.3 물리적 설계 단계 ... 212
3. 개체-관계 모델 ... 213
3.1. E-R 모델의 구성 요소 ... 213
3.1.1 개체 ... 214
3.1.2 관계 ... 215
3.1.3 속성 ... 219
3.1.4 약한 개체 ... 223
4. 확장 E-R 모델 ... 226
4.1 세분화·일반화 ... 226
4.1.1 세분화·일반화 개념 ... 226
4.1.2 세분화·일반화 개념을 적용한 E-R 모델 ... 228
4.1.3 세분화·일반화 개념의 장점 ... 228
4.2 집단화 ... 231
5. E-R 모델을 이용한 논리적 모델 설계 ... 231
5.1 데이터베이스의 논리적 모델 ... 232
5.1.1 계층 데이터 모델 ... 232
5.1.2 네트워크 데이터 모델 ... 233
5.2 관계 데이터베이스 설계 ... 233
5.2.1 개체와 속성의 설계 ... 234
5.2.2 다중 값 속성의 설계 ... 234
5.2.3 속성을 포함하는 관계의 설계 ... 236
6. 사례연구1 코리아솔루션즈사의 데이터베이스 설계 ... 240
6.1 개념적 데이터베이스 설계 ... 241
6.1.1 개체 정의 ... 241
6.1.2 관계 정의 ... 241
6.1.3 매핑 카디널리티 정의 ... 242
6.1.4 속성 정의 ... 245
6.1.5 완성된 E-R 다이어그램 ... 248
6.2 논리적 데이터베이스 설계 ... 249
6.2.1 개체와 속성의 설계 ... 249
6.2.2 다중값 속성의 설계 ... 249
6.2.3 속성을 포함하는 관계의 설계 ... 250
6.2.4 속성의 상세내용 ... 252
6.3 릴레이션 생성 ... 253
6.4 데이터 삽입 ... 255
7. 사례연구2 새소리레코드사의 데이터베이스설계 ... 258
7.1 개념적 데이터베이스 설계 ... 259
7.1.1 개체 정의 ... 259
7.1.2 관계 정의 ... 259
7.1.3 매핑 카디널리티 정의 ... 260
7.1.4 속성 정의 ... 265
7.1.5 완성된 E-R 다이어그램 ... 272
7.2 논리적 데이터베이스 설계 ... 273
7.2.1 개체와 속성의 설계 ... 273
7.2.2 다중값 속성의 설계 ... 274
7.2.3 속성을 포함하는 관계의 설계 ... 275
7.2.4 속성의 상세내용 ... 277
연습문제 ... 280
8장 정규화
1. 개요 ... 286
2. 함수 종속성 ... 287
3. 정규화의 필요성 ... 289
3.1 갱신 이상 ... 290
3.2 삭제 이상 ... 291
3.3 삽입 이상 ... 292
4. 정규형 ... 293
4.1 무손실 분해 ... 293
4.2 정규형 간의 관계 ... 293
4.3 제1정규형 ... 294
4.4 제2정규형 ... 295
4.5 제3정규형과 BCNF ... 299
연습문제 ... 304
9장 회복
1. 개요 ... 308
2. 장애 ... 309
2.1 트랜잭션 장애 ... 309
2.2 시스템 장애 ... 310
2.3 미디어 장애 ... 310
3. 회복의 기본 개념 ... 310
3.1 중복 저장 기법 ... 310
3.1.1 덤프 ... 311
3.1.2 로그 ... 311
3.2 회복의 기본 전략 ... 312
3.2.1 Redo ... 312
3.2.2 Undo ... 312
4. 트랜잭션 ... 313
4.1 트랜잭션의 특성 ... 313
4.2 트랜잭션 상태 ... 315
4.3 트랜잭션 처리 방법 ... 317
4.3.1 Commit ... 317
4.3.2 Rollback ... 318
4.3.3 성공적인 프로그램 종료 ... 318
4.3.4 비정상적인 프로그램 종료 ... 319
5. 회복 기법 ... 320
5.1 로그 기반 회복 기법 ... 320
5.1.1 지연 갱신 회복 기법 ... 320
5.1.2 즉시 갱신 회복 기법 ... 322
5.2 검사점 회복 기법 ... 323
5.3 그림자 페이징 회목 기법 ... 325
연습문제 ... 327
10장 동시성 제어
1. 개요 ... 332
2. 동시성 제어의 필요성 ... 333
2.1 갱신 내용 손실 ... 334
2.2 모순성 ... 335
2.3 연쇄적인 복귀 ... 338
3. 트랜잭션 스케줄 ... 337
4. 동시성 제어 기법 ... 337
4.1 로킹 기법 ... 338
4.1.1 로킹 프로토콜의 기본 개념 ... 338
4.1.2 로킹 연산의 종류 ... 338
4.1.3 로킹 단위 ... 339
4 1.4 2단계 로킹 프로토콜 ... 340
4.2 시간 스탬프 순서 기법 ... 340
연습문제 ... 342
11장 고급 데이터베이스 응용 기술
1. 개요 ... 346
2. 능동 데이터베이스 ... 347
2.1 수동 vs. 능동 데이터베이스 ... 347
2.2 능동 규칙 ... 347
3. 실시간 데이터베이스 ... 349
3.1 실시간 데이터베이스 응용 분야 ... 349
3.2 실시간 데이터베이스 트랜잭션 ... 349
3.2.1 겉
더보기 닫기