Anyone who has had problems with databases should read this book - it explains many of the traps that the unsuspecting database designer could fall into and how to avoid them. More importantly, the problems with each anti-pattern are explained, along with examples, and then a better way of solving the same problem is given.
As other reviews on here have said... if you have a few years of DBA/Dev experience then you really shouldn't be getting caught out by these anti-patterns. Having said that, I did enjoy reading it. Also, if you are spotting the mistakes in the patterns early on then it's a good confirmation that you know what you are doing! I gave it 4 stars because I enjoyed the read, I would have given it 5 if I had learned more new stuff. If you are new to DBA/Dev then it would probably be a 5 star book for you.
This is a bit like confessional for database programmers (Bless me, Father, for I have sinned...), I came across it while researching SQL injection. The book has 25 short chapters, split into 4 sections, each chapter explaining a common error or anti-pattern in database use.
While I haven't made all of these mistakes I've at least made some of them and seen other people make even more of them: SQL injection (21), SQL Spaghetti Query (18) - trying to do everything in one query , naive trees (3) - fixed depth, to name but a few.
The book is well written and actually quite funny in parts and it joins my very small library of great database books which includes : Essence of databases (for an overview), Sams SQL in 10 minutes (for syntax) and High Performance MySQL (MySQL only). My rule of thumb is thinner books are better, although High Performance MySQL is an exception.
Recommended, probably most use if you're at an intermediate level.
Enjoyed this. It's relatively short but the content is concise and lucid. Many of the anti-patterns are relatively basic for developers with more than a few years of experience, but it's a highly worthwhile read nonetheless. Along with informative explanations of good practice in developing database-backed applications, there are some really useful tips and insights for solving database problems.
As a team leader in a dev shop, this is the kind of book that I want all my team to read. I'm going to get a few more copies for the company and add it the required reading list along the Code Complete and Clean Code.