Write for Us
Murach's SQL for SQL Serverby Bryan SyversonCopyright 2002Mike Murach & Associates, Inc.
Where I work, the DBAs and developers are in different departments. Essentially, here's what happens: developers analyze the user's needs, develop the application, test it, and then roll it out. As DBAs, we get to maintain it, and whenever there is a performance issue, the database is blamed, and we are expected to solve the problem. In most cases, we identify the problem as poorly written application code.
This is not an ideal situation. Ideally, DBAs should be working more closely with developers at all stages of application development. I can't change the system, but I do have one suggestion to make our current situation a little better, and that is to train our developers how Transact-SQL really works, and how to get the most out of it when writing applications that use SQL Server as the back-end database.
One way to help educate your current developers (or become a SQL Server savvy developer on your own) is to loan or give them a copy of the new book, Murach's SQL for SQL Server. If you have been in the computer field for a little while, you have probably heard of Murach, which is a publishing company that specializes in writing how-to books for developers. Their books are often found in college classrooms.
This book is an introductory primer on how to code in Transact-SQL, designed for those who want to learn the basics of this sometimes mysterious, but extremely powerful language.
Here's what the book covers:
An introduction to the relational database and SQL
How to work with a SQL Server database
How to retrieve data from a single table
How to retrieve data from two or more tables
How to code summary queries
How to code subqueries
How to insert, update, and delete data
How to work with data types and functions
How to design a database
How to create and maintain databases and tables
How to use Enterprise Manager
How to work with views
How to code scripts
How to code stored procedures, functions, and triggers
How to work with cursors
How to manage transactions and locking
How to manage database security
As you can see from above, this is a beginning book on Transact-SQL and Transact-SQL development. It is a good first book on the topic. One of the more interesting features of this book is something the publisher refers to as "paired pages." Essentially, what this means is that in many cases (not found on all pages) the left page will cover a topic in detail, and the right page will summarize the key features of a topic, including examples. This makes it somewhat easier to learn each feature as it is introduced. It also allows you to skip content you are not interested in.
The only real drawback I see to this book is its lack of emphasis on performance. While the author does allude to in a few places, it is mostly ignored. If you are familiar with my website at all, you know that I place a heavy emphasis on performance tuning, especially when it comes to Transact-SQL code. I think it is important to blend performance tuning information along with "how-to" information on how to code in Transact-SQL. It is important to "think performance" at every stage of using Transact-SQL, and beginners need to learn this stuff as soon as they can. It is because of a lack of beginning information on SQL Server Transact-SQL performance tuning that so many SQL Server applications run much slower than their potential.
Even with my criticism of the lack of Transact-SQL performance tuning, this book is still a solid performer. If you are wanting to learn the basics of Transact-SQL, you should consider this book.