|New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About| |
Keywords: Database, SQL, relational theory, computer science, MySQL Title: Head First SQL Author: Lynn Beighley Publisher: O'Reilly ISBN: 0596526849 Media: Book Level: Introductory Verdict: Great if you warm to the Head First learning style |
SQL is one of those core skills that every developer and system administrator ought to have some knowledge of. While it may not count as much as expertise in your programming language of choice, not having at least the basics of SQL is a gap that is relatively easy to plug - there are introductions aplenty, including our own TechBookReport SQL Tutorial. For those interested in something a bit more substantial, but who are starting with zero existing knowledge 'Head First SQL' would appear to be the ideal starting point.
However, how much you appreciate this book will depend very much on what learning style you tend to. This is because, like the other books in this series, the O'Reilly 'Head First…' books are something of an acquired taste. To their many fans, the books are the perfect antidote to dry, technical and academic tomes that they find dull and boring. The books major on an irreverent and off-beat tone, instead of screeds of source code and lengthy explanations these books prefer cartoons, quizzes, puzzles and the like. On the other hand, if you actually like books that have a more serious character to them, and which don't feature pictures of people pulling faces or smirking at each other, then these books are best left on the shelf.
Assuming that the whole idea of a 'Head First…' book hasn't had you zipping off elsewhere to look for a SQL book, does this one succeed in helping the SQL novice learn the lay of the land? The answer is a qualified yes.
The book assumes absolutely no prior knowledge. None. Which means that it starts off trying to get across the advantages of using a database over a spreadsheet. It starts off talking about tables and how you organise data and so on. This really is the basics, and trying to do this in a fun and interesting way seems a bit of a waste of time. More than that, it takes too long before it starts to get to the interesting bits. For this reader at least, the book would have been better if it had just delivered this stuff in the plain old vanilla way, or perhaps relegated it to some obscure appendix where it wouldn't do any harm.
Things get more interesting later on, once there's a table or two and some SQL to learn. Readers are encouraged to follow along, and the book makes use of MySQL as the tool of choice. Following along is pretty much essential with any kind of tutorial, and this one is no different.
The ins and outs of the different types of SQL query are explored in some detail, building up more complex queries and examples as the book proceeds. It's not just syntax that's being taught, the book also explains the issues that drive the development of the database design (which is an important theme that runs through the book). Multi-table databases, keys, joins, sub-queries are all covered as are transactions and security considerations. Stored procedures, triggers and more specialist topics don't get much of an airing. Considering that the book starts off with practically no knowledge, it does cover a fairly good range of material by the end.
By the end of the book the attentive reader will have learned a fair amount about both SQL and database design. Those who violently object to the 'Head First…' style would do well to take a look at Ben Forta's 'SQL In 10 Minutes', which is an excellent little introduction. For those who do like the 'Head First…' teaching style this is a great way to learn some solid SQL and database skills.