Skip to main content

Book review -- Refactoring Databases: Evolutionary Database Design

Eric Naiburg, Worldwide Director Product Marketing, CAST Software
author photo

Eric Naiburg is worldwide director of product marketing for CAST Software, where he is responsible for all aspects of product marketing. His published books, both co-authored with Robert Maksimchuk, include UML for Database Design (Addison-Wesley) and UML for Mere Mortals (Addison-Wesley). Prior to joining CAST, Naiburg was program director for business, industry, and technical solutions for IBM Rational software. He has held other roles including group market manager of desktop product responsible for market strategy, planning and messaging around Rational’s desktop products including Requirements, Analysis, Design, Construction and Software Quality solutions.

About CAST Software:
The CAST Application Intelligence Platform -- the software that knows software -- automatically analyzes applications and provides the unbiased metrics and information needed to measure, monitor, control, and support application development.

Summary:  from The Rational Edge: A positive review of Refactoring Databases: Evolutionary Database Design, by Scott W. Ambler and Pramod J. Sadalage.

Date:  15 Sep 2006
Level:  Introductory
Activity:  419 views

book coverby Scott W. Ambler and Pramod J. Sadalage
Addison-Wesley Signature Series, 2006
ISBN: 0321293533
384 pages

Refactoring Databases by Scott Ambler and Pramod Sadalage takes a page out of the many works by Martin Fowler on refactoring, yet it looks at a different angle. Ambler and Sadalage tackle the subject of database refactoring, which is often considered a threat to the business since, in many instances, the data is the business, and a failure or corruption could mean significant loss or even the end of the business.

The book contains multiple examples of refactoring, from the simplest column to complex datatypes. Early in the text, I did find multiple instances of repeated text, quotes, and thoughts, but these editing oversights come to end where the real "meat" of the book begins. I am not sure that there are significantly new examples of refactoring that a good DBA hasn't already done or at least considered, but this book sheds new light on ways to minimize the risks of change and how a development team can work together to ensure success.

Although I would expect any book co-authored by Scott Ambler to discuss agile methods, I was still quite happy to see that the book describes how teams following such methods can work closely together to adapt database changes. Too often in IT, application development and database development are looked upon as separate entities, managed as organized silos, rather than as integrated components working toward a common goal. Refactoring Databases provides good guidance on how these groups really can work toward a unified goal with a single output at the end.

Additionally, I enjoyed seeing the authors use a combination of methods to explain their concepts. They use Unified Modeling Language (UML) models, including class/database models and activity models, to demonstrate visually the concepts, differences, and changes required by the teams when refactoring. The authors also provide code samples that show how to move from conceptual and visual designs to actual implementation.

Overall, I think this book provides a good overview for development teams (project managers, QA engineers, DBAs, and application developers) who are concerned with the effects of refactoring a database. The book visits the risks of refactoring and examines how those risks can be minimized. The authors discuss how risk mitigation can include teaming, testing, assurance that the refactoring is really necessary, and ensuring that the database is looked at holistically and not only for one application of the many that may be calling it, along with other examples.


About the author

author photo

Eric Naiburg is worldwide director of product marketing for CAST Software, where he is responsible for all aspects of product marketing. His published books, both co-authored with Robert Maksimchuk, include UML for Database Design (Addison-Wesley) and UML for Mere Mortals (Addison-Wesley). Prior to joining CAST, Naiburg was program director for business, industry, and technical solutions for IBM Rational software. He has held other roles including group market manager of desktop product responsible for market strategy, planning and messaging around Rational’s desktop products including Requirements, Analysis, Design, Construction and Software Quality solutions.

About CAST Software:
The CAST Application Intelligence Platform -- the software that knows software -- automatically analyzes applications and provides the unbiased metrics and information needed to measure, monitor, control, and support application development.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=158332
ArticleTitle=Book review -- Refactoring Databases: Evolutionary Database Design
publish-date=09152006
author1-email=mgperrow@us.ibm.com
author1-email-cc=

Table of contents

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers