1. 관계형 데이터베이스 시스템
1. 데이터베이스 시스템의 기본 개념 = 16
2. 관계형 데이터 모델의 개념 = 18
3. 릴레이션 = 19
4. 도메인 = 20
5. 스키마와 인스턴스 = 22
6. 키 = 23
7. 관계형 모델에서의 제약 = 25
7.1. 도메인 제약조건 = 25
7.2. 엔티티 무결정 제약조건 = 25
7.3. 키 제약조건 = 26
7.4. 참조 무결정 제약조건 = 26
1) 삽입 = 28
2) 삭제 = 28
3) 수정 = 29
7.5. 의미적 무결정 제약조건 = 29
8. 관계형 데이터베이스의 예 = 30
9. 관계형 모델의 특징 = 33
10. 릴레이션의 수학적 정의 = 34
연습문제 = 36
2. 관계대수
1. 실렉션 연산자 = 41
2. 프로젝션 연산 = 44
3. 합집합, 교집합, 차집합 = 46
1) 합집합 (R∪S) = 46
2) 교집합 (R∩S) = 47
3) 차집합 (R-S) = 47
4. 곱집합 (R×S) = 48
5. 조인 연산 = 50
6. 디비젼 = 54
7. 관계 대수의 완전집합 = 55
8. 외부 조인 = 55
8.1. 왼쪽 외부 조인 = 56
8.2. 오른쪽 외부 조인 = 57
8.3. 완전 외부 조인 = 58
9. 관계 대수 질의의 예 = 59
연습문제 = 66
3. 관계형 데이터베이스 언어 SQL
1. 데이터 정의어 = 71
1.1. 스키마의 생성과 삭제 = 72
1.2. 데이터 타입 = 72
1.3. 테이블 생성 = 73
1) NOT NULL = 75
2) UNIQUE = 75
3) DEFAULT = 75
4) 기본 키의 정의 = 75
5) CHECK = 76
1.4. 참조 무결성 제약 = 76
1) SET NULL과 SET DEFAULT = 77
2) CASCADE = 78
3) NO ACTION과 RESTRICT = 78
1.5. 테이블의 삭제 = 78
1.6. 도메인의 생성과 삭제 = 79
1.7. 스키마의 수정 = 79
1) 애트리뷰트의 추가 = 80
2) 애트리뷰트의 삭제 = 80
3) 애트리뷰트 명세의 변경 = 80
4) 제약 조건의 추가와 삭제 = 80
1.8. 인멕스의 생성과 삭제 = 81
2. 데이터 조작어 = 82
1) 단일 릴레이션의 애트리뷰트 검색 = 83
2) 단일 테이블의 모든 애트리뷰트의 검색 = 84
3) 중복 레코드를 제거하는 DISTINCT = 85
4) WHERE 절을 이용한 레코드의 검색 = 86
5) AND, OR, NOT을 사용한 조건식 = 87
6) 부정 연사자를 이용한 검색 = 88
7) 조인 연산 = 89
8) 세 테이블이 연관된 조인 = 91
9) 별칭의 사용 = 93
10) 범위를 이용한 검색 = 94
11) 멤버쉽 검색 조건 = 94
12) 패턴 매치에 의한 문자열의 검색 = 96
13) 널 값의 비교 = 97
14) 결과 테이블의 정렬 = 98
15) 여러 애트리뷰트에 대한 정렬 = 98
16) 집단 함수 = 99
17) GROUP BY 절 = 102
18) HAVING 절 = 102
19) 집합 연산 = 105
20) 중첩질의 = 106
3. 데이터베이스 갱신 연산 = 111
3.1. INSERT 문 = 112
3.2. DELETE 문 = 113
3.3. UPDATE 문 = 113
4. 트리거 = 114
5. 단언 = 116
6. 내장 SQL = 116
6.1. 내장 SQL 문의 컴파일 과정 = 118
6.2. 내장 SQL의 구문형식 = 119
6.3. 커서 = 121
7. 뷰 = 123
7.1. 뷰의 생성과 삭제 = 124
7.2. 뷰의 장점과 단점 = 125
7.3. 뷰에 대한 질의문의 처리 = 126
7.4. 뷰의 갱신 = 126
1) 하나의 기본 테이블에서 추출된 뷰가 갱신되지 않는 경우 = 126
2) 집단 함수를 이용하여 뷰가 생성된 경우 = 127
연습문제 = 128
4. 데이터베이스 시스템 관련 개념들
1. 데이터베이스 시스템의 응용 = 132
2. 파일처리 시스템과 데이터베이스 관리시스템 = 133
1) 데이터 고립성(isolation of data) = 134
2) 데이터 중복성(duplication of data) = 135
3) 데이터 의존성(data dependence) = 135
4) 파일 형식의 불일치(incompatibility of file format) = 135
5) 사용의 불편성(inconvenience in user's perspective) = 136
6) 프로그래머의 낮은 생산성 =136
7) 기타의 기능들 = 136
3. DBMS를 이용한 데이터 관리 = 137
4. DBMS 사용의 장점 = 138
1) 중복성의 제어와 일관성의 유지 = 138
2) 데이터의 공유와 동시성의 제어 = 138
3) 데이터 보안 = 139
4) 데이터 무결성 유지 = 139
5) 표준화의 시행 = 139
6) 구축비용의 경제성 = 139
7) 부서별 요구사항의 조정 = 139
8) 생산성의 향상 = 140
9) 회복기능의 향상 = 140
5. DBMS의 단점 = 140
6. DBMS의 구조 = 141
7. DBMS의 3단계 스키마 구조 = 142
1) 개념 단계 = 143
2) 외부 단계 = 144
3) 내부 단계 = 144
8. 데이터 독립성 = 145
8.1. 논리적 데이터 독립성 = 145
8.2. 물리적 데이터 독립성 = 146
9. 데이터베이스 언어 = 147
1) 데이터 정의어 = 147
2) 데이터 조작어 = 147
3) 데이터 제어어 = 148
10. 데이터베이스 시스템의 구성요소 = 148
10.1. 하드웨어 = 148
10.2. 소프트웨어 = 148
10.3. 데이터베이스 = 149
1) 사용자 데이터와 메타 데이터 = 149
2) 인덱스 데이터 = 151
3) 어플리케이션 메타 데이터 = 152
4) 정보와 데이터 = 152
10.4. 사용자 = 153
1) 데이터베이스 관리자 = 153
2) 데이터베이스 설계자와 응용 프로그래머 = 153
3) 최종 사용자 = 154
11. DBMS 개발자와 도구 개발자 = 155
12. DBMS의 분류 = 155
13. 데이터베이스 기술의 발전 = 157
13.1. 파일처리 시스템 = 157
13.2. 계층형 데이터베이스 시스템 = 157
13.3. 네트워크 데이터베이스 시스템 = 158
13.4. 관계형 데이터베이스 시스템 = 160
13.5. PC용 DBMS = 161
13.6. 클라이언트-서버 데이터베이스 아키텍처 = 162
13.7. 의미적 데이터 모델 = 162
13.8. 객체지향 데이터베이스 시스템 = 163
연습문제 = 165
5. 실체-관계 데이터 모델
1. 데이터베이스의 설계 = 168
2. 엔티티 타입과 애트리뷰트 = 170
3. 관계 타입(Relationship type) = 172
4. ER 다이어그램 = 173
5. 관계타입의 구조적 제약 = 176
6. 약 엔티티 타입 = 181
7. 일반화(Generalization) = 182
8. ER 스키마를 관계형 스키마로 변환하는 방법 = 185
8.1. 단계1 : 엔티티 타입 = 185
8.2. 단계2 : 약 엔티티 = 186
8.3. 단계3 : 일-대-일 관계 =186
8.4. 단계4 : 일-대-다 관계 = 187
8.5. 단계5 : 다-대-다 관계 = 188
8.6. 단계6 : 다치 애트리뷰트 = 189
8.7. 단계7 : 재귀관계 = 190
연습문제 = 192
6. 정규화
1. 함수적 종속성 = 197
2. 정규형 = 201
3. 제 1정규형 = 202
4. 완전 함수적 종속성과 제 2정규형 = 205
5. 제 3정규형과 추이적 종속성 = 210
6. BCNF = 213
7. 함수적 풍속성과 후보 키의 결정 = 216
8. 다치 종속성과 제 4정규형 = 216
9. 제 5정규형과 도메인-키 정규형 = 222
10. 정규화의 의미 = 222
11. 정규화의 예 = 222
연습문제 = 226
7. 트랜잭션
1. 트랜잭션의 개념 = 230
1.1. 읽기/쓰기 연산 = 231
1.2. 트렌잭션의 특성 = 232
1) 원자성 = 233
2) 일관성 = 233
3) 고립성 = 233
4) 지속성 = 234
1.3. 트랜잭션의 상태 = 234
2. 회복 = 235
2.1. 장애의 유형 = 236
1) 시스템 크래쉬(system crash) = 236
2) 미디어 장애 = 236
3) 응용 프로그램 오류 = 237
4) 사용자 철회 = 237
5) 자연 재해에 의한 실패 = 237
2.2. 로그 파일 = 238
1) 트랜잭션 레코드 = 238
2) 체크 포인트 레코드 = 238
2.3. 체크 포인트 = 240
2.4. 지연 갱신에 의한 회복 기법 = 242
2.5. 즉시 갱신의 회복 기법 = 243
2.6. 그림자 페이징 = 244
3. 동시성 제어 = 245
3.1. 스케쥴 = 246
3.2. 트랜잭션의 병렬 수행에서의 문제점 = 247
1) 갱신 분실 문제 = 247
2) 오손 판독 문제 = 248
3) 부정확한 요약 문제 = 249
3.3. 직렬가능성 = 250
3.4. 로킹 = 252
3.5. 2단계 로킹 프로토콜 = 254
3.6. 교착 = 257
3.7. 로킹 단위 = 258
연습문제 = 260
8. 파일구조와 인덱스
1. 페이지의 개념 = 264
2. 순서 파일과 비순서 파일 = 266
3. 해쉬 파일 = 268
3.1. 개방 주소 방법 = 269
3.2. 비연결 오버플로우 = 270
3.3. 연결 오버플로우 = 270
3.4. 다중 해슁 = 271
4. 동적으로 파일이 확장되는 해슁기법 = 272
4.1. 확장 해슁 = 273
4.2. 동적 해슁 = 275
5. 인덱스 = 277
5.1. 기본 인덱스 = 278
5.2. 클러스터링 인덱스 = 279
5.3. 보조 인덱스 = 280
5.4. 다단계 인덱스 = 282
5.5. -트리 = 283
연습문제 = 287
9. 데이터베이스 보안과 접근 통제
1. 데이터베이스 보안의 개요 = 290
2. 권한 관리 = 291
2.1. 권한의 종류 = 291
2.2. 접근 통제 행렬 = 292
2.3. GRANT와 REVOKE = 293
2.4. 뷰의 GRANT와 REVOKE = 294
찾아보기 = 296