Saturday, March 05, 2005

Book Review: Agile Database Techniques

I recently finished reading
"Agile Database Techniques" by Scott Ambler

On the whole, I found the book enjoyable to read and reasonably informative. I would not rank it up as high as Domain Driven Design or Patterns of Enterprise Application Architecture, but I would certainly rank it above many other books I have read. I find it sad and frustrating that a lot of programmers actually take pride in not knowing anything about databases. While O/R mapping tools like Hibernate are excellent, ignorance of how databases work and lack of data modelling skills will lead to second rate solutions even when you use tools like Hibernate.

Things I liked about the book include:
  • Modelling tips.
  • Database refactoring tips
  • Performance tuning tips
  • Pros & cons of implementing referential integrity & business logic in the database versus implementing it application code.
  • Discussion on natural versus artificial primary keys
  • Discussion on database encapsulation strategies
  • Security issues.
What I particularly liked was that Scott seemed to have a very balanced view on a lot of these topics and points out that a lot of these issues are not black and white.

Things I think need improvement include:
  • I did not find the concept of "class normalization" all that helpful.
  • The same material could have been covered in a book half the size.
Despite its shortcomings, it is still definitely worth a read.

0 Comments:

Post a Comment

<< Home