Authors: Joel Murach and Bryan Syverson
Publisher: Mike Murach & Associates
Audience: SQL Server novices
Reviewer: Ian Stirk
This book is aimed at those new to SQL Server, or those with a basic understanding wanting to learn more. How does it fare?
Beginnings are important. A bad start can stop you in your tracks and divert your attention elsewhere, perhaps never to return. However, a good beginning engages your interest, and encourages you to go further and deeper.
The book consists of 20 chapters spread over 4 sections, the content of each chapter follows a ‘How-To’ approach (e.g. how to work with inner joins). Below is an overview of these sections.
Section 1 An introduction to SQL
This section opens with a chapter on relational databases and SQL. The concepts of databases, tables, columns and relationships are clearly explained, with useful examples. Next, SQL is introduced, with a brief overview of its history, and usage.
The section next looks at SQL Server Management Studio (SSMS), the primary tool for any SQL Server developer. In addition to explaining its common developer uses, some of the more common DBA tasks are introduced (e.g. restore a database).
The section provides a clear and well-explained introduction to SQL and SSMS. There are many useful screenshots, code samples, and explanations to support the discussions. Each topic has concepts/discussion given on the left-hand page, and code/explanation on the adjacent right-hand page, helping to focus your attention on the points being made. Each chapter ends with exercises to apply, test, and extend your newly acquired knowledge (the answers are given on the book’s website). These traits apply to the whole of the book.
Section 2 The essential SQL skills
This section introduces the SQL concepts you’ll use most commonly. Chapters are given for retrieving data, summarizing data, subqueries, data modifications (i.e. inserts/updates/deletes), data types, and functions. There’s an easy flow between the chapters, as they move from simple to more complex concepts, with everything explained clearly using relevant example code and screenshots.
Some might argue that the text is a bit wordy in places, however, for the beginner, or someone using the book subsequently as a reference, I suspect the text will prove to be just right.
Section 3 Database design and implementation
This section looks at tasks that, while at first glance might seem to belong to the realm of the Database Administrator (DBA), as a SQL developer you may find yourself becoming increasingly responsible for (at least in development). The chapters explain primary and foreign keys, relationships between tables, normalization (various levels), data definition language (DDL), indexes, constraints, and usage within SSMS.
This section provides an instructive introduction to database design. I’m pleased it comes after the initial sections on SQL usage, since it is easy to get bogged-down in the detail of database theory before running a single query! Running queries and getting results gives immediate and satisfying feedback to the new developer, who often by a process of familiarity learns some of the basics of database design along the way.
In many ways this section shows some of the steps needed to start on the career path to becoming a DBA.
Section 4 Advanced SQL skills
This section builds on the previous section’s more common basic SQL concepts, and looks at some of the more advanced SQL concepts, including chapters on: views, batch scripts, stored procedures, triggers, transactions/locking, security, XML, and the CLR.
Most of the chapters in this section work in a stand-along manner, however I’m sure you’ll feel a growing confidence in your SQL development abilities as you progress with the section. By the end of this section, you should be able to provide solutions to various database problems.
The book ends with an appendix that shows you how to set up your computer to run the examples given in the book. It concentrates on the free versions of SQL Server 2016 Express and Management Studio.
This book aims to introduce SQL Server to someone new or someone with a basic understanding who wants to learn more, and succeeds effortlessly. The book contains useful screenshots, code samples, and explanations that support the concepts discussed. There is an easy flow between the chapters.
In addition to SQL developer concepts, it also introduces some DBA tasks, so acts as a springboard to becoming a SQL Server developer or DBA. Although targeted specifically at SQL Server 2016, much of the book is also applicable to earlier SQL Server editions.
There is, of course, much more to learn about SQL Server. Since this is a beginner’s book, it might have been useful to include a section on where to find further information (blogs, websites etc).
The overriding impression I am left with is, everything is explained in a practical, clear and easy manner. This is the book I wish I had when I first started learning SQL Server. If you are new to SQL Server or want to learn more than the basics, this is the book you. Highly recommended.
For more reviews and recommendations of SQL Books see Pick of the Shelf - SQL Server on Programmers Bookshelf
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.