Wow getting your wisdom teeth pulled has somehow really opened up my schedule and allowed me to get a lot of reading done lately. I recently picked up Refactoring Database: Evolutionary Database Design by Scott W. Ambler and Pramod J. Sadalage
This book is part of the Martin Fowler Signature series and it shows. The book had the same format as the others in the series which had a nice constancy and was easy to just pickup and read whenever. I found that the book was well written and that the tradeoffs and implementation strategies were well written and very accurate.
The book assumed that your database was being consumed by more than one application. This really made you think of how to change things so that either code did not need to be changed in the consuming application or that their was a transition period to allow time for other teams to change their code. I am usually a fan of having a front end piece of code in front of the database that applications consume instead of consuming the application directly but frankly this is not always possible.
I did not find any startling revelations in the book for refactoring patterns but I did find that it was very good on the consequences of the refactoring and the tradeoffs with taking one approach over another. If you have not worked a lot with databases then this book is a definite read. If you have worked with databases for a while there is still value in this book but you have probably already learned a lot of the things in this book by experience.
There were a couple of things that I have done with database refactoring that were not mentioned in the book or only briefly mentioned and I feel that they need a bit more light. I think I will do a series on these patterns over the next few days.