A number of book publishers regularly send me books, hoping that I will write a good review for them. Most of the time, I don’t have the time to read them, so they end up on my bookshelf collecting dust, or maybe I will give them away to friends.
Recently, though, I decided to read one of the books that was sent to me with the goal of writing a review. The book was designed to get non-SQL Server developers up to speed on how to develop SQL Server 2008 applications using Transact-SQL. This is a very worthy goal, because based on my experience, it is bad application design and code that is the root of most SQL Server scalability and performance problems. So I had great expectations when I began reading the book.
Before I go any further, I want to give you an example that I think summarizes this book, then I will go into more specifics. For example, let’s say that a company has hired a new developer right out of college. The developer is bright and knows Visual BASIC, C#, .NET, and so on. In other words, he knows application coding inside and out. For his first project, he is assigned to create a new application that will use SQL Server as the backend database. Unfortunately, other than taking a couple of database theory classes in college, he has never written any Transact-SQL code. No problem, this is a bright developer. He picks up a copy of the book (I was reviewing), reads it, and because he is bright, masters the fundamentals of Transact-SQL development quickly, and he is ready to begin coding his first SQL Server-based application. If I was the DBA for this organization, I would be scared, very scared. The problem is that you can’t learn how to develop SQL Server-based applications from a single book, especially if that book focuses strictly on how to write Transact-SQL, and little else.
Reading this book got me thinking. What would the ideal book that teaches developers how to create SQL Server-based applications include? After some thought, I came up with the following suggestions (not in any special order):
After writing the above list, I realize that it is virtually impossible to include everything I have included to fit into a single book. Instead, perhaps a series of book, each building upon the other, might be a good approach. This way, a person new to SQL Server development would properly get up to speed, putting them in the position so that they could write competent database applications, even though they may not have a lot of experience. Of course, experience is the key to writing great applications, but everybody has to start somewhere, and hopefully is not from reading a single, poorly-written book on SQL Server development.
So what do you think? What are the biggest problems you have found with books you have read that “supposedly” teach SQL Server development? Do you agree with my list, and do you have any items you would like to add to it?
Also, if you have read some books that come close to the above ideals, what are they?
PS: Sorry, but I won’t reveal the name of the book I was reading. My mother always told me, if I can’t say anything nice at all, then don’t say anything. I can’t disappoint my mother, right?
|Share this post :|