Murach's MySQL 3rd Edition

Author: Joel Murach
Publisher: Mike Murach
Pages: 628
ISBN: 978-1943872367
Print: 1943872368
Audience: MySQL developers
Rating: 5
Reviewer: Kay Ewbank

This new edition of a popular title brings the material up to date to cover MySQL 8, and covers newer MySQL features such as window functions, Common Table Expressions (CTE), and roles for database security.

Like other Murach titles, this book uses a paired-page layout where new ideas are described on the left-hand page, and the right-hand page is used for examples of the concepts being introduced. So if the use of the Extract function to parse dates and times is described in words on the left-hand page, on the right-hand page you'll get the reference of the Extract function, a list of date and time units you can use in Extract, and some examples that use the Extract function.


I like this style of presentation; it's not chatty and discursive, but it covers the material in a detailed way with good examples that you can refer to without wading through descriptions.

The book starts by introducing MySQL, with chapters on relational databases, the MySQL Workbench, and retrieving data from a single table and multiple tables, as well as insert, update and deleting data, all done using SQL.


Section 2 moves on to summary queries, subqueries, data types and functions. The chapter on summary queries goes as far as aggregate functions, group by, having, where, with rollup and grouping operators. It also looks at coding aggregate window functions and the use of frames. The chapter on subqueries started with adding subqueries to the Where clause, the use of In, All, and putting subqueries in Having, Select and From. It also looked at working with complex queries and using Common Table Expressions.
Section 3's topic is database design and implementation - enough for a big book in its own right. I don't know how well this section works; the material was well presented, but I'm not sure a page on designing a data structure that has instructions on 'identify the data elements; subdivide each element into its smallest useful components' would get you very far if you didn't know what you were doing. However, the book does show the commands you can use and gives examples of their use. The section goes on to show creating databases, tables, indexes and views.
The next section is probably the one of most interest to our audience - stored program development. It kicks off with a chapter on the language elements you need and how to write procedural code. There's a good chapter on transactions and locking, with a subsection on working with concurrency and locking. Chapters on stored procedures and functions, and working with triggers and events complete this section.
The final part of the book is on database administration. There are useful chapters on securing a database and backing up and restoring a database. Two appendixes end the book looking at how to install MySQL for Windows and MacOS.
This is a thorough book, and the topics are covered well, including new material such as window functions and Common Table Expressions (CTE). One point to note is that the book is very similar to the equivalent Murach title for SQL Server - MySQL specifics are all correct, but much of the general material is presented without much change. That's not necessarily a criticism, just an observation if you happen to already have the SQL Server version of the book. Overall, this is a good, solid book that presents everything you need to use MySQL.


Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design

Author: Diomidis Spinellis & Georgios Gousios
Publisher: O'Reilly, 2009
Pages: 426
ISBN: 978-0596517984
Print: 059651798X
Kindle: B0043GXMRA
Audiance: Anyone with professional interest in programming
Rating: 4
Reviewed by: Mike James 

This thought-provoking collection of essays still qu [ ... ]

Computer Graphics Programming in OpenGL with C++

Author: V. Scott Gordon
Publisher: Mercury
Date: September 2018
Pages: 384
ISBN: 978-1683922216
Print: 1683922212
Kindle: B07MHD8TKB
Audience: Developers wanting to learn OpenGL
Rating: 5
Reviewer: Mike James

C++ and OpenGL are a natural pair and this book will help you get started.

More Reviews