SQL Antipatterns: Avoiding the Pitfalls of Database Programming (Pragmatic Programmers)