Software development, .Net, SQL Server, TDD, Agile, Community and other Odds and Sods
Mitch Wheat has been working as a professional programmer since 1984, graduating with a honours degree in Mathematics from Warwick University, UK in 1986. He moved to Perth in 1995, having worked in software houses in London and Rotterdam. He has worked in the areas of mining, electronics, research, defence, financial, GIS, telecommunications, engineering, and information management. Mitch has worked mainly with Microsoft technologies (since Windows version 3.0) but has also used UNIX. He holds the following Microsoft certifications: MCPD (Web and Windows) using C# and SQL Server MCITP (Admin and Developer). His preferred development environment is C#, .Net Framework and SQL Server. Mitch has worked as an independent consultant for the last 10 years, and is currently involved with helping teams improve their Software Development Life Cycle. His areas of special interest lie in performance tuning
Sunday, October 21, 2007
Head First SQL – A Learner’s Guide, by Lynn Beighley. O’Reilly
I would like to begin with an admission: I have been a huge fan of the Head First Series of books since I read the “Design Patterns’” book and I enthusiastically recommended them whenever somebody asks me about a topic covered by the series. The Head First books are pretty much unique in their presentation style, so don’t be put off at first glance!
Head First SQL is specifically aimed at people who currently know little or nothing about SQL (Structured Query Language), database theory and schema design. It makes no assumptions about the reader having any experience of databases under the hood; it is very much a beginner’s first book. If you already write SQL as part of your job then I’d be surprised (and possibly worried!) if you will learn anything new.
All the SQL topics discussed are database vendor agnostic and therefore transferable between different database systems. It covers all the standard things you would expect to find: selects, inserts, updates, deletes, joins, where-filters, grouping, ordering etc.
From a personal perspective, I would have dearly liked the book to start at Chapter 11, “The Top Ten Topics (we didn’t cover)”. One topic that is given just 3 short paragraphs is ‘Indexing’. Given that this is a beginners book (and not database specific) you might think that the topic should be left for more advanced books, and I agree to an extent. Admittedly, indexing is an implementation detail and does not have anything to do with a domain model, but it is so often overlooked or misunderstood by developers. I think at least a high level knowledge of indexes and retrieval mechanisms would be beneficial.
If you are already an enterprise developer this book will not contain anything you do not already know, but I would definitely recommend this book to someone who is just starting to learn SQL coding. I am hoping that O’Reilly follow this up with an advanced guide to SQL.
Disclosure: The Perth .NET User Group is a member of the O'Reilly User Group and Professional Association Program. O’Reilly make copies of their books available for user group libraries, and the copy reviewed here was kindly donated by O’Reilly.
MSN, Email: mitch døt wheat at gmail.com