제1장 데이터베이스 개요 1.1 자료와 정보 ... 12 1.1.1 컴퓨터 프로그램 ... 14 1.1.2 자료처리와 정보처리 ... 15 1.2 데이터베이스 개념 ... 17 1.2.1 데이터베이스 시스템(Database System) ... 18 1.2.2 데이터베이스의 특징 ... 21 1.2.3 데이터베이스의 장ㆍ단점 ... 24 1.2.4 데이터베이스의 분류 ... 26 1.2.5 데이터베이스 라이프 사이클 ... 28 1.2.6 데이터베이스의 역사 ... 29 1.3 데이터베이스 구조 ... 32 1.3.1 3단계 스키마 구조 ... 32 1.3.2 언어 기능 ... 34 1.3.3 데이터베이스 시스템 구조 ... 36 1.4 데이터베이스 종사자 ... 39 1.4.1 DBMS 제작 분야 ... 39 1.4.2 DBMS 사용 분야 ... 40 1.4.3 데이터베이스 응용분야 ... 43 연습문제 ... 46 제2장 데이터베이스 설계 2.1 데이터베이스 환경 ... 52 2.1.1 중앙집중식 데이터베이스 ... 53 2.1.2 Client/server 데이터베이스 ... 54 2.1.3 Web Server 데이터베이스 ... 56 2.1.4 분산 데이터베이스 ... 57 2.2 개체와 속성 ... 58 2.2.1 개체와 속성 ... 58 2.2.2 식별자와 키 ... 62 2.2.3 개체와 사상 ... 63 2.3 데이터베이스 설계 개요 ... 65 2.3.1 데이터베이스 개발 공정 ... 65 2.3.2 자료 분석 및 설계 ... 69 2.4 데이터 모델링 ... 72 2.4.1 데이터 모델 ... 73 2.4.2 개체관계 데이터 모델 ... 75 2.4.3 관계집합의 스키마 변환 ... 79 2.5 사례 연구 ... 84 연습문제 ... 90 제3장 관계 모델 3.1 관계 자료 모델 ... 94 3.1.1 관계 모델 개요 ... 94 3.1.2 관계 모델의 표현 ... 95 3.2 무결성 제약조건 ... 97 3.3 관계 모델 설계 ... 99 3.3.1 ER 모델을 관계 모델로 변환 ... 100 3.4 관계 연산 ... 112 3.4.1 투플 ... 112 3.4.2 레코드 연산과 집합 연산 ... 113 3.4.3 대수와 해석 ... 115 3.5 관계 대수 ... 118 3.5.1 단항 연산자 ... 119 3.5.2 이항 연산자(집합 연산자) ... 123 3.5.3 이항 연산자(횡적 연결) ... 126 3.6 관계 해석 ... 127 3.6.1 투플 관계 해석 ... 128 3.6.2 도메인 관계 해석 ... 129 연습문제 ... 132 제4장 SQL 4.1 개요 ... 136 4.2 SQL의 자료 정의 ... 139 4.2.1 SQL의 자료형 ... 140 4.2.2 SQL의 자료 정의문 ... 142 4.2.3 SQL의 스키마 변경 ... 147 4.3 SQL의 자료 질의 ... 148 4.3.1 기본적인 SQL 질의 ... 149 4.3.2 SQL의 집합 연산 ... 151 4.3.3 SQL의 부분 문자열 및 산술 연산 ... 152 4.3.4 SQL의 중첩 질의 ... 153 4.3.5 집합 비교 ... 155 4.3.6 SQL의 집단 함수 ... 155 4.3.7 GROUP BY와 HAVING 절 ... 156 4.3.8 출력의 순서 ... 157 4.3.9 빈 관계에 대한 검사 ... 157 4.4 SQL의 자료 갱신 ... 158 4.4.1 INSERT 명령 ... 158 4.4.2 DELETE 명령 ... 159 4.4.3 UPDATE 명령 ... 160 4.5 무결성 제약조건 ... 160 4.5.1 속성 제약조건 ... 161 4.5.2 키와 참조 무결성 제약조건 ... 161 4.5.3 CHECK 문으로 명시 ... 162 4.5.4 ASSERTION 문으로 명시 ... 163 4.5.5 TRIGGER 문으로 명시 ... 164 연습문제 ... 165 제5장 관계 데이터베이스 설계 5.1 개요 ... 170 5.1.1 데이터베이스 설계의 주안점 ... 171 5.1.2 테이블의 분해 ... 174 5.2 함수 종속 ... 176 5.2.1 자료 종속 ... 176 5.2.2 함수 종속 ... 177 5.2.3 함수 종속 집합의 폐포 ... 179 5.3 정규형 ... 180 5.3.1 정규형과 비정규형 ... 181 5.3.2 제2정규형 ... 183 5.3.3 제3정규형 ... 184 5.3.4 BCNF 정규형 ... 186 5.4 고급 정규형 ... 188 5.4.1 다치 종속과 제4정규형 ... 189 5.4.2 조인 종속과 제5정규형 ... 191 5.5 데이터베이스 설계 절차 ... 194 5.5.1 데이터베이스 설계 과정 ... 194 5.5.2 정규형 이외의 설계 분야 ... 196 연습문제 ... 198 제6장 파일과 색인 6.1 파일 구성 ... 202 6.1.1 저장장치 ... 203 6.1.2 파일 구성 ... 207 6.2 색인 구성 ... 211 6.2.1 색인의 형태 ... 211 6.2.2 색인 구조의 종류 ... 216 6.3 균형 트리 색인 ... 222 6.3.1 B-트리 색인 ... 223 6.3.2 <?import namespace ... m ur 6.4 Hash 색인 ... 229 6.4.1 내부 및 외부 해싱 ... 230 6.4.2 동적 해싱 ... 233 연습문제 ... 240 제7장 질의 처리 7.1 질의 개요 ... 244 7.1.1 질의 처리 절차 ... 245 7.1.2 질의 처리 비용 ... 246 7.2 질의 연산 ... 249 7.2.1 관계 대수로 번역 ... 249 7.2.9 셀렉션과 프로젝션 ... 251 7.2.3 정렬 ... 256 7.2.4 조인 ... 257 7.3 질의 최적화 ... 262 7.3.1 최적화 기법 ... 263 7.3.2 관계 대수식의 등가 변환 ... 266 7.3.3 질의 비용의 추산 ... 268 7.4 분산 질의환경 ... 273 연습문제 ... 277 제8장 병행제어 8.1 트랜잭션 개요 ... 280 8.1.1 병행처리의 문제점 ... 282 8.1.2 병행처리 오류의 원인과 대책 ... 285 8.2 병행처리 트랜잭션 ... 287 8.2.1 트랜잭션의 상태 ... 288 8.2.2 트랜잭션의 특성 ... 290 8.2.3 트랜잭션 스케줄 ... 292 8.3 록킹 기법 ... 298 8.4 타임스탬프 기법 ... 305 8.5 검증 기법 ... 309 연습문제 ... 313 제9장 복구 9.1 개요 ... 318 9.1.1 고장의 종류 ... 319 9.1.2 저장장치와 시스템 구조 ... 320 9.1.3 고장과 복구 ... 322 9.2 복구 전략 ... 324 9.2.1 로그 개요 ... 325 9.2.2 ARIES 알고리즘 ... 328 9.3 로그 기법 ... 330 9.3.1 지연 갱신 로그 ... 331 9.3.2 즉시 갱신 로그 ... 335 9.3.3 검사점과 재시작 ... 338 9.4 그림자 페이지 ... 342 연습문제 ... 345 제10장 데이터베이스 보안 10.1 개요 ... 350 10.1.1 보안 목표와 쟁점 ... 350 10.1.2 보안을 위한 제어 수단 ... 353 10.1.3 데이터베이스 보안 업무 ... 355 10.2 임의 접근 제어 ... 356 10.2.1 SQL의 임의 접근 제어 ... 357 10.2.2 임의 접근 제어의 실례 ... 358 10.2.3 View를 이용한 접근 제어 ... 360 10.3 강제 접근 제어 ... 362 10.3.1 강제 접근 제어 기법 ... 362 10.3.2 특수 접근 제어 기법 ... 365 10.4 암호화 ... 367 10.4.1 자료 암호화 ... 368 10.4.2 공개키 암호화 ... 368 10.4.3 전자 서명과 전자 인증서 ... 370 연습문제 ... 374 제11장 웹데이터베이스 11.1 웹 페이지 ... 378 11.1.1 WWW: 다양한 형태의 자료 집합 ... 379 11.1.2 생성 언어 ... 380 11.2 웹 페이지 구조 ... 383 11.2.1 클라이언트/서버 구조 ... 384 11.2.2 웹과 데이터베이스 ... 388 11.3 동적 페이지 ... 391 11.3.1 동적 페이지 기술 ... 391 11.3.2 데이터베이스 기술 ... 395 11.4 XML ... 398 11.4.1 XML 데이터 모델 ... 400 11.4.2 XML DTD와 Schema ... 402 11.4.3 XML 문서와 데이터베이스 ... 406 연습문제 ... 410 제12장 정보 검색 12.1 개요 ... 414 12.1.1 자료 검색과 정보 검색 ... 415 12.2 연관성 우선순위 ... 416 12.2.1 연관성 계산 ... 417 12.2.2 문서 전처리 ... 419 12.3 시맨틱 웹 ... 420 12.3.1 온톨로지 ... 421 12.3.2 시맨틱 웹 ... 426 12.4 검색 모델 ... 431 12.4.1 불리언 모델 ... 431 12.4.2 벡터 공간 모델 ... 433 12.4.3 내용기반 검색 ... 435 12.5 검색 성능 평가 ... 438 12.6 웹 검색 엔진 ... 440 12.6.1 웹 검색 엔진 구조 ... 440 12.6.2 웹 검색 엔진 형태 ... 445 연습문제 ... 448 제13장 분산 데이터베이스 13.1 개요 ... 452 13.1.1 분산 데이터베이스의 개념 ... 453 13.1.2 분산 데이터베이스의 부수 기능 ... 457 13.1.3 분산 데이터베이스의 장ㆍ단점 ... 458 13.2 분산 데이터베이스 구조 ... 460 13.2.1 분산 데이터베이스 구조 ... 461 13.2.2 분산 데이터베이스의 논리 구조 ... 465 13.2.3 분산 데이터베이스의 자료 설계 ... 467 13.3 분산 데이터베이스 트랜잭션 ... 470 13.3.1 전역 트랜잭션 ... 470 13.3.2 분산 질의처리 ... 473 13.3.3 분산 자료 갱신 ... 479 연습문제 ... 482