Slashdot Mirror


The Definitive Guide to MySQL 5

jsuda writes "The Definitive Guide to MYSQL 3rd Edition certainly deserves its title. It is a large, dense, complete guide to MySQL and updates its predecessor edition by covering new MySQL5 and new auxiliary software including database administration tools and interfaces. MySQL is the open-source database software which has become very popular for web-based database applications now being used by Yahoo, NASA, Slashdot, and other entities. Read on for the rest of Jsudas' review The Definitive Guide to MySQL 5 3rd Edition author Michael Kofler pages 748 publisher Apress rating 7 reviewer John Suda ISBN 1-59059-535-1 summary The Definitive Guide to Mysql 5

The author of this book, Michael Kofler, has a Ph.D. degree in computer science and is an accomplished writer of technical books. The audience is intermediate to high-level database designers and programmers. Although the presentation assumes little prior knowledge of MySQL and databases, it does assume a good amount of contact with and knowledge of programming languages. The topic of this book does not lend itself to an easy, flowing writing style. Reading through this complex material is like chewing on heavy New England pound cake. That is not a criticism of the author as he thoroughly presents the topics in a comprehensive, workmanlike, textbook-like manner. The discussions of databases and MySQL features are lightened by numerous table, charts, graphics, and examples of relevant matters.

The updating from the 2nd Edition of The Definitive Guide involves the upgrade of MySQL from version 4.1 to 5.0 which now provides support for Unicode, the sub-SELECT and GIS functions, improved authorization features, addition of stored procedures, and other new commands and server options. It also includes discussion of new or updated auxiliary software used with MySQL, like PHPAdmin and new interfaces for Open Office, Star Office, and Apo.NET.

There are six parts with twenty-three chapters and 3 appendices, amounting to 748 pages with index. The parts entail an introduction to MySQL and databases, administrative tools and user interfaces, fundamentals of database design, programming using MySQL, and detailed content references. The appendices include short segments of a glossary, bibliography, and notes about the sample code files available for downloading from the publisher's website at http://www.apress.com./

The beginning chapters introduce the basic concepts of MySQL including its client-server architecture, tables, fields, queries, keys, and the distinction between relational and object-oriented databases. The author focuses the bulk of the book on relational databases. The many features of MySQL are itemized and other matters like licensing and setting up test environments are discussed. A large segment of this early material offers instruction on installing under Windows and Unix/Linux platforms and configuring the installations for function, usability, and security. An introductory example of building an opinion poll application with PHP is provided.

Chapters 4 - 6 cover a number of administrative tools to use with MySQL, including mysqladmin, mysqldump, and PHPAdmin. The author spells out how to install and configure, set up user management and security, create and edit databases, import and export data, and use auxiliary functions, among other things.

The best chapter, in my view, is Chapter 8 on database design. The technical aspects of databases are well-covered, like the various table types and data types, but the more theoretical aspects are noted in some length. There is some art in creating databases and tables which is above the technological. Correct design with related tables is crucial to efficiency, ease of use, accuracy, ability to revise, and consistency. A segment on "tips and tricks" in database design is especially interesting.

The bulk of Part 3 contains a comprehensive presentation of SQL features, syntax, configuration, and security issues, The new functions of version 5 are explored, like GIS and stored procedures and triggers. A section on transactions for advanced users and setups is nicely done. For novice users, mention is made of the "--I-am-a-dummy" option which warns and provides a second chance to avoid inadvertent updating or deleting of a table. Chapter 14 is all about maintenance issues - backing up, importing, logging, and replication.

Part 4 deals with how to combine MySQL with programming languages like PHP, perl, Java, C, Visual Basic, and Visual Basic.NET. Each is treated similarly - detailing features, concepts, syntax, and programming techniques. Most of the attention is given to PHP, which is described as a natural companion to MySQL for use in developing dynamic web applications.

Chapter 21 is a comprehensive SQL reference of operations, functions, data types, variables and constants, and commands. There are a large number of charts and tables to bring order to the dense material. Chapter 23 contains material on the various API's which can interact with MySQL. These include PHP.API, perl.API, JDBC, ADO-net, and C.API.

For those with a need to know, and those with a desire to learn MySQL, this volume contains nearly everything you would want and expect, not only about MySQL itself but about the software that interacts with it or web servers. The author deserves credit for presenting the dense material in a thorough and orderly manner."

You can purchase The Definitive Guide to MySQL 5 3rd Edition from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

4 of 100 comments (clear)

  1. For me, not so much. by TheSpoom · · Score: 2, Informative

    Five years ago, when I first learned PHP, I needed a tutorial-style book to help me along. Granted, the PHP documentation is AWESOME as a reference, especially considering there are functions for practically anything you can think of. However, I can definitely say that having a book that went through the basics first in a style where one could easily learn the language from scratch helped me out a lot.

    (If anyone's trying to learn PHP, by the way, I highly recommend Sams' Teach Yourself PHP In 24 Hours. If you don't feel like buying a book, you could also check out the PHP Wikibook [Disclaimer: I have added parts.])

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
  2. Pre-requisite Packages... by url80 · · Score: 5, Informative

    Unfortunately, the book expects the installation of several non-essential packages beyond the MySQL client and server. These include Apache, PHP, phpMyAdmin, and Perl (Chapter 2). Then, the introductory example (Chapter 3) is mostly about programming and testing an application in PHP with a MySQL database as a backend. At this point, I realized that the organization of the book did not meet my needs and purchased "MySQL (Third Edition)" by Paul DuBois, the organization of which demonstrates that it really concentrates on MySQL and which is actually the definitive guide I was originally looking for.

  3. Re:Quiet in this thread by MrWiggum · · Score: 5, Informative

    the --i-am-a-dummy is an alias to a less unsulting option --safe-updates

  4. Re:Eh? by CoolBru · · Score: 2, Informative

    I'm really not that keen on the MySQL online docs - they are nowhere near as good as the PHP docs (especially the user notes), and there's a lot that's undocumented (seems to be much I search for). For example, where can you find out about logging warnings? I'd hope that a definitive guide was quite a bit better than the online docs.