책 소개이 책은 데이타베이스 시스템(Database System)을 설계하고 구현하고 사용하는데 필요한 기본적인 개념을 종합적으로 소개한 것이다. 특히 데이타베이스 관리 시스템(DBMS)이 제공하는 데이타 모델, 데이타 언어, 데이타 관리 기능 그리고 구현 기법에 주안점을 두고 기술하였다. 이 책은 데이타베이스 과목으로 두 학기에 걸쳐 대학의 학부와 대학원 기초 과정에서 사용할 수 있는 내용으로 집필하였다. 이 책을 사용하는 독자는 컴퓨터 프로그래밍과 자료구조에 대한 기초지식을 가지고 있고 컴퓨터 시스템에 대해 기본 개념을 가지고 있는 것으로 가정하였다. 이 책은 크게 기본 편과 고급 편 2부로 나누어 구성하였다. 제1부 기본편에서는 학부 상급 학년에서 공부할 수 있는 내용으로 구성하였다. 데이타베이스 시스템을 기반으로 하고 있는 정보 시스템(Information System)과 데이타베이스(Database) 개념을 설명하였다. 다음에는 데이타베이스 관리 시스템(Database Management System)과 데이타 독립성(Data Independence) 그리고 데이타베이스 시스템을 구성하고 있는 구성요소를 설명하였다. 현재 가장 많이 사용되고 있는 데이타베이스 시스템이 관계 데이타베이스 시스템(Relational Database System)이기 때문에 이것을 이해하고 실습해 보는 것은 학생들에게 아주 중요하다. 따라서 관계 모델과 관계 대수와 관계 해석을 기술하였고, 관계 데이타베이스를 처리할 수 있는 표준 관계 데이타 언어인 SQL을 설명하였다. 데이타베이스로 표현하려는 데이타의 의미는 데이타 종속성(Data dependency)으로 분석해 볼 수 있다. 이 데이타 종속성을 기반으로 한 정규형(Normal Forms)을, 한 장으로 설명하였다. 데이타베이스를 설계하기 위해서는 데이타 모델링(Data Modeling)을 이해하여야 한다. 따라서 데이타 모델의 개념으로 개체 타입, 관계 타입을 설명하고 이들 간의 관계를 개념적으로 표현할 수 있는 개체-관계 모델(Entity-Relationship Model)을 기술하였다. 데이타베이스 설계는 데이타베이스의 구조와 연산, 그리고 제약 조건을 모두 이해한 다음에야 올바른 데이타베이스 설계가 이루어질 수 있다. 여기서는 데이타베이스를 설계할 때 고려사항이나 설계 방법을 이론적으로 이해하는 것이 무엇보다도 중요하다고 판단되어 이 점에 대해 중점적으로 기술하였다. 관계 데이타 모델 이후에 제안되고 개발된 객체지향 데이타베이스 시스템(Object-Oriented Database System)과 객체 관계 데이타베이스 시스템(Object- Relational Database System)도 소개하였다. 특히 인터넷과 웹(Internet and Web) 기술을 바탕으로 활성화 되고 있는 데이타 교환을 위한 XML 데이타베이스(XML Database)에 대해서도 기술하였다. 제2부 고급 편에서는 주로 학부 상급 학년이나 대학원에서 공부할 수 있는 내용으로 구성하였다. 여기에서는 장별 순서는 그리 중요하지 않다. 가르치는 교수의 재량으로 강의 순서를 결정할 수 있도록 독립적 주제가 되도록 하였다. 이 고급 편에서 각 장으로 다루고 있는 주제로는 질의어 처리(Query Processing)와 최적화(Optimization), 트랜잭션 처리(Transaction Processing)를 위한 데이타베이스 회복(Database Recovery), 병행 제어(Concurrency Control), 데이타 무결성과 보안(Data Integrity and Security), 분산 데이타베이스(Distributed Database)와 분산 트랜잭션(Distributed Transaction) 처리, 의사결정 지원 시스템(Decision Support System)을 위한 데이타 웨어하우스와 데이타 마이닝(Data Warehouse and Data Mining), 인터넷 웹 환경 하에서의 전자 상거래(E-Commerce)를 포함하고 있다. 사실 이러한 주제는 각각 얼마나 심도 있게 다루느냐에 따라 강의 시간을 할애할 수 있다. 따라서 이것은 어디까지나 강의하는 교수의 재량에 맡겨질 수밖에 없다. 마지막 장에서는 최신 데이타베이스로 멀티미디어 데이타베이스(Multimedia Database), 모바일 데이타베이스(Mobile Database), 지리 정보 시스템(Geographic Information System)을 포함시켰는데 사실 지금도 발표되고 있는 연구 논문과 개발 결과로 채워져야 할 여백을 많이 두고 있음을 밝혀둔다. 분량이나 내용 면에서 이 책은 한 학기 보다는 두 학기에 걸쳐 강의하기에 적당하다. 강의하는 교수의 편리와 저자의 의도를 전달하는 의미에서 별도의 강의록을 제공하고 있다. 이것은 어디까지나 강의 담당 교수만을 위한 것임을 못 박아 두고자 한다.
|
데이타베이스 시스템 [개정판]
지은이 : 이석호
ISBN : 978-89-353-0445-5
금액 : 36,000원
● 발행날짜 : 2017년 3월 3일
● 페이지 : 664페이지
● 판매처 : 온라인 서점
● 강의자료 제공
책 소개
책 소개
이 책은 데이타베이스 시스템(Database System)을 설계하고 구현하고 사용하는데 필요한 기본적인 개념을 종합적으로 소개한 것이다. 특히 데이타베이스 관리 시스템(DBMS)이 제공하는 데이타 모델, 데이타 언어, 데이타 관리 기능 그리고 구현 기법에 주안점을 두고 기술하였다. 이 책은 데이타베이스 과목으로 두 학기에 걸쳐 대학의 학부와 대학원 기초 과정에서 사용할 수 있는 내용으로 집필하였다. 이 책을 사용하는 독자는 컴퓨터 프로그래밍과 자료구조에 대한 기초지식을 가지고 있고 컴퓨터 시스템에 대해 기본 개념을 가지고 있는 것으로 가정하였다.이 책은 크게 기본 편과 고급 편 2부로 나누어 구성하였다.
제1부 기본편에서는 학부 상급 학년에서 공부할 수 있는 내용으로 구성하였다. 데이타베이스 시스템을 기반으로 하고 있는 정보 시스템(Information System)과 데이타베이스(Database) 개념을 설명하였다. 다음에는 데이타베이스 관리 시스템(Database Management System)과 데이타 독립성(Data Independence) 그리고 데이타베이스 시스템을 구성하고 있는 구성요소를 설명하였다. 현재 가장 많이 사용되고 있는 데이타베이스 시스템이 관계 데이타베이스 시스템(Relational Database System)이기 때문에 이것을 이해하고 실습해 보는 것은 학생들에게 아주 중요하다. 따라서 관계 모델과 관계 대수와 관계 해석을 기술하였고, 관계 데이타베이스를 처리할 수 있는 표준 관계 데이타 언어인 SQL을 설명하였다. 데이타베이스로 표현하려는 데이타의 의미는 데이타 종속성(Data dependency)으로 분석해 볼 수 있다. 이 데이타 종속성을 기반으로 한 정규형(Normal Forms)을, 한 장으로 설명하였다. 데이타베이스를 설계하기 위해서는 데이타 모델링(Data Modeling)을 이해하여야 한다. 따라서 데이타 모델의 개념으로 개체 타입, 관계 타입을 설명하고 이들 간의 관계를 개념적으로 표현할 수 있는 개체-관계 모델(Entity-Relationship Model)을 기술하였다. 데이타베이스 설계는 데이타베이스의 구조와 연산, 그리고 제약 조건을 모두 이해한 다음에야 올바른 데이타베이스 설계가 이루어질 수 있다. 여기서는 데이타베이스를 설계할 때 고려사항이나 설계 방법을 이론적으로 이해하는 것이 무엇보다도 중요하다고 판단되어 이 점에 대해 중점적으로 기술하였다. 관계 데이타 모델 이후에 제안되고 개발된 객체지향 데이타베이스 시스템(Object-Oriented Database System)과 객체 관계 데이타베이스 시스템(Object- Relational Database System)도 소개하였다. 특히 인터넷과 웹(Internet and Web) 기술을 바탕으로 활성화 되고 있는 데이타 교환을 위한 XML 데이타베이스(XML Database)에 대해서도 기술하였다.
제2부 고급 편에서는 주로 학부 상급 학년이나 대학원에서 공부할 수 있는 내용으로 구성하였다. 여기에서는 장별 순서는 그리 중요하지 않다. 가르치는 교수의 재량으로 강의 순서를 결정할 수 있도록 독립적 주제가 되도록 하였다. 이 고급 편에서 각 장으로 다루고 있는 주제로는 질의어 처리(Query Processing)와 최적화(Optimization), 트랜잭션 처리(Transaction Processing)를 위한 데이타베이스 회복(Database Recovery), 병행 제어(Concurrency Control), 데이타 무결성과 보안(Data Integrity and Security), 분산 데이타베이스(Distributed Database)와 분산 트랜잭션(Distributed Transaction) 처리, 의사결정 지원 시스템(Decision Support System)을 위한 데이타 웨어하우스와 데이타 마이닝(Data Warehouse and Data Mining), 인터넷 웹 환경 하에서의 전자 상거래(E-Commerce)를 포함하고 있다. 사실 이러한 주제는 각각 얼마나 심도 있게 다루느냐에 따라 강의 시간을 할애할 수 있다. 따라서 이것은 어디까지나 강의하는 교수의 재량에 맡겨질 수밖에 없다. 마지막 장에서는 최신 데이타베이스로 멀티미디어 데이타베이스(Multimedia Database), 모바일 데이타베이스(Mobile Database), 지리 정보 시스템(Geographic Information System)을 포함시켰는데 사실 지금도 발표되고 있는 연구 논문과 개발 결과로 채워져야 할 여백을 많이 두고 있음을 밝혀둔다. 분량이나 내용 면에서 이 책은 한 학기 보다는 두 학기에 걸쳐 강의하기에 적당하다. 강의하는 교수의 편리와 저자의 의도를 전달하는 의미에서 별도의 강의록을 제공하고 있다. 이것은 어디까지나 강의 담당 교수만을 위한 것임을 못 박아 두고자 한다.
저자소개
목차
제 01 부기본편
CHAPTER 01 데이타베이스 환경
1.1 정보 처리 시스템
1.1.1 정보와 데이타
1.1.2 정보 시스템
1.2 데이타 처리 시스템
1.2.1 일괄 처리 시스템
1.2.2 온라인 처리 시스템
1.2.3 분산 처리 시스템
1.3 데이타베이스의 정의
1.4 데이타베이스의 특성
1.5 데이타베이스의 개념적 구성요소
1.5.1 개체
1.5.2 관계
1.6 데이타베이스의 구조
연습문제 39
CHAPTER 02 데이타베이스 관리 시스템
2.1 데이타베이스 관리 시스템의 발전 배경
2.1.1 데이타 종속성
2.1.2 데이타 중복성
2.2 데이타베이스 관리 시스템의 정의
2.3 데이타베이스 관리 시스템의 필수 기능
2.4 데이타베이스 관리 시스템의 장단점
2.4.1 데이타베이스 관리 시스템의 장점
2.4.2 데이타베이스 관리 시스템의 단점
2.5 데이타 독립성
2.5.1 논리적 데이타 독립성
2.5.2 물리적 데이타 독립성
2.6 데이타베이스 관리 시스템의 역사
연습문제
CHAPTER 03 데이타베이스 시스템의 구성
3.1 3단계 데이타베이스
3.2 DBMS
3.3 데이타 언어
3.3.1 데이타 정의어
3.3.2 데이타 조작어
3.3.3 데이타 제어어
3.4 사용자
3.6 데이타베이스 관리자
3.7 하드웨어
연습문제
CHAPTER 04 관계 데이타베이스
4.1 관게 데이타 모델
4.2 릴레이션의 개념
4.3 릴레이션의 특성
4.4 관계 데이타베이스 개념
4.5 데이타베이스 키
4.5.1 기본키
4.5.2 외래키
4.6 무결성 제약
4.6.1 개체 무결성 제약
4.6.2 참조 무결성 제약
연습문제
CHAPTER 05 관계 대수와 관계 해석
5.1 관계 대수
5.1.1 일반 집합 연산자
5.1.2 순수 관계 연산자
5.1.3 기본 연산과 복합 연산
5.1.4 관계 대수의 확장
5.1.5 관계 대수의 질의문 표현
5.2 관계 해석
5.2.1 투플 관계 해석
5.2.2 투플 관계 해석식의 질의문 표현
5.2.3 도메인 관계 해석
5.2.4 도메인 관계 해석식을 이용한 질의문 표현
5.3 QBE
5.3.1 데이타 검색
5.3.2 데이타의 삽입
5.3.3 데이타의 삭제
5.3.4 데이타의 갱신
연습문제
CHAPTER 06 SQL
6.1 SQL 데이타 정의문
6.1.1 스키마와 카탈로그
6.1.2 도메인 정의문
6.1.3 기본 테이블의 생성
6.1.4 기본 테이블의 제거와 변경
6.2 SQL 데이타 조작문
6.2.1 데이타 검색
6.2.2 데이타의 갱신
6.2.3 데이타의 삽입
6.2.4 데이타의 삭제
6.3 SQL 뷰
6.3.1 뷰의 생성
6.3.2 뷰의 제거
6.3.3 뷰의 조작 연산
6.3.4 뷰의 장단점
6.4 삽입 SQL
6.4.1 응용 프로그램의 특징
6.4.2 커서가 필요 없는 데이타 조작
6.4.3 커서를 이용하는 데이타 조작
6.4.4 다이내믹 SQL
연습문제
CHAPTER 07 데이타 종속성과 정규화
7.1 데이타의 논리적 표현
7.2 함수 종속
7.3 기본 정규형
7.3.1 제1정규형(1NF:First Normal Form)
7.3.2 제2정규형(2NF:Second Normal Form)
7.3.3 제3정규형(3NF:Third Normal Form)
7.3.4 보이스/코드 정규형
7.4 고급 정규형
7.4.1 제4정규형
7.4.2 제5정규형
7.5 정규형 간의 관계
연습문제
CHAPTER 08 데이타 모델링
8.1 데이타의 세계
8.2 데이타 모델의 개념
8.3 개체 타입
8.4 관계 타입
8.4.1 관계 타입과 인스턴스
8.4.2 관계 타입의 유형
8.4.3 관계 타입의 특성
8.5 E-R 모델
8.5.1 E-R 다이어그램
8.4.2 개체 타입과 키 애트리뷰트
8.4.3 약한 개체 타입
8.4.4 E-R 다이어그램 표기법
8.6 논리적 데이타 모델
연습문제
CHAPTER 09 데이타베이스 설계
9.1 데이타베이스 설계 환경
9.1.1 데이타베이스 생명 주기
9.1.2 데이타베이스 설계 단계
9.1.3 데이타베이스 설계 고려 사항
9.2 요구 조건 분석
9.2.1 정보의 내용과 처리 요구조건의 수집
9.2.2 범 기관적 경영 목표와 제약조건의 식별
9.2.3 공식적인 요구조건 명세의 작성
9.2.4 요구조건 명세의 검토
9.3 개념적 설계
9.3.1 개념적 스키마 모델링
9.3.2 트랜잭션 모델링
9.4 논리적 설계
9.4.1 논리적 설계 단계
9.4.2 관계 데이타 모델로의 변환 예
9.5 물리적 설계
9.4.1 저장 레코드의 양식 설계
9.5.2 레코드 집중의 분석 및 설계
9.5.3 접근 경로 설계
9.6 데이타베이스 구현
연습문제
CHAPTER 10 데이타베이스의 저장과 접근
10.1 데이타베이스의 저장
10.2 데이타베이스의 접근
10.2.1 디스크 관리자
10.2.2 화일 관리자
10.3 페이지 세트와 화일
10.4 화일의 조직 방법
10.4.1 순차 방법
10.4.2 인덱스 방법
10.4.3 해싱 방법
연습문제
CHAPTER 11 객체 데이타베이스
11.1 새로운 데이타베이스 응용
11.2 객체 데이타 모델
11.2.1 객체와 객체 식별자
11.2.2 애트리뷰트와 메소드
11.2.3 클래스
11.2.4 클래스 계층과 상속
11.2.5 복합 객체
11.3 ODMG의 ODBMS
11.3.1 ODMG 객체 모델과 ODL
11.3.2 OQL
연습문제
CHAPTER 12 객체-관계 데이타베이스
12.1 객체-관계 데이타베이스의 배경
12.2 객체-관계 데이타베이스와 SQL
12.3 SQL:1999/2003의 관계적 특징
12.3.1 새로운 데이타 타입
12.3.2 새로운 조건식
12.4 SQL:1999/2003의 객체 지향적 특징
12.4.1 사용자 정의 타입
12.4.2 테이블 정의
12.4.3 참조 애트리뷰트
12.4.4 참조 타입
12.4.5 테이블 상속
12.4.6 집단 타입
12.5 ODBMS와 ORDBMS
12.5.1 ODBMS와 ORDBMS의 유사점
12.5.2 ODBMS와 ORDBMS의 차이점
연습문제
CHAPTER 13 XML과 데이타베이스
13.1 반구조화 데이타
13.2 XML 데이타 모델
13.3 DTD와 XML 스키마
13.3.1 XML DTD
13.3.2 XML 스키마
13.4 XML 문서와 데이타베이스
13.4.1 XML 문서의 저장 방법
13.4.2 관계 데이타베이스로부터 XML 문서의 추출
13.5 XML 데이타 처리
13.5.1 XPath
13.5.2 XQuery
13.5.3 XSLT
13.5.4 SQL/XML
연습문제
제 02 부
고급편
CHAPTER 14 질의어 처리
14.1 질의어 처리 단계
14.2 질의어 최적화
14.2.1 질의문의 내부 표현
14.2.2 효율적 내부 형태로 변환
14.2.3 후보 프로시저 선정
14.2.4 질의문 계획의 평가 및 결정
14.3 내부 형태 변환 규칙
14.4 질의문 분해
14.5 관계 대수 연산자의 구현
14.5.1 실렉트 연산의 구현
14.5.2 조인 연산의 구현
14.5.3 프로젝트 연산의 구현
14.6 비용 함수
14.7 의미적 질의어 최적화
연습문제
CHAPTER 15 회복
15.1 장애와 회복
15.2 데이타베이스 저장 연산
15.3 트랜잭션
15.3.1 트랜잭션의 특성
15.3.2 트랜잭션 상태
15.4 로그 이용 회복
15.4.1 데이타베이스 로그
15.4.2 지연 갱신의 회복
15.4.3 즉시 갱신의 회복
15.5 검사시점 회복
15.6 그림자 페이징 기법
15.7 미디어 회복
15.8 회복 기법의 구현
15.8.1 로그 레코드 버퍼링
15.8.2 데이타베이스 버퍼링
15.9 다중 데이타베이스 트랜잭션의 회복
연습문제
CHAPTER 16 병행 제어
16.1 복수 사용자 DBMS
16.2 무제어 동시 공용의 문제점
16.3 트랜잭션 스케줄
16.3.1 직렬 가능 스케줄
16.3.2 스케줄 동등과 직렬 가능 스케줄
16.3.3 스케줄의 직렬 가능성 검사
16.3.4 직렬 가능성 이용
16.4 로킹 기법
16.4.1 Lock의 성질과 타입
16.4.2 2단계 로킹 규약
16.5 교착상태
16.6 로킹 단위
16.7 타임스탬프 순서 기법
16.7.1 타임스탬프 순서 규약
16.7.2 토마스의 기록 규칙
16.8 다중 버전 병행 제어
16.9 낙관적 병행 제어
16.10 팬텀 충돌
16.11 삽입/삭제 연산과 병행 제어
연습문제
CHAPTER 17 무결성과 보안
17.1 무결성 서브시스템
17.2 무결성 규정
17.2.1 개념
17.2.2 무결성 규정의 유형
17.3 무결성 규정의 명세
17.3.1 트리거
17.3.2 SQL에서의 무결성 규정
17.4 보안의 개념
17.5 데이타베이스 보안의 구현
17.5.1 데이타베이스 접근 제어
17.5.2 데이타베이스 접근 제어 모델
17.5.3 신분증과 인증
17.5.4 보안 서브시스템
17.6 권한 부여 명세 기법
17.6.1 뷰 기법
17.6.2 GRANT/REVOKE 기법
17.6.3 필수 접근 제어
17.7 통계 데이타베이스
17.8 데이타 암호화
17.8.1 암호화 시스템
17.8.2 암호화 기법
17.8.3 DES
17.8.4 공개키 암호화 기법
연습문제
CHAPTER 18 분산 데이타베이스
18.1 분산 데이타베이스 시스템의 개념
18.1.1 분산 데이타베이스 시스템의 정의
18.1.2 분산 데이타베이스 시스템의 목표
18.1.3 분산 데이타베이스 시스템의 장단점
18.1.4 네트워크 유형
18.2 분산 데이타베이스의 구조
18.2.1 참조 구조
18.2.2 클라이언트-서버 구조
18.2.3 데이타 단편화
18.3 분산 질의어 처리
18.3.1 중복과 단편에 대한 질의어 처리
18.3.2 단순 조인 처리
18.3.3 병렬 조인
18.3.4 세미조인 전략
18.4 분산 트랜잭션
18.4.1 분산 트랜잭션 시스템 모델
18.4.2 분산 시스템 장애
18.5 완료 규약
18.5.1 2-단계 완료 규약
18.5.2 장애 처리
18.6 조정자 선출
18.6.1 예비 조정자
18.6.2 새로운 조정자 선출 알고리즘
18.7 분산 병행 제어
18.7.1 로킹 기법
18.7.2 타임스탬프 기법
18.8 분산 교착상태 관리
18.9 카달로그 관리
18.9.1 카탈로그의 내용
18.9.2 카탈로그의 분산
연습문제
CHAPTER 19 데이타 웨어하우스와 데이타 마이닝
19.1 의사결정 지원 시스템
19.2 데이타 웨어하우스
19.3 OLAP과 다차원 데이타 모델
19.3.1 사실 테이블과 차원 테이블
19.3.2 스타 스키마
19.4 다차원 집계 질의
19.4.1 집계(aggregation) 연산
19.4.2 ROLLUP과 CUBE 연산자
19.4.3 CUBE 연산자를 이용한 실체화된 뷰
19.5 OLAP의 구현
19.5.1 ROLAP과 MOLAP
19.5.2 OLAP 시스템의 요건
19.5.3 OLAP의 구현 기법
19.6 데이타 마이닝 기법
19.6.1 데이타 마이닝
19.6.2 연관 규칙(association rules)
19.6.3 순차 패턴(sequential patterns)
19.6.4 분류 규칙(classification rules)
19.6.5 기계 학습(machine learning)
연습문제
CHAPTER 20 전자 상거래
20.1 전자 상거래의 개념
20.1.1 전자 상거래의 정의
20.1.2 전자 상거래의 연혁
20.1.3 전자 상거래의 장단점
20.2 전자 상거래의 유형
20.2.1 B2B(Business To Business)
20.2.2 B2C(Business To Consumer)
20.2.3 인트라넷과 엑스트라넷(Intranet and Extranet)
20.3 전자 상거래의 구조
20.3.1 기본 인터넷 서비스
20.3.2 트랜잭션 서비스
20.3.3 전자 상거래 비즈니스 서비스
20.4 전자 상거래의 보안
20.4.1 전자 상거래 온라인 트랜잭션
20.4.2 인증
20.4.3 암호화
20.4.4 트랜잭션 보안
20.4.5 자원 보안
20.5 웹 결제 시스템
20.5.1 디지털 현금(digital cash)
20.5.2 신용카드
20.5.3 전자 지갑
20.6 전자 상거래 데이타베이스 설계
연습문제
CHAPTER 21 최신 데이타베이스
21.1 멀티미디어 데이타베이스
21.1.1 멀티미디어 데이타베이스 개념
21.1.2 멀티미디어 데이타 관리
21.1.3 연속매체 데이타의 검색
21.1.4 이미지?음성 데이타베이스
21.1.5 멀티미디어 데이타베이스 응용
21.2 모바일 데이타베이스
21.2.1 모바일 컴퓨팅 구조
21.2.2 모바일 컴퓨팅의 특성
21.2.3 모바일 질의 처리
21.2.4 데이타 방송
21.2.5 단절성과 일관성
21.2.6 모바일 데이타 관리의 문제점
21.3 지리정보 시스템
21.3.1 지리정보 시스템의 응용
21.3.2 지리정보 시스템의 데이타 관리 요건
21.3.3 지리정보 시스템의 특수 데이타 연산
21.3.4 GIS 데이타베이스 기능
21.3.5 GIS의 연구 과제
연습문제