- Use promo code PRIMEBOOKS18 to save $5.00 when you spend $20.00 or more on Books offered by Amazon.com. Enter code PRIMEBOOKS18 at checkout. Here's how (restrictions apply)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
SQL Antipatterns: Avoiding the Pitfalls of Database Programming (Pragmatic Programmers) 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Special offers and product promotions
""This book is obviously the product of many years of practical experience with SQL databases. Each topic is covered in great depth, and the attention to detail in the book was beyond my expectations. Although it's not a beginner's book, any developer with a reasonable amount of SQL experience should find it to be a valuable reference and would be hard-pressed not to learn something new.""--Mike Naberezny, Partner at Maintainable Software; Coauthor of "Rails for PHP Developers"
""Bill has written an engaging, useful, important, and unique book. Software developers will certainly benefit from reading the antipatterns and solutions described here. I immediately applied techniques from this book and improved my applications. Fantastic work!""--Frederic Daoud, Author of "Stripes: ...And Java Web Development Is Fun Again" and "Getting Started with Apache Click"
About the Author
Bill Karwin has been a software engineer for over twenty years, developing and supporting applications, libraries, and servers such as Zend Framework for PHP 5, the InterBase relational database, and the Enhydra Java application server. Throughout his career, Bill has shared his knowledge to help other programmers achieve success and productivity. Bill has answered thousands of questions, giving him a unique perspective on SQL mistakes that most commonly cause problems.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I work on a team that creates new new products for a software company. Because of its innovative nature, the team leads will often explore new development methods with much vigor and little research. And even when research is performed, there is rarely much consideration toward the database.
I am kind of the "database guy" when it comes to the projects, and pick up most of those tasks. This book has given me good insight as to when an anti-pattern is being proposed and why we should consider an alternative. The appendix also has a very clean and concise layout of the rules for normalization. This comes in handy when a specific reference for your argument is required.
If your development team doesn't have a "database guy" (or if you're it), I highly recommend reading this book.
It is also a fascinating read that did not take very long to digest. I read this cover-to-cover in a couple of weeks on a 25 minute train commute to work every day.
Highly, highly recommended regardless of skill level with databases. It is packed with great tricks and easy to digest knowledge. If you already "knew it" like myself, you will come away knowing it better.
The main ideas that pervade all the chapters were
let the database do its work;don't implement its main features in software, and consequently leverage foreign keys.
My only drawback is that the book wanders off sql ground a bit too easily in the final chapters.i found the discussion of Active Record to be need more justification and depth. Otherwise, it would have been better to leave it out of this book. Similarly with the PHP examples.
The second half of the book was mostly padding; can't remember much about it, I ended up skimming, but it was more about PHP than SQL. A re-iteration of OWASP, the terrors of SQL injection, and so on. In my mind these do not have much to do with SQL per se.
The tips are very useful.
Especially for developers who came to databases through modern web-frameworks (though not all tips are easy to be implied in that case).
Every chapter shows wrong way, then several alternatives (from the worse to the best).