"Agile Database Techniques" is aptly subtitled "Effective Strategies for the Agile Software Developer". Take special note of the word "strategies", because what you will not find within is pages of code and implementation details. This is not a bad thing as there is so much ground to cover that getting caught up in the low-level details of how to implement a particular strategy in language (add yours here) would have limited the scope of the book. Instead, what you will find is a detailed set of skills and development methodologies required by the developer who finds him or herself immersed in the details of modeling, implementing, and/or refactoring the database schema for their current application.
Should you buy this book? Well, try answering the following questions:
- Could you easily create a physical data model of your schema?
- Can you explain the difference between first and third normal form?
- What about first and third object normalization forms?
- Can you list the challenges in mapping an object model to a data model?
Did you answer honestly? Because these are just some of the items covered in Part One of the book and unless you said yes to all of the above, you will walk away with plenty of ideas for improving your development after a single reading. This is the core reason I would recommend this book. It is full of ideas that you might never have thought to include in your development practices, and probably some that you had thought about but were not sure what the best approach might be.
My complaint with "Agile Database Techniques" is that it could use another iteration. In the introduction, the author states "When I first started writing this book, I intended its focus to be on the agile data method... Because I was taking an iterative and incremental approach to the development of the book, I quickly realized that the real value lay in detailed development techniques instead of yet another methodology." While I can agree with and embrace the merits of applying agility to my development practices, I think there is an overabundance of methodology content in the book that only clouds its real value.
In summary, I think this is one of those books that will sit on my shelf for some time to come as a great reference for how to approach any number of application and database development related items.