by 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.

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)





