본문내용 바로가기
MD의선택 무료배송 이벤트 소득공제

리팩토링 데이터베이스

위키북스 데이터 & 데이터베이스 시리즈 1
스캇 W. 엠블러 지음 | 정원혁 옮김 | 위키북스 | 2007년 06월 29일 출간

이 책의 다른 상품 정보

  • 정가 : 25,000원
    판매가 : 22,500 [10%↓ 2,500원 할인]
  • 혜택 :
    [기본적립] 1250원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 도서상태 : 절판

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2022.12.31
상품상세정보
ISBN 9788995856444(8995856440)
쪽수 360쪽
크기 175 * 235 mm 판형알림
이 책의 원서/번역서 Refactoring Databases : Evolutionary Database Design / Scott W. Ambler, Pramodkumar J

책소개

이 책이 속한 분야

JOLT Award Productivity Winner

리팩토링 데이터베이스 활용서. 이 책은 책은 데이터베이스를 개발하고, 개선할 때 어떻게 애자일한 수행방법을 적용할지에 대한 실용적이고 상세한 예제를 제공한다.

데이터베이스 리팩토링의 기초를 이루는 모든 기본적인 개념을 포함해, 실 세계의 데이터베이스를 리팩토링하기 위한 실무적인 장애물을 극복할 수 있도록 도와준다. 기존의 완벽한 설계후 개발 이라는 고정관념을 거부하며, 점진적 데이타베이스의 개발이라는 새로운 방법을 통해, 사용자의 요구사항을 최대한 반영하고, 프로젝트의 위험을 최소화 할수 있는 방법들을 자세히 설명하고 있다.

목차

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장 참조무결성 리팩토링 214

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

9장 아키텍처적 리팩토링 245

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장 메서드 리팩토링 293

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()로 이름을 변경하는 것이다. 이런 리팩토링을 구현하려면 오퍼레이션의 정의를 수정하고 나서, 애플리케이션 코드 전체에 걸쳐 이 오퍼레이션의 모든 호출을 변경하여... 더보기

출판사 서평

2007년 졸트 Productivity 상 수상

『리팩토링 데이터베이스(Refactoring Database)』는 데이터베이스 개발에 대한 새로운 장을 여는 책이다. 마틴 파울러(Martin Folwer)가 자신의 책 『리팩토링』에서 소개한 “작은 단계를 통해 코드를 점진적으로 발전시켜 그 디자인을 개선시키는” 리팩토링은 오늘날 대 부분의 개발자들에 의해서 코드의 품질을 높이기 위해 사용되고 있다. 스캇 엠블러(Scott W.Ambler)와 프라모드 세달라지(Pramod J.Sadalage)는 코드 리팩토링이 보여준 기민한 수... 더보기

Klover 리뷰 (0)

북로그 리뷰 (0) 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함
바로가기
  • 우측 확장형 배너 2
  • 우측 확장형 배너 2
최근 본 상품