실세계 시스템 기반의 데이터베이스 설계

실세계 시스템 기반의 데이터베이스 설계

$34.61
Description
본서는 DB 설계 내용과 트랜잭션 처리 내용을 중심으로 구성된다. 우선, DB 설계 내용은 이론만 소개하는 것이 아니라 실제 적용하는 것까지 연계하는 과정을 소개하여 다른 관련 저서와 차별화를 이뤘다. 이를 위해 시스템 조건들을 소개하고 DB화를 꾀하고자 하는 대상 실세계를 시스템 관점에서 단계 0(실세계 정의)부터 단계 7(제약사항 식별 및 표현)에 이르는 개념적 설계 세부 단계들을 새롭게 소개하며, 각 단계에서 적용할 시스템 조건과 도출해야 할 산출 요소들과 그 방법을 소개한다. 단계 7까지의 산출물을 중심으로 논리적 설계인 단계 8과 9에서는 다른 저서들에서 일부만 간단히 다루는 릴레이션 변환 대상과 규칙들을 모두 상세히 소개하고 각 규칙에서 그 적용 조건, 적용 대상, 변환 방법, 기본 키 설정, 참조무결성 도출 방법을 명확히 소개하며 마지막으로 정규화 적용을 소개한다. 그 후, 강의 시스템 실세계를 대상으로 모든 단계별 작업을 순차적으로 적용하는 내용 소개로 DB 설계 이론이 실제 적용으로 연계되는 과정을 보여준다.
트랜잭션 내용에서도 개념 소개는 물론 실제 적용에 필요한 알고리즘을 제시하고 적용 예를 들어 절차적으로 상세히 설명함으로써, 개념을 너머서 적용까지의 차원에서 다른 저서들과의 차별화를 이뤘다. 트랜잭션의 성질이 보장되지 않을 때 야기되는 문제점을 예를 들어 상세히 소개하고, 복구 시스템과 트랜잭션 동시성 제어 소개에서도 각 개념과 종류와 방법 소개만이 아닌 명확한 절차적 알고리즘을 제시하여 적용 예를 통해 상세히 설명함으로써 실제 적용 차원으로까지 연계하는 차별적인 내용을 소개한다
저자

김창화

저자:김창화
[학력]
1987.03~1990.02고려대학교일반대학원(전산학전공)박사
1985.03~1987.02고려대학교일반대학원(전산학전공)석사
1980.03~1985.02고려대학교수학교육과학사
[경력]
1989.03~2024.07현재국립강릉원주대학교컴퓨터공학과교수
2002.09~2004.2TexasA&MUniversity객원교수
1994.09~1995.08TorontoUniversityPost-Doc.겸객원교수(EIL:EnterpriseIntegrationLab.)
2014.03~2024.07현재한국정보통신기술협회특수통신프로젝트그룹(PG903)의장
2016.03~2024.07현재국립전파연구원JTC1SC41(사물인터넷및디지털트윈)전문위원회전문위원
2016~2024현재국제표준ISO/IECJTC1SC41(IoTandDigitalTwin)국가대표단
[주요저서]
데이터베이스시스템(편역),김창화외6인,미래컴,2004
소프트웨어공학(공저),김창화외1인(공저),한국방송통신대학교출판부,1993

목차

CHAPTER1실세계와시스템그리고데이터베이스
1.1시스템과실세계
1.1.1시스템(system)이란?
1.1.2실세계(realworld)란?
1.2데이터베이스시스템특성
1.2.1파일처리시스템과문제점
1.2.2데이터베이스시스템의특성
1.3데이터베이스추상레벨과데이터독립성
1.3.1데이터추상화(dataabstraction)
1.3.2데이터추상화의예
1.3.3추상화레벨간의연계
1.3.4데이터독립성(dataindependence)
1.4데이터베이스시스템구성
1.4.1데이터베이스관리시스템
1.4.2데이터언어
1.4.3응용프로그램
1.4.4사용자
1.4.5데이터베이스관리자
1.4.6데이터베이스시스템의클라이언트-서버모델구조
1.5데이터베이스시스템기술의발전과정
1.5.11950년대의데이터베이스기술발전
1.5.21960년대의데이터베이스기술발전
1.5.31970년대의데이터베이스기술발전
1.5.41980년대의데이터베이스기술발전
1.5.51990년대의데이터베이스기술발전
1.5.62000년대의데이터베이스기술발전
1.5.72010년대의데이터베이스기술발전
1.5.82020년대초반의데이터베이스기술발전

CHAPTER2실세계시스템중심의데이터베이스설계프로세스
2.1실세계시스템기반의데이터베이스설계개념
2.2데이터베이스를잘설계해야하는이유
2.3데이터베이스설계의종류와데이터모델
2.3.1개념적설계
2.3.2논리적설계
2.3.3물리적설계
2.4실세계시스템기반의데이터베이스설계절차

CHAPTER3실세계시스템기반의개념적설계와ER모델
3.1개념적설계의개념요소
3.1.1개체와속성그리고키(key)
3.1.2관계와약한개체
3.1.3ISA관계와상속성
3.1.4종합화(aggregation)
3.1.5대응카디널리티
3.2ER모델
3.2.1P.Chen표기법의개념요소
3.2.2IE(Crow’sfoot)표기법의개념요소
3.2.3기타ER모델개념요소들
3.2.4강의시스템실세계ERD에대한시스템적분석예
3.3ER모델을이용한시스템기반의개념적설계절차와방법

CHAPTER4논리적설계와관계형데이터모델
4.1논리적데이터모델
4.1.1논리적데이터모델개념
4.1.2논리적데이터모델링(논리적데이터설계)을하는이유
4.1.3관계형데이터모델과객체지향데이터모델
4.2관계형데이터모델
4.2.1관계형데이터베이스기본구조와개념
4.2.2데이터베이스스키마와릴레이션스키마
4.2.3릴레이션의키
4.2.4SQL을이용한릴레이션생성예
4.3질의어와종류
4.3.1질의어(querylanguage)란?
4.3.2절차적언어와선언적언어
4.3.3순수질의어와상용질의어
4.4데이터무결성과무결성제약조건
4.4.1데이터무결성과무결성손상
4.4.2도메인,NOTNULL그리고유일성제약조건
4.4.3참조무결성제약조건
4.5대응카디널리티와무결성제약조건
4.6논리적설계접근방법

CHAPTER5관계형데이터언어:관계대수
5.1기본연산
5.1.1select연산
5.1.2project연산
5.1.3union연산
5.1.4setdifference연산
5.1.5cartesian-product연산
5.1.6rename연산
5.2추가연산
5.2.1set-intersection연산
5.2.2natural-join연산
5.2.3theta-join연산
5.2.4division연산
5.2.5assign연산

CHAPTER6관계형데이터언어:SQL
6.1데이터정의어(DDL:DataDefinitionLanguage)
6.1.1릴레이션연산
6.1.2뷰연산
6.2데이터조작어(DML:DataManipulationLanguage)
6.2.1SELECT연산
6.2.2INSERT연산
6.2.3UPDATE연산
6.2.4DELETE연산
6.3데이터제어어(DCL:DataControlLanguage)
6.3.1GRANT연산
6.3.2REVOKE연산
6.4트랜잭션제어어(TCL:TransactionControlLanguage)
6.5뷰(view)와연산
6.5.1CREATEVIEW연산
6.5.2DROPVIEW연산
6.5.3뷰사용의장점

CHAPTER7데이터이상과정규화
7.1데이터이상(dataanomaly)
7.1.1삽입이상(insertionanomaly)
7.1.2삭제이상(deletionanomaly)
7.1.3갱신이상(updateanomaly)
7.1.4데이터이상의원인과데이터정규화(datanormalization)
7.2함수적종속성(functionaldependency)
7.2.1함수적종속성개념
7.2.2함수적종속성표기와식별
7.2.3함수적종속성의성질과역할
7.3정규형과릴레이션스키마분해
7.3.1정규형(normalform)
7.3.2릴레이션스키마분해와분해조건
7.4정규화(normalization)
7.4.1제1정규형(TheFirstNormalForm:1stNF,1NF)과정규화
7.4.2제2정규형(TheSecondNormalForm:2ndNF,2NF)과정규화
7.4.3제3정규형(TheThirdNormalForm:3rdNF,3NF)과정규화
7.4.4Boyce-Codd정규형(Boyce-CoddNormalForm:BCNF)과정규화
7.4.5제4정규형(TheFourthNormalForm:4thNF,4NF)과정규화
7.4.6제5정규형(TheFifthNormalForm:5thNF,5NF)과정규화
7.5정규형간의포함관계

CHAPTER8실세계시스템중심의데이터베이스설계
8.1실세계시스템중심의데이터베이스설계고려사항
8.1.1개념적설계고려사항
8.1.2논리적설계고려사항
8.2관계형데이터베이스설계프로세스
8.2.1실세계정의
8.2.2ER모델을이용한개념적설계
8.2.3관계형데이터베이스의논리적설계
8.3ERD의릴레이션변환
8.3.1강한개체타입의릴레이션변환
8.3.2약한개체타입의릴레이션변환
8.3.3관계타입의릴레이션변환
8.3.4일반화관계의릴레이션변환
8.3.5종합화(aggregation)의릴레이션변환
8.4릴레이션의정규화

CHAPTER9실세계시스템중심의데이터베이스설계와구현예
9.1강의실세계정의
9.2강의시스템의개념적설계
9.3강의시스템의논리적설계
9.3.1개체타입의릴레이션스키마변환
9.3.2관계타입의릴레이션스키마변환
9.3.3강의시스템ERD에서변환된릴레이션들
9.3.4릴레이션에대한정규화
9.4속성타입과참조무결성
9.5관계형데이터베이스구현
9.5.1릴레이션생성
9.5.2제약조건의반영

CHAPTER10트랜잭션개념과성질
10.1데이터베이스접근원리
10.1.1블록과버퍼
10.1.2데이터판독
10.1.3데이터기록
10.1.4블록과버퍼를사용하는이유
10.1.5SQL명령과판독·기록연산
10.2트랜잭션과원자성
10.3트랜잭션의상태
10.4트랜잭션의ACID성질
10.4.1원자성손상의문제점
10.4.2일관성손상의문제점
10.4.3격리성손상의문제점
10.4.4영속성손상의문제점
10.5트랜잭션의격리성수준

CHAPTER11복구시스템
11.1장애(failure)
11.1.1장애의유형과특성
11.1.2기억장치의유형과특성
11.2원자성과복구가능성
11.3로그와복구연산
11.3.1로그와로그레코드
11.3.2UNDO연산과REDO연산
11.3.3동시트랜잭션
11.4로그기반의로깅과복구방법들
11.4.1지연갱신방법
11.4.2즉시갱신방법
11.4.3체크포인트방법
11.4.4체크포인트방법의로깅과복구예
11.5쉐도우카피방법과쉐도우페이징방법

CHAPTER12동시성제어
12.1동시실행환경과동시성제어
12.1.1트랜잭션동시실행환경
12.1.2격리성손상과동시성제어
12.1.3기아상태와교착상태
12.2트랜잭션스케줄과직렬성
12.2.1스케줄(schedule)
12.2.2직렬스케줄(serialschedule)과직렬가능스케줄(serializableschedule)
12.2.3스케줄실행순서의교환
12.2.4충돌(conflict)
12.2.5충돌직렬가능스케줄(conflictserializableschedule)
12.2.6뷰직렬가능스케줄(viewserializableschedule)
12.2.7직렬가능성과충돌직렬가능성을소개한이유
12.3동시성제어스킴:로크기반규약
12.3.12단계로킹규약(2-phaselockingprotocol)
12.3.2그래프기반규약(graphbasedprotocol)
12.4동시성제어스킴:타임스탬프기반규약
12.4.1타임스탬프순서규약(timestamporderingprotocol)
12.4.2토마스기록규칙(Thomas’writerule)
12.4.3검증기반규약(validation-baseprotocol)
12.5트랜잭션의격리성수준
12.5.1격리성과일관성손상
12.5.2격리성수준
12.5.3SQL표준에서격리성수준설정

출판사 서평

본서는DB설계내용과트랜잭션처리내용을중심으로구성된다.우선,DB설계내용은이론만소개하는것이아니라실제적용하는것까지연계하는과정을소개하여다른관련저서와차별화를이뤘다.이를위해시스템조건들을소개하고DB화를꾀하고자하는대상실세계를시스템관점에서단계0(실세계정의)부터단계7(제약사항식별및표현)에이르는개념적설계세부단계들을새롭게소개하며,각단계에서적용할시스템조건과도출해야할산출요소들과그방법을소개한다.단계7까지의산출물을중심으로논리적설계인단계8과9에서는다른저서들에서일부만간단히다루는릴레이션변환대상과규칙들을모두상세히소개하고각규칙에서그적용조건,적용대상,변환방법,기본키설정,참조무결성도출방법을명확히소개하며마지막으로정규화적용을소개한다.그후,강의시스템실세계를대상으로모든단계별작업을순차적으로적용하는내용소개로DB설계이론이실제적용으로연계되는과정을보여준다.
트랜잭션내용에서도개념소개는물론실제적용에필요한알고리즘을제시하고적용예를들어절차적으로상세히설명함으로써,개념을너머서적용까지의차원에서다른저서들과의차별화를이뤘다.트랜잭션의성질이보장되지않을때야기되는문제점을예를들어상세히소개하고,복구시스템과트랜잭션동시성제어소개에서도각개념과종류와방법소개만이아닌명확한절차적알고리즘을제시하여적용예를통해상세히설명함으로써실제적용차원으로까지연계하는차별적인내용을소개한다.