The book covers MySQL Workbench and is approximately 450 pages in length , divided into four major parts: Configuration, Data Modelling, SQL Development, and Server Administration.
Part I: Configuration. This consists mostly of installation screenshots on Windows, Linux and Mac which comes to around 100 pages. A single reference install would have more than sufficed, these pages could have been put to better use in explaining concepts and functionality.
Part II Data Modelling. As it stands, the Data Modelling Concepts chapter in contrast to Part I, is compact and word dense , written in an academic style which doesn't sit well with the rest of the book, for example, I'm fairly sure that most people understand atomicity, without having to resort to explanations such as: "atomic is a poor word choice because you can now break atoms apart into quarks...that's why indivisible fact substitutes for atomic". The modelling concepts could have been further expanded with clear examples and illustrations.
Further along in Part II we begin to create objects through the GUI (as shown by screenshots). The mechanics of object creation are shown but this is somewhat let down by the absence of a worked example (and scripts for the objects should one choose to review the sql). What becomes apparent in this section is that not all objects are covered, references are made to another of the author's titles : Oracle Database 11g & MySQL 5.6 Developer Handbook (Oracle Press). Creation of tables, indexes and foreign keys are covered, but database triggers, partitioning, storage options and privileges are not. The author does explain that these further options require a better understanding of SQL development which is out of the scope of this book. Further chapters do introduce some object creation scripts which would have been helpful earlier in the book, or possibly in a dedicated appendix entry. The chapter on reverse engineering of databases is a gem.
Part III: SQL Development and Part IV: Server Administration are excellent sections and are clearly explained. The SQL development chapters deal with inserts, updates, deletes and multiple edits using the GUI and SQL file management. Server administration covers managing instances, users, roles, imports & exports and migration. These chapters are well written and provide a solid foundation for MySQL server management using Workbench.
The strength of the title lies in the author's expertise and the advice given, especially in the grey panel entries. The author also purposefully includes common errors into some sample exercises which helps reinforces learning. This helps to overcome common teething problems when working with MySQL Workbench. The title is let down somewhat by a terse and dense section on modelling concepts and the absence of a worked modelling example . It also uses an older version of Workbench so screenshots don't match the current product which is confusing when using the later versions of Workbench.
A clearer, more detailed and illustrated chapter on modelling concepts, rather than numerous installation screenshots in the early chapters would have much improved the book, nudging it into 4 star territory.
I was offered the chance to look at MySQL Workbench: Data Modelling & Development by Michael McLaughlin which I took up as I was interested to know more about the Workbench tool (despite having worked with MySQL on and off for about 10 years, I've only really used command line and SQL editors or Eclipse plugins when working with MySQL).
From a pure readability perspective, this is undoubtedly technically well written. My difficulty with the book comes from the style, and presumed level of intelligence of the reader. The difficulty comes from several perspectives' firstly the author can feel a little condescending, to illustrate my point on page 180 the book says `Select Schemata step (that's a fancier word for the fancy word schema) `. Do you really need such a statement? Further the book spends the best part of the first 100 pages on walking through UI based installers for Windows 7, Linux (Debian and Fedora), and Mac OS X. Although the look and feel of these installers will differ slightly, aside from some of the environmental considerations (configuring your hosts file for example) the installation process is consistent enough (and obvious enough given it is UI wizards) to only need to explain the end to end process for one platform, and then just address the differences for the other platforms, not repeat the entire process. The only blessing in these first couple of chapters the author has thought to highlight a few common install issues and their resolutions (addressing my classic complaint people only think about the happy path).
during the installation, the book makes reference to the use of DNS, but I don't believe the use of DNS in a production environment is particularly well explained.
Having waded through to chapter 3 we can get started with the modelling aspect of the workbench. The chapter sets out first to explain some modelling concepts - starting with Object Orientation (OO) but doesn't do a great job of it, starting out making reference to a number principles but then talking about the `principle of the one', given my experience I did understand what the author was trying to express but, for someone experienced it could have been more simply expressed. after OO, Normalisation is explained, and what defines the different levels of normalisation, but not the mechanics that can be followed to go from the levels of normalisation (something I was taught over 20 years ago). Given that book talks about modelling, I had expected the book to at-least touched upon other modelling approaches used for delivering the needs of data warehousing (star schemas etc), but his didn't even obtain an aside. Having spent nearly 100 image heavy pages on installation, all of these concepts are introduced in a single very text heavy chapter, which feels like we've swung too far the other way.
As the book goes on into development aspects it errs away from addressing SQL at all, and focuses entirely on designing with INNODB table behaviours. Admittedly INNODB is the common engine (and the default assumed behaviour when thinking about database tables) but isn't the only table type. All of which is a shame as if you want to get the most out of MySQL the other table types have their value and benefits.
So, what value does the book bring. Well for a student learning about databases for the 1st time (hard visualize when you think how pervasive the technology is today - even smart phones carry DBs now) this book along with a good guide on SQL and you'd be well on your way to getting some practical experience with MySQL. to be honest the book would have setup far better expectations if it had been called MySQL Workbench for Dummies. For the seasoned engineer who has worked with MySQL, understands database design then you might want to think twice about getting this book; that said I did pickup a few useful titbits - but getting them was hardwork.
One person found this helpful.
Was this review helpful to you?