Agile Database Techniques
Agile Database Techniques by Scott Ambler
- Binding:
- Paperback
- Number of Pages:
- 480
- ISBN:
- 0471202835
- Product Group:
- book
- Publisher:
- John Wiley & Sons
- Publication Date:
- Oct. 17, 2003
- BooksForGeeks.com ID:
- 2794
Reviews for Agile Database Techniques
-
Good but not what I expected
Rated out of 5 stars, November 12rd, 2009
I purchased the book looking for guidance on how to apply agile techniques to the database environment.
The books covers a very broad range of subject right from the concepts of normal form to UML etc as covered by the other review.
What it doesn't do is talk about, TDD with regards to the database in the level of depth I expected (in fact there is little coverage of this area). I found this suprising given that more and more TDD is being adopted not just for languages like Java and C#, but also now that Microsoft Team Suite is including this into it's product.
Having said that the books is comprehensive in terms of it's coverage of database theory and it was an excellent refresher and would recommend the book for someone looking for a broad coverage of the database within companies. -
go boldly beyond the persistence layer
Rated out of 5 stars, January 12th, 2007
This is very well written, enjoyable book, with few (if any) competitors. Given its agile sensitivities, it's perfect for a programmer looking for an overview of the whole data modelling she-bang, from use cases to impedance mismatch. Despite clocking in at 400 pages of fairly dense type, interspersed with various tables and UML diagrams, it's a breeze to read. It assumes a bit of knowledge of database technologies, but you don't need anything more than a nodding familiarity with SQL and basic concepts like normalisation.
This book deals with a lot of issues related to using databases as part of agile modelling. The main message is that agile application developers need to think about persistence issues, and database admins need to understand agile development. The differences between data-driven and object-driven models are clearly laid out, and there's an excellent section on refactoring databases.
The important thing about this book is not so much offering you specific solutions to problems, but alerting you to potential problems you might not even know exist, and explaining that you do have options in solving them. As well as introducing agile methods like TDD and refactoring, it also covers database issues like transactions, security, concurrency and object-relational mapping.
Additionally, there is an emphasis on the organisational and political issues you might face in transitioning to agile methodologies, and it's very pragmatic in pointing out that some things that might be considered the preserve of an application developer, could be done in the database itself. The issues are presented at the same level of detail as those presented in the likes of The Pragmatic Programmer (but a different subject, of course). For more specifics, you will need to turn to the likes of Martin Fowler's Patterns of Enterprise Application Architecture, or to see specific technologies being used, Chris Richardson's POJOs in Action. I would definitely recommend this book before reading those.
As someone with little knowledge of databases, I found this an excellent and unique resource to join up the dots when it comes to persistence and agile.

