Refactoring Databases: Evolutionary Database Design, ePub and over 360,000 other books are available for Amazon Kindle – Amazon’s new wireless reading device. Learn more

 

or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
Sorry!
More Buying Choices
52 used & new from $27.30

Have one to sell? Sell yours here
 
   
Refactoring Databases: Evolutionary Database Design
 
See larger image
 
Start reading Refactoring Databases: Evolutionary Database Design, ePub on your Kindle in under a minute.

Don’t have a Kindle? Get your Kindle here.
 
  

Refactoring Databases: Evolutionary Database Design (Hardcover)

~ (Author), (Author)
4.4 out of 5 stars  See all reviews (22 customer reviews)

List Price: $64.99
Price: $41.93 & this item ships for FREE with Super Saver Shipping. Details
You Save: $23.06 (35%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Friday, November 13? Choose One-Day Shipping at checkout. Details
37 new from $33.99 15 used from $27.30

Formats

Amazon Price New from Used from
  Kindle Edition $33.54 -- --
  Hardcover $41.93 $33.99 $27.30

Frequently Bought Together

Refactoring Databases: Evolutionary Database Design + Agile Database Techniques: Effective Strategies for the Agile Software Developer (Wiley Application Development) + Patterns of Enterprise Application Architecture
Price For All Three: $116.28

Show availability and shipping details


Customers Who Bought This Item Also Bought

Patterns of Enterprise Application Architecture

Patterns of Enterprise Application Architecture

by Martin Fowler
4.5 out of 5 stars (62)  $45.15
Test Driven Development: By Example

Test Driven Development: By Example

by Kent Beck
3.9 out of 5 stars (32)  $42.70
Refactoring to Patterns

Refactoring to Patterns

by Joshua Kerievsky
4.1 out of 5 stars (44)  $36.66
Continuous Integration: Improving Software Quality and Reducing Risk

Continuous Integration: Improving Software Quality and Reducing Risk

by Paul M. Duvall
4.7 out of 5 stars (16)  $23.00
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

by Gregor Hohpe
4.7 out of 5 stars (37)  $41.93
Explore similar items

Editorial Reviews

Product Description

Refactoring has proven its value in a wide range of development projects--helping software professionals improve system designs, maintainability, extensibility, and performance. Now, for the first time, leading agile methodologist Scott Ambler and renowned consultant Pramodkumar Sadalage introduce powerful refactoring techniques specifically designed for database systems. Ambler and Sadalage demonstrate how small changes to table structures, data, stored procedures, and triggers can significantly enhance virtually any database design--without changing semantics. You'll learn how to evolve database schemas in step with source code--and become far more effective in projects relying on iterative, agile methodologies. This comprehensive guide and reference helps you overcome the practical obstacles to refactoring real-world databases by covering every fundamental concept underlying database refactoring. Using start-to-finish examples, the authors walk you through refactoring simple standalone database applications as well as sophisticated multi-application scenarios. You'll master every task involved in refactoring database schemas, and discover best practices for deploying refactorings in even the most complex production environments. The second half of this book systematically covers five major categories of database refactorings. You'll learn how to use refactoring to enhance database structure, data quality, and referential integrity; and how to refactor both architectures and methods. This book provides an extensive set of examples built with Oracle and Java and easily adaptable for other languages, such as C#, C++, or VB.NET, and other databases, such as DB2, SQL Server, MySQL, and Sybase. Using this book's techniques and examples, you can reduce waste, rework, risk, and cost--and build database systems capable of evolving smoothly, far into the future.


From the Back Cover

Refactoring has proven its value in a wide range of development projects–helping software professionals improve system designs, maintainability, extensibility, and performance. Now, for the first time, leading agile methodologist Scott Ambler and renowned consultant Pramodkumar Sadalage introduce powerful refactoring techniques specifically designed for database systems.

Ambler and Sadalage demonstrate how small changes to table structures, data, stored procedures, and triggers can significantly enhance virtually any database design–without changing semantics. You’ll learn how to evolve database schemas in step with source code–and become far more effective in projects relying on iterative, agile methodologies.

This comprehensive guide and reference helps you overcome the practical obstacles to refactoring real-world databases by covering every fundamental concept underlying database refactoring. Using start-to-finish examples, the authors walk you through refactoring simple standalone database applications as well as sophisticated multi-application scenarios. You’ll master every task involved in refactoring database schemas, and discover best practices for deploying refactorings in even the most complex production environments.

The second half of this book systematically covers five major categories of database refactorings. You’ll learn how to use refactoring to enhance database structure, data quality, and referential integrity; and how to refactor both architectures and methods. This book provides an extensive set of examples built with Oracle and Java and easily adaptable for other languages, such as C#, C++, or VB.NET, and other databases, such as DB2, SQL Server, MySQL, and Sybase.

Using this book’s techniques and examples, you can reduce waste, rework, risk, and cost–and build database systems capable of evolving smoothly, far into the future.

 


Product Details

  • Hardcover: 384 pages
  • Publisher: Addison-Wesley Professional (March 13, 2006)
  • Language: English
  • ISBN-10: 0321293533
  • ISBN-13: 978-0321293534
  • Product Dimensions: 9.4 x 6.9 x 1.1 inches
  • Shipping Weight: 1.9 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (22 customer reviews)
  • Amazon.com Sales Rank: #42,948 in Books (See Bestsellers in Books)

    Popular in these categories: (What's this?)

    #10 in  Books > Computers & Internet > Programming > Software Design, Testing & Engineering > Structured Design
    #28 in  Books > Computers & Internet > Databases > Database Design
    #38 in  Books > Computers & Internet > Software > Databases

More About the Authors

Discover books, learn about writers, read author blogs, and more.

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)
(1)
(1)

Your tags: Add your first tag
 

 

Customer Reviews

22 Reviews
5 star:
 (14)
4 star:
 (4)
3 star:
 (3)
2 star:    (0)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
4.4 out of 5 stars (22 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
30 of 33 people found the following review helpful:
5.0 out of 5 stars Excellent refactoring reference and eye-opening book, May 8, 2006
This is an excellent book that, in my opinion, serves two purposes. First, it is a compendium of well thought-out ways to evolve a database design. Each refactoring includes descriptions of why you might make this change, tradeoffs to consider before making it, how to update the schema, how to migrate the data, and how applications that access the data will need to change. Some of the refactorings are simple ones that even the most change-resistant DBAs will have used in the past ("Add index"). Most others (such as "Merge tables" or "Replace LOB with Table") are ones many conventional thinking DBAs avoid, even to the detriment of the applications their databases support.

This brings me to the second purpose of this book. Many DBAs view their jobs as protectors of the data. While that is admirable, they sometimes forget that they are part of a software development team whose job is to provide value to the organization through the development of new (and enhancement of existing) applications. One of the best DBAs I ever worked with viewed himself as a "Data Valet." He said his job was to make sure the data was presented to applications when and where they wanted and to protect the doors from getting dinged while under his care. Through its first five chapters and then the refactorings that follow, this book will help DBAs expand their view of their role in the organization from one of simply protecting data to one of enhancing the value of data to the organization.

This book is one that you'll keep on your reference shelf for many years to come. Highly recommended.
Comment Comments (2) | Permalink | Was this review helpful to you? Yes No (Report this)



 
6 of 6 people found the following review helpful:
5.0 out of 5 stars Finally!, April 5, 2006
By Base Aware "Base Aware" (Toronto, ON Canada) - See all my reviews
It's been almost 7 years since Fowler's Refactoring book, and now the database community has finally caught up with the rest of us. This book shows how to refactor a relational database schema, working you through the detailed process steps for doing so and providing the source code for implementing more database refactorings than I would have thought existed.

The first five chapters describe how to go about database refactoring. Chapter 1 overviews the idea that you can evolve your database schema in small steps, a radical departure for many traditional DBAs. It also overviews the need for supporting techniques such as agile data modeling, database regression testing, and version control of your data models and scripts. I would have liked to see more coverage of these topics, but at least the modeling material is covered in Ambler's Agile Modeling book and there are some great SCM books out there.

Chapters 2 and 3 walk through the process of implementing a database refactoring, first through the simple situation where there is only a handful of applications accessing the database. I guess this sort of thing happens in smaller companies, but most of the time you really have to worry about scores of applications accessing your database which is a much harder situation. This is actually the focus of Chapter 3 and of the presented solutions in Chapters 6 through 11 which provide reference implementations for all of the database refactorings. This approach belies the true strength of the book: it reflects actual experience in large organizations, not just the theoretical pie in the sky stuff you see from other authors.

Chapter 4 focuses on deploying database refactorings in production, providing detailed instructions for how to roll refactorings between various sandboxes. It importantly describes how to merge the refactorings of several teams together. If you have 100 applications accessing a shared database, then potentially you need to manage the refactorings coming from 100 different development teams. Of course it would never be that bad, but even merging refactorings from 10 teams would be tough. This might be where the technique falls apart because many companies likely don't have data managers who are skilled enough to do this sort of thing efficiently enough to keep up with agile developers. We need new tools, so hopefully companies like Oracle will build something for us.

Chapter 5 describes a collection of best practices and challenges pertaining to refactoring databases. The authors share their experiences as well as identify potential issues, such as a lack of tooling and agile expertise within the data community, that could slow adoption of this technique. My guess is that the smarter teams within companies will start doing this stuff right away, for the most part it's pretty easy technically, but that bigger companies will struggle to change as they always do.

Chapters 6+ are reference descriptions for the individual refactorings. Each one is described using a UML data model, which is a little strange at first although once you get used to it you can see how it's a much better notation than Crow's feet, a detailed text description and source code. The source code examples are detailed, I guess the authors want to be thorough and provide a complete solution so that there's no question how to implement each refactoring. The application examples are written in Java or Hibernate, but they're simple enough that you could see how to implement them in C#, C++, Ruby, or even VB. The database code is Oracle, once again it's pretty straightforward so you can easily see how it would work in other DBs like Sybase or MySQL.

All in all, if you're a DBA or agile programmer you need to seriously think about buying this book.
Comment Comment (1) | Permalink | Was this review helpful to you? Yes No (Report this)



 
11 of 13 people found the following review helpful:
3.0 out of 5 stars on the right path, November 17, 2006
By arzewski (pittsburgh, pa United States) - See all my reviews
This book is a much needed exploration on the subject. It tries to categorize those operations that developers and DBAs do on a database, who, for various reasons, must address a specific problem, need. I only gave it three stars because it is somewhat insufficient. It also doesn't make much of a distinction between a database in development and one in production. In the latter case, it is really difficult to make changes when there is already a data structure in place with data, being updated constantly by users, and plans to migrate to a different data model while a system is in production is really not for the faint of heart. What I am really loooking for is a thick book of bad designs that, for various reasons (unclear or evolving requirements, political), a database model presents itself with a bunch of problems, real problems and not just theoretical, and the ways a DBA and developers came about after a big pow-wow on how to solve it.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

4.0 out of 5 stars Some important ideas but much work remains to be done
In software development a 'refactoring' is a change that improves code quality without changing functionality. Read more
Published 15 months ago by P. Cherryl

5.0 out of 5 stars A very complete catalog of strategies for database maintenance
As I had never thought about data model maintenance in terms of "Refactoring", the title of this book was very appealing to me. Read more
Published 15 months ago by Edelmiro Fuentes

3.0 out of 5 stars Refactoring (Relational) Databases
The bulk of this book is a catalog of database "refactorings" such as "rename table" or "add column constraint". Read more
Published 17 months ago by Eric Jain

4.0 out of 5 stars Probably great for DBA
Probably great for a DBA or if you are executing SQL scripts for everything. I wish there was more on using ORM technologies such as Hibernate.
Published 20 months ago by Eric J. Winter

5.0 out of 5 stars Good for developers
On smaller projects where you can't have a dedicated DBA this book offers just the kind of expert advice for dealing with existing DBs that you need. Read more
Published on June 19, 2007 by Clown Case

5.0 out of 5 stars Excellent overview of a needed approach
Scott Ambler and Pramod Sadalage wrote Refactoring Databases, they say, "to share their experiences and techniques at evolving database schemas via refactoring". Read more
Published on May 25, 2007 by James Taylor

4.0 out of 5 stars Database maturity
This book is helpful for applying the basic coding practices that have been so useful in keeping code in good shape to the messy world of the DBA. Read more
Published on January 3, 2007 by M. MCKNIGHT

1.0 out of 5 stars Not an Agile book
Sorry, but I can not recommend this book to anyone who is looking for an agile way of handling schema evolution. Read more
Published on October 1, 2006 by Darya Said-Akbari

5.0 out of 5 stars Bringing the Mountain to Mohammed
Much more beautiful code is being written as a result of Fowler's Refactoring; the Gang of Four's Patterns; Beck's Test Driven Development; etc. Read more
Published on July 18, 2006 by Ken Collier

4.0 out of 5 stars Pity that this book is needed
First let me say that Messrs. Ambler and Sadalage did a very good job with this book. The database design advice is generally good, reflecting good practices: Make sure that... Read more
Published on June 7, 2006 by David C. Hay

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.