|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: MySQL, database development, DBA, SQL Title: Murach’s MySQL, 3rd Edition Author: Joel Murach Publisher: Murach ISBN: 978-1943872367 Media: Book Verdict: A really strong book - highly recommended |
We at TechBookReport have long been fans of Murach books. These are books that are designed from the ground up to be practical — focussed, to the point and laid out to maximise the learning potential for the reader. In particular the paired page layout — with a concise question on the left page and the solution on the right — is a really great training device. And, in the case of this book, the clear design is allied to some very clear and well-structured content.
Now into a 3rd edition, this book aims to teach work-level skills for MySQL, with a focus in this issue on what's new in MySQL v8+. Organised into five sections, starting with the absolute basics of introducing a relational database, it assumes no previous exposure to MySQL or any other database for that matter. Right at the beginning there is a focus on a concrete example, in this case a simple multi-table database of invoices and vendors. It's an example that is complex enough to be useful but not so complicated and unreal that it has no bearing on real life. Things like installation instructions for MySQL Community Server and MySQL Workbench are handled in an appendix — which means that it doesn't clutter the flow of the opening material.
The chapters in the first two sections of the book are really about introducing SQL. This material starts slow but rapidly ramps up to cover aggregate queries, subqueries, data type conversions, the use of functions and so on. This part of the book is absolutely solid — and the way each topic is sign-posted means that it's easy to go back and find material if you want to use the book as a reference as well as a training tool. For those who want to go the extra mile, each chapter also includes additional exercises at the end — with downloadable sources to help along the way.
While the chapters in the first two sections use the supplied example database, in section 3 the book moves into database design. Again, this is not overly theoretical but the chapters give a solid grounding in how to create databases, how to add or change tables, create views and so on. The same lay out is used — as with the entire book this is a very task-oriented way of learning.
Stored procedures and programming are introduced in section four of the book — this includes cursors, triggers and events. As expected the book runs through the syntax and then presents a series of concrete examples to illustrate these in action. Error handling is also covered — which is essential in any non-trivial bit of code that you create for production use. The same section of the book has a chapter devoted to transactions, including save points, and concurrency and locking.
The final section of the book is devoted to database administration — from server configuration to user managements, security and backup and restore. These are the core activities needed for a DBA and the book provides a solid introduction for anyone approaching this for the first time.
Overall the book packs in a lot of material and moves very quickly from introductory to more advanced topics. The chapters on queries for example work really well even if you're not using MySQL — those sections of the book can standalone as a highly effective introduction to SQL. That's not to say that the book doesn't also include a lot of topics which are not just MySQL-specific but which are new to version 8.0. All in all, this is very highly recommended — one of the best MySQL books on the market.