박영사

SITEMAP
전체메뉴닫기
닫기
데이터베이스 관리(제4판)
개정판
데이터베이스 관리(제4판)
저자
서길수
역자
-
분야
경영학
출판사
박영사
발행일
2022.02.28
개정 출간예정일
페이지
676P
판형
크라운판
ISBN
979-11-303-1444-0
부가기호
93320
강의자료다운
정가
37,000원

제4판 2022.02.28

중판 2007. 8. 30.
제3판 2005. 8. 10.
제2판 2000. 3. 10.
초판 1995. 9. 20.


제가 대학에서 강의를 해온 지난 30년 동안 늘 데이터의 중요성을 강조해 왔는데, 지금처럼 기업 활동에 있어서 데이터의 역할이 중요했던 적은 없었습니다. 앞으로 데이터는 새로운 세상을 여는 열쇠가 될 것이며, 데이터의 중요성은 점점 더 부각될 것입니다. 매일 생성되는 데이터의 절대량이 늘어나고, 데이터 분석에 대한 필요성도 증가하면서 데이터베이스와 관련한 기술에도 많은 변화들이 있었으며, 이번 개정판에서는 그러한 변화들을 수용하고자 노력하였습니다. 첫째, 최근 빅 데이터와 함께 많은 관심을 받고 있는 NoSQL에 대한 소개를 추가하였습니다. 특히 NoSQL의 한 종류인 MongoDB의 데이터 모델과 질의어에 대해 14장에서 상세하게 소개하고, 실습을 위한 안내서를 부록에 추가하였습니다. 둘째, Oracle, MS Access, Erwin, MongoDB 등 실습용 소프트웨어의 가장 최근 버전을 설치하고, 사용하는 방법을 해당되는 장이나 책 뒤쪽 부록에 수록하였습니다. 셋째, 개체-관계성 데이터 모델을 관계형 데이터 모델 바로 뒤로 옮겼습니다. 사실 논리적인 순서로 보면 개체-관계성 데이터 모델을 먼저 공부하고, 관계형 데이터 모델을 다음에 공부하는 것이 더 맞습니다. 그러나 처음에 너무 개념적인 부분만 강조하다 보면 학생들이 흥미를 잃어버리는 경우를 종종 발견하게 됩니다. 따라서 직관적으로 이해하기 쉬운 관계형 데이터 모델을 앞 부분에 위치시키고, 이어서 개체-관계성 데이터 모델을 공부하도록 했습니다. NoSQL 등의 새로운 데이터 모델이 등장했지만, 여전히 관계형 데이터 모델은 현재까지 가장 널리 사용되고 있으며, 데이터베이스를 공부하는 사람이라면 반드시 알아야 할 분야입니다. 마지막으로 시장에서 크게 성공하지 못한 객체중심 데이터 모델은 본문에서 삭제하고, 책 뒤쪽의 부록으로 돌렸습니다. 그러나 캡슐화, 유전성 등의 객체중심 개념은 중요하기 때문에 참고할 가치는 충분히 있습니다. 그 외에도 모든 장에서 새로운 내용이 부분적으로 추가되거나, 기존 내용이 개선되었습니다.
이제 데이터베이스는 컴퓨터 공학도나 정보시스템 전공자만 공부하는 과목이 아닙니다. 제가 학부와 대학원에서 강의하면서 문헌정보학, 의학, 간호학, 공학 등 여러 다양한 전공의 학생들이 데이터베이스에 대해 많은 관심을 가지고 있음을 보았습니다. 이번 개정판에서도 3판의 정신을 그대로 이어받아 가능한 수식과 알고리즘의 나열을 배제하고, 어떤 전공자도 쉽게 접할 수 있도록 내용을 풀어 쓰는 것을 기본 철학으로 삼았습니다. 다만 학부 수준에서 다소 어렵다고 생각되는 부분은 별표(*)를 붙여 난이도를 구별하였습니다. 3판과 마찬가지로 명문가구라는 가상의 회사 사례를 처음부터 끝까지 사용함으로써 설명에 일관성을 부여하고자 노력하였습니다. 또한 각 편마다 그림과 글을 실어 딱딱한 데이터베이스 기술서에 인문학적 상상력을 불어 넣고자 했습니다.
늘 함께 해주신 하나님과 4판이 나오기까지 도움을 주신 여러분께 감사 드립니다. 연세대학교의 동료 교수님들(특히, 매주 점심의 난상토론을 통해 많은 영감을 준 구본일, 엄영호, 박선주 교수님), 투썬월드의 이종현 의장님과 박종일 님, 박영사의 마찬옥 편집위원님 등 많은 분들의 격려와 도움으로 이번 개정판이 나오게 되었습니다. 3판까지 좋은 그림으로 책을 장식해 준 아내, 그리고 기꺼이 이 책을 위해 본인들의 글과 그림을 제공하고, 표지 디자인까지 맡아준 민지와 상구에게 이 자리를 빌어 고마움과 함께 사랑한다는 말을 전합니다.

2022년 2월 안식년 끝자락의 조천읍에서
저자 씀

저자 서길수는 연세대학교 경영학과를 졸업하고, 미국 인디애나 대학교에서 정보시스템을 전공하여 경영학 석사와 박사학위를 취득한 후, 현재 연세대학교 경영대학 교수로 재직중이다. 주요 관심 분야는 데이터 모델링, 매체관련 이론, 사용자 접속 등이며, MIS Quarterly, Information Systems Research, Decision Support Systems, Information and Management, EC Research & Applications, Journal of Global Information Management, 경영정보학 연구, 경영학 연구, Information Systems Review, 정보기술과 데이터베이스저널 등의 학술지와 ICIS, HICSS, PACIS, 경영정보학회, 경영학회 등에 30여 편의 논문을 발표하였다. 그리고 경영정보학 연구, 경영저널 등의 편집위원을 역임하였으며, 2001년 Accenture 최우수 논문상을 수상하였고, 세계인명사전(Marquis Who’s Who in the World, Marquis Who’s Who in Science and Engineering)에 등재되었으며, 현재 Information and Management의 Editorial Board로 활동중이다.

제 1 편  데이터베이스 개념과 데이터 모델
제1장 데이터베이스 시스템
1.1 기존 파일 처리 방식의 문제점 6
1.2 데이터베이스 방식 11
1.2.1 데이터베이스의 정의 11
1.2.2 데이터베이스 방식의 이점 13
1.2.3 데이터베이스 방식의 비용 16
1.3 데이터베이스 시스템의 구성요소 18
1.3.1 데이터 18
1.3.2 하드웨어 19
1.3.3 소프트웨어 19
1.3.4 사용자 22
1.4 데이터 모델 23
1.4.1 데이터 모델의 분류 24
1.4.2 삼단계 스키마 구조 25
1.5 데이터베이스 관리시스템의 구성 요소와 기능 27
1.5.1 데이터베이스 관리시스템 엔진 29
1.5.2 사용자 접속장치 30
1.5.3 데이터베이스 정의/조작기 30
1.5.4 시스템 목록기 30
1.5.5 무결성 관리기 31
1.5.6 성능 관리기 33
1.5.7 병행 제어기 34
1.5.8 예비/복구 관리기 36
1.5.9 보안 관리기 36
1.5.10 기타 편의 장치 37
1.6 요약 37

제2장 관계형 데이터 모델
2.1 구조 41
2.1.1 관계의 특성 42
2.1.2 타플, 속성, 영역 43
2.1.3 대안적 용어 44
2.2 무결성 제약 45
2.2.1 주키와 개체 무결성 제약 45
2.2.2 영역 제약 47
2.2.3 참조 무결성 제약 47
*2.3 관계 대수어  53
*2.4 관계 해석어 66
2.4.1 타플 관계 해석어 67
2.4.2 영역 관계 해석어 68
2.5 요약 69

제3장 개체-관계성 데이터 모델
3.1 개체 집합 73
3.1.1 개체와 속성 74
3.1.2 개체 집합 76
3.1.3 식별자 속성 78
3.2 관계성 집합 79
3.2.1 대응비와 참여도 80
3.2.2 차수 82
3.2.3 종속 개체 집합 84
3.3 확장 개체-관계성 데이터 모델 85
3.3.1 일반화/상세화 86
3.3.2 배타성과 완전성 87
3.4 개체-관계성도 88
3.4.1 개체-관계성도 개요: 첸 모델과 까마귀발 모델 88
3.4.2 개체 집합과 속성의 파악 92
3.4.3 일반화 계층구조의 파악 97
3.4.4 관계성 집합의 파악 99
3.5 UML 클래스 다이어그램 106
3.6 개체-관계성 모델의 문제점 109
3.6.1 부채꼴 함정 111
3.6.2 균열 함정 113
3.7 요약 115

제4장 정규화 이론
4.1 정규화의 개념 122
4.1.1 구조화된 관계 123
4.1.2 구조화된 관계의 문제점 125
4.2 함수적 종속과 정규화 127
4.2.1 함수적 종속 127
4.2.2 1차 정규형 128
4.2.3 2차 정규형 130
4.2.4 3차 정규형 133
*4.2.5 보이스-코드 정규형 136
*4.3 타유형의 종속과 정규화 139
4.3.1 다중값 종속과 4차 정규형 139
4.3.2 결합 종속과 5차 정규형 142
4.3.3 영역-키 정규형 143
4.4 정규화된 관계의 통합 143
4.4.1 사례 143
4.4.2 관계의 통합 148
4.5 요약 152


제 2 편  데이터베이스 질의어
제5장 데이터베이스 질의어: SQL과 QBE
5.1 SQL의 배경 161
5.2 테이블의 생성 165
5.3 데이터의 검색 168
5.3.1 단순 질의 169
5.3.2 중복 행의 제거  171
5.3.3 특수 연산자 172
5.3.4 검색 결과의 정렬 176
5.3.5 수식과 집단함수의 활용 177
5.3.6 집단 검색 조건 181
5.3.7 복수 테이블의 검색 182
5.3.8 SELECT 내포문 189
5.3.9 자체 결합을 이용한 데이터의 검색 193
5.3.10 상관 내포절 195
5.3.11 EXISTS 명령어  196
5.3.12 결과 테이블의 결합(UNION/INTERSECT/EXCEPT 연산자) 198
5.4 QBE 언어 202
5.5 요약 212
부록 1: Oracle SQL* Plus 사용법 215
부록 2: MS Access 사용법 224

제6장 고급 SQL
6.1 무결성 향상 기능 232
6.1.1 미확인 값 제약 233
6.1.2 주키 제약 233
6.1.3 영역 제약 234
6.1.4 참조 무결성 제약 236
*6.1.5 기타 사업관련 제약 238
6.2 데이터 정의를 위한 고급 기능 239
6.2.1 테이블의 생성 239
6.2.2 테이블의 변경 242
6.2.3 테이블의 삭제 244
6.2.4 색인의 생성과 삭제 244
6.3 데이터 갱신 246
6.3.1 INSERT 명령 246
6.3.2 DELETE 명령 248
6.3.3 UPDATE 명령 249
6.4 가상 테이블 250
6.4.1 가상 테이블의 개념 250
6.4.2 가상 테이블의 정의 251
6.4.3 가상 테이블의 갱신 253
*6.4.4 WITH CHECK OPTION 253
*6.5 내장 SQL 255
6.5.1 Oracle PL/SQL의 기본 구조 255
6.5.2 변수의 정의 256
6.5.3 결과물의 출력 257
6.5.4 단일 레코드의 검색 258
6.5.5 복수 레코드의 검색 259
6.5.6 오류의 처리 264
*6.6 API와 ODBC 264
6.7 요약 265
부록 1: Oracle Database에서의 테이블 생성 270
부록 2: PL/SQL 스크립트 파일 271


제 3 편  데이터베이스 설계
제7장 데이터베이스 설계 방법론과 개념적 설계
7.1 정보시스템 개발 수명주기 277
7.2 데이터베이스 개발 수명주기 278
7.2.1 데이터베이스 요구사항 분석 279
7.2.2 데이터베이스 설계 281
7.2.3 데이터베이스 개발 283
7.2.4 데이터베이스 운영 및 유지보수 283
7.3 개념적 데이터베이스 설계 284
7.3.1 개체 집합의 파악 287
7.3.2 관계성 집합의 파악 288
7.3.3 개체-관계성도의 작성 291
7.3.4 개체 집합과 관계성 집합에 관련된 속성의 파악 291
7.3.5 속성의 영역 결정 293
7.3.6 주키의 선정 294
7.3.7 상세화와 일반화 관계성의 파악 295
7.3.8 사용자 트랜잭션의 검정 296
7.3.9 개체-관계성도의 수정 298
7.3.10 사용자 검토 298
7.4 요약 300

제8장 논리적 데이터베이스 설계
8.1 각 관점별 논리적 설계 304
8.1.1 개체 집합의 전환 306
8.1.2 관계성 집합의 전환 308
8.1.3 정규화 검사 323
8.1.4 사용자 트랜잭션 검증 324
8.1.5 개체-관계성도 수정 324
8.1.6 무결성 제약의 정의 324
8.1.7 사용자 검토 324
8.2 명문가구 사례(매장의 사용자 관점) 325
8.2.1 개체 집합의 전환 325
8.2.2 관계성 집합의 전환 326
8.2.3 정규화 검사 328
8.2.4 사용자 트랜잭션 검증 329
8.2.5 개체-관계성도 수정 329
8.2.6 무결성 제약의 정의 330
8.2.7 사용자 검토 330
8.3 전역 논리적 모델의 구축 332
8.4 CASE 도구의 활용 335
8.5 요약 337

제9장 물리적 데이터베이스 설계
9.1 물리적 설계의 개념과 단계 341
9.2 전역 논리적 모델의 전환 342
9.2.1 기본 테이블 설계 342
9.2.2 유도 속성의 설계 344
9.2.3 무결성 제약 설계 344
9.3 물리적 저장 방식의 설계 347
9.3.1 트랜잭션 분석 347
9.3.2 파일 조직 선택 348
9.3.3 이차 색인 선택 350
9.3.4 통제된 중복의 도입 결정 351
9.3.5 디스크 용량의 추정 354
9.4 보안 장치의 설계 355
9.5 시스템 운영 감시와 조정 355
9.6 요약 356
부록: 기본 테이블 생성 358
제 4 편  데이터베이스 관리
제10장  병행 제어와 데이터베이스의 복구
10.1 논리적 트랜잭션과 물리적 트랜잭션 371
10.2 병행 제어 374
10.2.1 갱신 분실의 문제 374
10.2.2 직렬 스케줄 375
10.2.3 차단 방식 376
10.2.4 버전 방식 380
10.3 데이터베이스의 복구 382
10.3.1 데이터베이스 손상의 원인 382
10.3.2 트랜잭션과 복구 383
10.3.3 복구 장치 384
10.3.4 복구 방식 385
10.3.5 복구 방식의 적용 387
10.4 요약 389

제11장  데이터베이스 보안
11.1 데이터베이스 보안의 개념 394
11.1.1 데이터베이스 관리시스템의 보안 기능 394
11.1.2 데이터베이스 보안과 데이터베이스 관리인 395
11.2 접근 통제 395
11.3 허가 규칙 396
11.3.1 허가 규칙 행렬 397
11.3.2 SQL의 허가 규칙 398
11.4 가상 테이블 402
11.4.1 가상 테이블을 통한 보안 유지 402
11.4.2 통계 데이터의 제공 403
*11.4.3 사례 403
11.5 암호화 407
11.6 위험 분석 407
11.7 요약 409

제 5 편  데이터베이스의 발전 동향
제12장  분산 데이터베이스
12.1 분산 데이터베이스의 발전 배경 417
12.2 분산 데이터베이스의 개념 418
12.3 분산 데이터베이스의 유형 421
12.4 분산 데이터베이스의 장단점 422
12.4.1 분산 데이터베이스의 장점 423
12.4.2 분산 데이터베이스의 단점 424
12.5 분산 데이터베이스의 설계 425
12.5.1 복제 425
12.5.2 수평 분할 426
12.5.3 수직 분할 427
12.5.4 분산 설계 전략 428
12.6 분산 데이터베이스 관리시스템 430
12.6.1 위치 무관성 430
12.6.2 복제 무관성 431
12.6.3 병행 무관성 432
12.6.4 실패 무관성 434
12.7 분산 데이터베이스에서의 질의 처리 436
12.8 CAP 법칙 440
12.9 요약 441

제13장  비즈니스 인텔리전스와 데이터 웨어하우스
13.1 비즈니스 인텔리전스 445
13.2 정보시스템의 유형과 데이터의 성격 447
13.2.1 트랜잭션 데이터와 의사결정 지원 데이터 447
13.2.2 의사결정 지원을 위한 데이터베이스 요구사항 450
13.3 데이터 웨어하우스의 개념 452
13.3.1 데이터 웨어하우스의 정의 453
13.3.2 데이터 웨어하우스의 구조 454
13.3.3 데이터의 추출, 변환, 적재 457
13.4 데이터 웨어하우스와 온라인 분석처리 460
13.4.1 온라인 분석처리의 기능 460
13.4.2 온라인 분석처리의 유형 464
13.5 관계형 모델을 통한 데이터 웨어하우스의 설계 468
13.5.1 성형 스키마 469
13.5.2 다중 사실 테이블 472
13.5.3 눈송이 스키마 473
13.6 다차원 데이터를 위한 SQL 475
13.6.1 CUBE 명령어 475
13.6.2 ROLLUP 명령어 477
13.6.3 GROUPING SETS 명령어 479
13.7 데이터 웨어하우스의 효과와 문제점 480
13.8 데이터 마이닝 482
13.8.1 데이터 마이닝의 개념 483
13.8.2 데이터 마이닝의 유형 483
13.8.3 데이터 마이닝의 단계 485
13.9 요약 486

제14장  빅 데이터와 NoSQL
14.1 빅 데이터 491
14.2 빅 데이터 분석을 위한 데이터베이스 493
14.2.1 Hadoop 493
14.2.2 NoSQL 494
14.2.3 NewSQL 499
14.2.4 데이터 모델의 선택 500
14.3 MongoDB 502
14.3.1 MongoDB 데이터 모델 503
14.3.2 MongoDB 질의어 507
14.3.3 MongoDB 데이터 모델링 541
14.4 요약 545
부록: MongoDB 사용법 549


부 록
부록 A  CASE 도구를 사용한 명문가구 사례
A.1 데이터 모델링을 위한 CASE 도구 566
A.2 Erwin의 시작 568
A.3 논리적 모델링 570
A.3.1 개체 집합 571
A.3.2 1:1 또는 1:다의 관계성 집합 572
A.3.3 다:다의 관계성 집합 576
A.3.4 일원 관계성 집합과 삼원 관계성 집합 580
A.3.5 일반화/상세화 관계성 집합 581
A.3.6 명문가구의 논리적 모델링 584
A.4 물리적 모델링 586
A.5 데이터베이스 스키마 생성 587

부록 B  저장 장치와 파일 조직
B.1 이차 저장 장치 601
B.1.1 마그네틱 디스크 장치 602
B.1.2 디스크 장치의 용량 602
B.1.3 디스크 장치의 판독/기록 속도 603
B.1.4 마그네틱 테이프 장치 605
B.2 직접 저장 장치의 레코드 저장 방법 605
B.2.1 물리적 저장 단위: 블록 606
B.2.2 레코드 저장 방법 606
B.3 파일 조직 608
B.3.1 순차 파일 조직 609
B.3.2 색인 순차 파일 조직 609
B.3.3 직접 파일 조직 613

부록 C  객체중심 데이터 모델
C.1 객체중심 데이터 모델의 등장 배경 617
C.1.1 다양한 유형의 데이터 관리의 필요성 증대 618
C.1.2 관계형 데이터 모델의 취약점 619
C.2 객체중심 데이터 모델의 기본 개념 621
C.2.1 객체와 객체 클래스 621
C.2.2 캡슐화 622
C.2.3 메시지 623
C.2.4 유전성 624
C.2.5 식별성 625
C.2.6 영역 626
C.3 객체중심 데이터 모델의 설계 626
C.3.1 객체중심 데이터 모델과 개체-관계성 데이터 모델의 비교 627
C.3.2 객체중심 데이터 모델의 관계성 표현 627
C.4 객체중심 데이터베이스 표준 630
C.4.1 객체 모델 631
C.4.2 객체 정의어(ODL) 634
C.4.3 객체 조작어 643
C.5 객체-관계형 데이터베이스 시스템 646


색 인
색인 649

강의하시는 분들을 위하여 강의지침서가 별도의 CD로 제작되었습니다.

필요하신 분은 강의하시는 학교, 연락가능한 전화번호, 우편물을 받을 주소 등을 적어 pys@pakyoungsa.co.kr 로 메일 보내 주시면 확인 후 보내드리도록 하겠습니다.