Murach’s SQL Server 2008 for Developers by Bryan Syverson and Joel Murach
$52.50 from Mike Murach & Associates
When I started my current job, I didn’t know much about databases in general, or SQL in particular; I took the usual databases class in college and taught Access for a few semesters, but that’s about it. After finding out that my job involves moving information into SQL databases, I figured I’d better brush up on those things!
I found that I had three related areas I wanted to study: basic database concepts, SQL use in general, and MSSQL administration in particular. Database concepts I was somewhat familiar with from college, so I just picked up The Manga Guide to Databases for a quick review. For the Microsoft administration part, a group of coworkers and I are reading through the MCTS Self-Paced Training Kit on SQL Server 2008 and planning to take the 70-432 exam. For SQL itself, however, I was lucky enough to pick up a copy of the Murach book, which provides an excellent coverage of SQL commands.
If you’re not familiar with the Murach books (I wasn’t), they have a somewhat unique format: each topic is discussed in two different ways, on opposing pages. On the left, you see a description of what’s going on, while on the right you see code examples and guidelines. As an example, I randomly opened the book to pages 162 and 163; page 163 has some sample code and output from a SELECT statement using GROUP BY and HAVING, while page 162 talks about how the GROUP BY and HAVING clauses work and what’s going on in the code on the facing page. I found that this style makes it very easy to follow what’s going on, and rather than reading one page at a time I’ll alternate between pages, looking at the code while reading the description of what it does.
If all you need to know is how to use a database, you can probably get by with just the first two sections of this book. Section one, An introduction to SQL, explains the concept of a relational database and how tables and columns are related, how to use SQL Server 2008, how to back up and restore databases, etc. Section two, The essential SQL skills, is all about the commands that you’ll execute on a database. The first three chapters in section two are all about various SELECT statements, starting with retrieving data from single tables and moving on to retrieving from multiple tables, summary queries, and subqueries. After that we get into INSERT, UPDATE, an d DELETE, as well as the data types SQL supports and how to work with them.
Section three covers how to design and implement the database; here you learn things like how to identify the primary and foreign keys and how normalization works, as well as the commands to actually create everything. Section four is several hundred pages on advanced SQL skills, including working with views, coding scripts, stored procedures, and functions, managing transactions and security, working with XML and BLOBs, etc. Finally, section five gives you the basics of CLR integration, and of course there are a few appendixes telling you how to install the database files and software (SQL Server 2008 Express, which is free, and Visual Studio 2008, which you need only for the last few chapters) that you’ll need to work through the examples in the book. No CD is included; all of the required example files can be downloaded from the Murach website.
Although I bought the book specifically to use to learn SQL, I expect it to make a great reference; the format (and excellent table of contents) makes it easy to quickly look up how to do things. I’ve already recommended the book to several of my coworkers who also wanted to learn more about SQL, and so far I’ve heard uniformly high reviews. Highly recommended.