목차 일부
CHAPTER 01 데이터베이스 시스템
1.1 데이터베이스 시스템 개요 ... 15
1.1.1 데이터베이스 스키마와 상태 ... 15
1.1.2 데이터베이스 시스템의 구성요소 ... 16
1.1.3 데이터베이스 시스템의 요구사항 ... 20
1.1.4 데이터베이스 시스템을 공부해야 하는 이유 ... 21
...
더보기
목차 전체
CHAPTER 01 데이터베이스 시스템
1.1 데이터베이스 시스템 개요 ... 15
1.1.1 데이터베이스 스키마와 상태 ... 15
1.1.2 데이터베이스 시스템의 구성요소 ... 16
1.1.3 데이터베이스 시스템의 요구사항 ... 20
1.1.4 데이터베이스 시스템을 공부해야 하는 이유 ... 21
1.2 화일 시스템 vs. DBMS ... 22
1.2.1 화일 시스템을 사용한 기존의 데이터 관리 ... 22
1.2.2 화일 시스템의 단점 ... 23
1.2.3 DBMS를 사용한 데이터베이스 관리 ... 26
1.2.4 DBMS의 장점 ... 27
1.2.5 DBMS의 단점 ... 31
1.3 DBMS 발전 과정 ... 32
1.3.1 데이터 모델 ... 32
1.3.2 DBMS의 발전 과정 ... 33
1.3.3 새로운 데이터베이스 응용과 DBMS의 분류 ... 37
1.4 DBMS 언어 ... 39
1.5 DBMS 사용자 ... 42
1.6 ANSI/SPARC 아키텍처와 데이터 독립성 ... 46
1.6.1 ANSI/SPARC 아키텍처 ... 46
1.6.2 데이터 독립성 ... 52
1.7 데이터베이스 시스템 아키텍처 ... 53
연습문제 ... 60
CHAPTER 02 관계 데이터 모델과 제약조건
2.1 관계 데이터 모델의 개념 ... 68
2.1.1 기본적인 용어 ... 68
2.1.2 스키마와 인스턴스 ... 72
2.2 릴레이션의 특성 ... 74
2.3 릴레이션의 키 ... 77
2.4 무결성 제약조건 ... 84
2.4.1 도메인 제약조건(domain constraint) ... 86
2.4.2 키 제약조건(key constraint) ... 86
2.4.3 기본 키와 엔티티 무결성 제약조건(entity integrity constraint) ... 86
2.4.4 외래 키와 참조 무결성 제약조건(referential integrity constraint) ... 87
2.4.5 무결성 제약조건의 유지 ... 88
연습문제 ... 93
CHAPTER 03 오라클
3.1 오라클 개요 ... 102
3.1.1 오라클 아키텍처 ... 102
3.1.2 저장 구조 ... 105
3.2 오라클 설치 및 수행 ... 107
3.3 환경 설정 ... 123
3.3.1 Oracle SQL Developer 실행 ... 124
3.3.2 사용자 등록 ... 127
3.3.3 비밀번호 변경 ... 130
3.3.4 예제 테이블 생성 ... 131
3.4 PL/SQL ... 141
연습문제 ... 146
CHAPTER 04 관계 대수와 SQL
4.1 관계 대수 ... 149
4.1.1 실렉션 연산자 ... 152
4.1.2 프로젝션 연산자 ... 153
4.1.3 집합 연산자 ... 155
4.1.4 조인 연산자 ... 161
4.1.5 디비전 연산자 ... 163
4.1.6 관계 대수 질의의 예 ... 164
4.1.7 관계 대수의 한계 ... 165
4.1.8 추가된 관계 대수 연산자 ... 165
4.2 SQL 개요 ... 169
4.3 데이터 정의어와 무결성 제약조건 ... 174
4.3.1 데이터 정의어 ... 175
4.3.2 제약조건 ... 180
4.4 SELECT문 ... 185
4.4.1 기본적인 SELECT문 ... 186
4.4.2 조인 ... 204
4.4.3 중첩 질의(nested query) ... 208
4.5 INSERT, DELETE, UPDATE문 ... 215
4.5.1 INSERT문 ... 216
4.5.2 DELETE문 ... 217
4.5.3 UPDATE문 ... 218
4.6 트리거(trigger)와 주장(assertion) ... 219
4.6.1 트리거 ... 219
4.6.2 주장 ... 222
4.7 내포된 SQL ... 224
연습문제 ... 231
CHAPTER 05 데이터베이스 설계와 ER 모델
5.1 데이터베이스 설계의 개요 ... 244
5.2 ER 모델 ... 249
5.2.1 엔티티 ... 251
5.2.2 엔티티 타입 ... 252
5.2.3 애트리뷰트 ... 253
5.2.4 약한 엔티티 타입 ... 258
5.2.5 관계와 관계 타입 ... 259
5.2.6 ER 스키마를 작성하기 위한 지침 ... 268
5.2.7 데이터베이스 설계 과정 ... 271
5.2.8 ER 모델의 또 다른 표기법 ... 272
5.3 데이터베이스 설계 사례 ... 276
5.4 논리적 설계: ER 스키마를 관계 모델의 릴레이션들로 사상 ... 284
5.4.1 ER-릴레이션 사상 알고리즘 ... 286
5.4.2 데이터베이스 설계 사례에 알고리즘 적용 ... 293
연습문제 ... 299
CHAPTER 06 물리적 데이터베이스 설계
6.1 보조 기억 장치 ... 311
6.2 버퍼 관리와 운영 체제 ... 314
6.3 디스크상에서 화일의 레코드 배치 ... 315
6.4 화일 조직 ... 320
6.4.1 히프 화일(비순서 화일) ... 321
6.4.2 순차 화일(순서 화일) ... 323
6.5 단일 단계 인덱스 ... 326
6.6 다단계 인덱스 ... 336
6.7 인덱스 선정 지침과 데이터베이스 튜닝 ... 340
연습문제 ... 347
CHAPTER 07 릴레이션 정규화
7.1 정규화 개요 ... 353
7.2 함수적 종속성 ... 359
7.3 릴레이션 분해(decomposition) ... 364
7.4 제1정규형, 제2정규형, 제3정규형, BCNF ... 368
7.4.1 제1정규형 ... 368
7.4.2 제2정규형 ... 369
7.4.3 제3정규형 ... 372
7.4.4 BCNF ... 374
7.4.5 여러 정규형의 요약 ... 377
7.5 역정규화 ... 379
연습문제 ... 381
CHAPTER 08 뷰와 시스템 카탈로그
8.1 뷰 ... 391
8.1.1 뷰의 개요 ... 391
8.1.2 뷰의 정의 ... 392
8.1.3 뷰의 장점 ... 395
8.1.4 뷰의 갱신 ... 399
8.2 관계 DBMS의 시스템 카탈로그 ... 402
8.3 오라클의 시스템 카탈로그 ... 408
연습문제 ... 423
CHAPTER 09 트랜잭션
9.1 트랜잭션 개요 ... 432
9.2 동시성 제어 ... 443
9.2.1 동시성의 개요 ... 443
9.2.2 로킹(locking) ... 448
9.3 회복 ... 455
9.3.1 회복의 개요 ... 455
9.3.2 로그를 사용한 즉시 갱신 ... 457
9.3.3 데이터베이스 백업과 재해적 고장으로부터의 회복 ... 464
9.4 PL/SQL의 트랜잭션 ... 465
연습문제 ... 471
CHAPTER 10 데이터베이스 보안과 권한 관리
10.1 데이터베이스 보안 ... 478
10.2 권한 관리 ... 481
10.2.1 권한 허가 ... 481
10.2.2 권한 취소 ... 485
10.2.3 역할(role) ... 486
10.3 오라클의 보안 및 권한 관리 ... 488
10.3.1 오라클의 보안 및 권한 관리 개요 ... 488
10.3.2 오라클의 보안 및 권한 관리 실습 ... 491
연습문제 ... 501
부록 ... 503
찾아보기 ... 521
더보기 닫기