간편결제, 신용카드 청구할인
카카오페이 3,000원
(카카오페이 5만원 이상 결제시, 5/1~5/31 기간 중 1회)
우리카드 3천원/7천원/1만 5천원 즉시할인
3만원/5만원/10만원 이상 결제시
삼성카드 6% (21,150원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (21,380원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (15,750원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (18,000원)
(최대할인 4만원 / 2만원 이상 결제)
Close

리팩토링 데이터베이스 : 진화적 데이터베이스 디자인

원제 : REFACTORING DATABASES
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 35
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

25,000원

  • 22,500 (10%할인)

    1,250P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(16)

  • 사은품(3)

출판사 서평

2007년 졸트 Productivity 상 수상

'리팩토링 데이터베이스(Refactoring Database)'는 데이터베이스 개발에 대한 새로운 장을 여는 책이다. 마틴 파울러(Martin Folwer)가 자신의 책 '리팩토링'에서 소개한 "작은 단계를 통해 코드를 점진적으로 발전시켜 그 디자인을 개선시키는" 리팩토링은 오늘날 대 부분의 개발자들에 의해서 코드의 품질을 높이기 위해 사용되고 있다. 스캇 엠블러(Scott W.Ambler)와 프라모드 세달라지(Pramod J.Sadalage)는 코드 리팩토링이 보여준 기민한 수행방법론을 데이터베이스 세계로 들여왔다. 데이터베이스 리팩토링은 코드 리팩토링이 가져다준 것과 동일하게, 변화에 대한 거부감과 실패할지 모른다는 두려움에 대해 용기와 성공의 가능성을 독자의 지성에 강하게 호소하고 있다.

이 책은 데이터베이스를 개발하고, 개선할 때 어떻게 애자일한 수행방법을 적용할지에 대해 실용적이고 상세한 예제를 통해 알려준다. 이러한 포괄적인 가이드와 레퍼런스는 데이터베이스 리팩토링의 기초를 이루는 모든 기본적인 개념을 포함함으로써, 실세계의 데이터베이스를 리팩토링하기 위한 실무적인 장애물을 극복할 수 있도록 도와준다. 철두철미한 예제를 이용하여 저자는 독자들을 간단한 독립형(standalone) 데이터베이스 애플리케이션뿐만 아니라 정교한 다중 애플리케이션 상황에서도 리팩토링을 할 수 있도록 이끌어 준다. 이 책을 통해 데이터베이스 스키마 리팩토링에 관련된 모든 작업에 숙달할 수 있으며, 아무리 복잡한 프로덕션 환경일지라도 리팩토링을 배포하는 최고의 방법을 발견할 수 있다.

이 책의 후반부에는 데이터베이스 리팩토링의 주요 네 가지 카테고리를 시스템적으로 다룬다. 리팩토링을 이용하여 데이터베이스 구조, 데이터 품질, 참조무결성을 어떻게 향상시키고 아키텍쳐와 메서드를 어떻게 리팩토링할 수 있는지 배우게 된다. 이 책은 C#, C++, VB.NET와 같은 다른 프로그래밍 언어와 DB2, SQL Server, MySQL, Sybase와 같은 다른 데이터베이스에서도 쉽게 수용할 수 있는 Oracle과 Java로 짜여진 광범위한 예제를 제공한다. 이 책의 기술과 예제를 이용하여 시간적 낭비, 재작업, 위험성, 비용을 줄일 수 있으며 차츰 발전할 수 있는 데이터베이스 시스템을 만들 수 있다.


[이 책은 누구를 위한 책인가?]

이 책은 데이터 모델러와 관리자뿐만 아니라 개발자, 그리고 애자일 데이터베이스 개발에 관심이 있는 모든 사람이 꼭 읽어야 할 책이다. 우리는 너무나 오랫동안 서로 다른 세계에 살았고 이 책은 그 분리된 틈새를 메꾸는 데 많은 도움을 준다.


[이 책이 다루는 내용]

이 책은 기술적으로 데이터베이스 개발에 진화적 수행방법론이라 할 수 있는 리팩토링이 어떻게 적용될 수 있는지에 대한 실제적이고, 실용적인 프로세스와 수행기법을 다룬다. 주로 다루는 내용은 다음과 같다.

- 진화적 데이터베이스 개발
- 데이터베이스 리팩토링
- 데이터베이스 회귀 테스트
- 데이터베이스 변화관리와 배포
- 데이터베이스 리팩토링 프로세스
- 구조적 데이터베이스 리팩토링
- 데이터 품질 리팩토링
- 참조무결성 리팩토링
- 아키텍처적 리팩토링
- 메서드 리팩토링
- 데이터베이스 변환

목차

1장 진화적 데이터베이스 개발

1.1 데이터베이스 리팩토링
1.2 진화적 데이터 모델링
1.3 데이터베이스 회귀 테스트
1.4 데이터베이스 아티팩트 형상관리
1.5 개발자 샌드박스
1.6 진화적 데이터베이스 개발 기술의 장애물
1.7 무엇을 배웠나

2장 데이터베이스 리팩토링

2.1 코드 리팩토링
2.2 데이터베이스 리팩토링
2.2.1 단일 애플리케이션 데이터베이스 환경
2.2.2 다중 애플리케이션 데이터베이스 환경
2.2.3 의미 유지
2.3 데이터베이스 리팩토링의 분류
2.4 데이터베이스 냄새
2.5 어떻게 데이터베이스 리팩토링을 적합하게 할 것인가
2.6 데이터베이스 스키마를 보다 쉽게 리팩토링하기
2.7 무엇을 배웠나

3장 데이터베이스 리팩토링 프로세스

3.1 데이터베이스 리팩토링이 적절한지 검증한다
3.2 가장 적절한 데이터베이스 리팩토링을 선택한다.
3.3 원본 데이터베이스 스키마는 더 이상 지원되지 않음을 표시한다.
3.4 리팩토링 전, 후는 물론 리팩토링 도중에도 테스트를 한다
3.4.1 데이터베이스 스키마 테스트하기.
3.4.2 데이터 마이그레이션 검증하기.
3.4.3 외부 액세스 프로그램 테스트하기
3.5 데이터베이스 스키마를 변경한다
3.6 소스 데이터 마이그레이션(Migration)
3.7 외부 액세스 프로그램을 리팩토링한다
3.8 회귀 테스트를 실행한다
3.9 작업한 내용에 대해 버전 관리를 한다.
3.10 리팩토링이 끝났음을 알린다.
3.11 무엇을 배웠나

4장 프로덕션으로 배포하기

4.1 샌드박스 사이의 효과적인 배포
4.2 데이터베이스 리팩토링의 번들화
4.3 배포 윈도우 스케줄링
4.4 시스템 배포
4.5 더 이상 지원되지 않는 스키마 제거
4.6 무엇을 배웠나

5장 데이터베이스 리팩토링 전략

5.1 작은 변경사항이 적용하기 더 쉽다
5.2 개개의 리팩토링은 유일하게 식별되어야 한다
5.3 여러 개의 작은 변경으로 큰 변화를 구현한다
5.4 데이터베이스 설정 테이블을 유지한다
5.5 뷰나 배치 작업보다 트리거를 통한 동기화를 사용한다
5.6 충분한 과도기를 가진다
5.7 데이터베이스 '변경 관리 위원회' 전략을 단순화한다
5.8 다른 팀과의 협의 과정을 단순화한다
5.9 데이터베이스 접근을 캡슐화한다
5.10 데이터베이스 환경설정을 쉽게 할 수 있도록 한다
5.11 SQL 문장의 중복을 피한다
5.12 데이터베이스 자산을 형상관리 시스템하에 둔다
5.13 정치를 숙지한다
5.14 무엇을 배웠나
온라인 리소스

6장 구조적 리팩토링

구조적 리팩토링 구현의 일반적인 고려사항
컬럼 제거(Drop Column)
테이블 제거(Drop Table)
뷰 제거(Drop View)
계산된 컬럼 도입(Introduce Calculated Column)
대리 키 도입(Introduce Surrogate Key)
컬럼 병합 (Merge Columns)
테이블 병합(Merge Tables)
컬럼 옮기기(Move Column)
컬럼명 바꾸기(Rename Column)
테이블명 바꾸기(Rename Table)
뷰 이름 바꾸기(Rename View)
LOB 형식을 테이블로 대체(Replace Large Object (LOB) With Table)
컬럼 바꾸기(Replace Column)
일대다 관계를 연관 테이블로 바꾸기(Replace One-to-Many With Associative Table)
대리키를 자연키로 바꾸기(Replace Surrogate Key With Natural Key)
컬럼 분할(Split Column)
테이블 분할(Split Table)

7장 데이터 품질 리팩토링

데이터 품질 리팩토링 구현시 일반적인 문제
룩업 테이블 추가(Add Lookup Table)
표준 코드 적용(Apply Standard Codes)
표준 타입 적용(Apply Standard Type)
키 통합 전략(Consolidate Key Strategy)
컬럼 제약조건 제거(Drop Column Constraint)
기본값 제거(Drop Default Value)
NULL 값을 허용하지 않는 제약조건 제거(Drop Non-Nullable Constraint)
컬럼 제약 조건 도입(Introduce Column Constraint)
일반 형식 도입(Introduce Common Format)
기본 값 도입(Introduce Default Value)
NULL 값을 허용하지 않는 컬럼 만들기(Make Column Non-Nullable)
데이터 옮기기(Move Data)
형식 코드의 속성 플래그화(Replace Type Code With Property Flags)

8장 참조무결성 리팩토링

외래키 제약조건 추가(Add Foreign Key Constraint)
계산된 컬럼을 위한 트리거 추가(Add Trigger For Calculated Column)
외래키 제약조건 삭제(Drop Foreign Key Constraint)
캐스캐이딩 삭제(Cascading Delete)
물리적 삭제(Hard Delete)
논리적 삭제(Soft Delete)
이력 데이터를 위한 트리거(Trigger For History)

9장 아키텍처적 리팩토링

CRUD 메서드 추가(Add Crud Method)
미러 테이블 추가(Add Mirror Table)
읽기 메서드 추가(Add Read Method)
뷰를 이용한 테이블 캡슐화(Encapsulate Table With View)
계산된 메서드 도입(Introduce Calculation Method)
인덱스 도입(Introduce Index)
읽기 전용 테이블 도입(Introduce Read-Only Table)
데이터베이스에서 마이그레이션 하는 메서드(Migrate Method From Database)
데이터베이스로 마이그레이션하는 메서드 (Migrate Method To Database)
뷰로 메서드 대체(Replace Method(s) With View)
메서드로 뷰 대체(Replace View With Method(s))
공식 데이터 소스 사용하기(Use Official Data Source)

10장 메서드 리팩토링

10.1 인터페이스 변경 리팩토링
10.1.1 매개변수 도입(Add Parameter)
10.1.2 메서드 매개변수화(Parameterize Method)
10.1.3 매개변수 제거(Remove Parameter)
10.1.4 메서드 이름변경(Rename Method)
10.1.5 매개변수 순서 변경(Reorder Parameters)
10.1.6 매개변수를 명시적 메서드로 바꾸기(Replace Parameter with Explicit Methods)
10.2 내부적인 리팩토링(Internal Refactorings)
10.2.1 조건식 통합(Consolidate Conditional Expression)
10.2.2 조건절의 분해(Decompose Conditional)
10.2.3 메서드 추출(Extract Method)
10.2.4 변수 도입(Introduce Variable)
10.2.5 제어 플래그 제거(Remove Control Flag)
10.2.6 중개자 제거(Remove Middle Man)
10.2.7 매개변수 이름 변경(Rename Parameter)
10.2.8 리터럴을 참조 테이블로 대체(Replace Literal with Table Lookup)
10.2.9 중첩된 조건절을 단위별 조건절로 대체(Replace Nested Conditional with Guard Clauses)
10.2.10 임시 변수 분리(Split Temporary Variable)
10.2.11 알고리즘 대체(Substitute Algorithm)

11장 변환

데이터 추가(Insert Data)
새로운 칼럼 도입(Introduce New Column)
새로운 테이블 도입(Introduce New Table)
뷰 추가(Add View)
데이터 변경(Update Data)


부록 데이터 모델링을 위한 UML 표시법
용어 정리
참고 & 추천 도서
찾아 보기

본문중에서

리팩토링(마틴 파울러 1999)은 소스코드를 조금씩 변경하는 것으로 그 디자인을 개선하고 그렇게 함으로써 기존보다 쉽게 작업할 수 있도록 하는 훈련된 방법이다. 리팩토링의 핵심적인 관점은 소스코드의 행위적 의미를 유지하는 것이다 -리팩토링 시 소스코드의 어떠한 추가나 삭제도 없다. 다만 그 질을 향상시킨다. 리팩토링 예는 getPersons() 오퍼레이션을 getPeople()로 이름을 변경하는 것이다. 이런 리팩토링을 구현하려면 오퍼레이션의 정의를 수정하고 나서, 애플리케이션 코드 전체에 걸쳐 이 오퍼레이션의 모든 호출을 변경하여야 한다. 리팩토링은 코드가 수정 전처럼 아무 문제 없이 다시 실행될 때까지는 끝난 것이 아니다.

이와 비슷하게, 데이터베이스 리팩토링은 데이터베이스 스키마를 간단히 변경하여 그 디자인을 개선하되, 그것의 행위와 정보의 의미는 모두 원래대로 유지하는 것이다. 테이블과 뷰 정의 같은 데이터베이스 스키마의 구조적 관점이나, 저장 프로시저와 트리거 같은 함수적 관점 중 하나를 리팩토링할 수 있다. 데이터베이스 스키마를 리팩토링할 때는 스키마자체를 뜯어 고쳐야 할 뿐만 아니라, 해당 스키마에 종속성을 가진(커플링된) 비지니스 애플리케이션이나 데이터 추출 같은 애플리케이션 또한 재작성되어야 한다. 데이터베이스 리팩토링은 코드 리팩토링보다 그 구현이 훨씬 더 어렵기에 매우 신중해야 한다. 데이터베이스 리팩토링은 2장에서 자세하게 설명하며, 3장에서는 데이터베이스 리팩토링을 수행하는 프로세스에 대해 설명한다.

저자소개

스캇 W. 엠블러(Scott W. Ambler) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

세계적 선도 업체중의 하나인 소프트웨어 프로세스 임프루브먼트 (software process improvement)사의 컨설턴트로, 애자일 모델링(Agile Modeling), 애자일 데이터(Agile Data), 엔터프라이즈 통합 프로세스(Enterprise Unified Process), 애자일 통합 프로세스(Agile Unified Process)의 설립자이다. 스캇 엠블러는 Software Development, JavaOne, OOPSLA, DAMA와 같은 컨퍼런스에서 기조 연설과 프리젠테이션을 했다. 그는 애자일 모델링, 애자일 데이터베이스 테크닉(Agile Database Techniques), 오브젝트 프리머(The Object Primer) 3판, The Elements of UML 2.0

펼쳐보기
프라모드 J. 세달라지(Pramod J. Sadalage) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

ThoughtWorks에서 컨설턴트로 일하고 있으며 1999년부터 익스트림 프로그래밍(Extreme Programming)을 이용하여 대규모의 J2EE 응용 프로그램을 개발하고 있는 진화적 데이터베이스 디자인과 데이터베이스 리팩토링의 선구자이다. 프라모드는 현재 진화적 프로젝트에서의 데이터베이스 관리, 데이터베이스 디자인과 관리에서 진화적 프로세스에 관한 책을 쓰고 강연을 하고 있다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

(주)필라넷 상무이사, SQL Server Academy 본부장,
http://blog.naver.com/wonhyukc

약 2년 전 꿈의 조직, 필라넷(www.feelanet.com) DB사업부를 만들었으며, SQL Server Academy(www.sqlacademy.com)를 맡고 있다. 한국 내 SQL Server 전문가 그룹인 SQL Specialist 의 창립자이며 리더이다. 컨설팅 고객사로는 Yes24, 홍진크라운, 부동산114, 삼성반도체, AIG, 동양증권, KT 등이 있다.
쉬고플 때 쉬면서 일할 수 있는, 행복할 수 있는 직장을 만들 꿈을 꾸며 살고 있고, 어디든 도움이 될 곳이 있다면 달려갈 준비를 한발씩 해나가고 있다. 아직도 여전히 하고 싶은

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

(주)필라넷 책임 컨설턴트
(주)필라넷에서 Microsoft SQL Server와 관련 개발 부분의 컨설팅을 하고 있으며,
컨설팅 고객사로는 삼성생명, 동양증권, 부산은행, ING생명, 삼성전기, 조선일보, NHN, 호남석유 등이 있다.
다년간 금융권/제조업 관련 시스템 설계 및 개발을 해왔으며, 현재 데이터베이스 성능 튜닝뿐만 아니라 애플리케이션 성능 관리와 오픈소스 분야에 관심이 많다.
첫 돌을 맞은 한 아이를 둔 가장으로 그 아이의 이름처럼 하나님의 평안을 바라며 살고자 노력하고 있다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

(주)필라넷 주임 컨설턴트
(주)필라넷에서 Microsoft SQL Server 관련 컨설팅(BI 및 Analysis Service 분야를 담당)을 하고 있으며 컨설팅 업무와 병행하여 트라이콤 교육센터, 삼성멀티캠퍼스 등에서 SQL Server 과정 전문강사와 SQLMania.net 운영자로 활동하고 있다. 과거 학사 관련 시스템 개발과 주요 메이저 음반사 시스템 개발을 주로 담당했다.
지금은 데이터베이스에 많은 비전을 가지고 필라넷에 입사하였고, 최근 컨설팅 고객사로는 한국투자증권, 부동산114, YES24 등이 있다. 관심분야로는 데이터베이스 마케팅, 경영정보 시스템, BI이다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

(주)필라넷 책임 컨설턴트
(주)필라넷에서 Microsoft SQL Server 관련 컨설팅을 하고 있으며, 최근 컨설팅 고객사로는 YES24, AIG, 미래에셋생명, 부동산 114, CyberMBA, 삼성반도체 등이 있다.
한국 내 SQL Server 전문가 그룹인 SQL Specialist와 .NET Advisor SQL 그룹의 멤버로 활동하고 있으며, MSDN, TechNET 아티클에 대한 번역과 SQL Server 관련 도서의 번역 프로젝트에 참여하고 있다.
관심분야는 Tuning과 ERP 컨설팅 부분이며, 주경야경을 불사하는 바쁜 일정 중에서도 주일과 수요일에는 교회에 나가야 하는 평범한 크리스챤이다.

이 상품의 시리즈

(총 20권 / 현재구매 가능도서 16권)

펼쳐보기

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    9.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용