Paperback: 442 pages
Publisher: O'Reilly Media; 2 edition (April 2002)
Product Dimensions: 7 x 1.1 x 9.2 inches
Shipping Weight: 1.4 pounds (View shipping rates and policies)
Average Customer Review: 3.3 out of 5 stars See all reviews (14 customer reviews)
Best Sellers Rank: #1,561,581 in Books (See Top 100 in Books) #191 in Books > Computers & Technology > Databases & Big Data > MySQL #688 in Books > Computers & Technology > Networking & Cloud Computing > Data in the Enterprise > Client-Server Systems #705 in Books > Computers & Technology > Databases & Big Data > SQL
The title is not all together indicative of what the authors try to accomplish in this book. The book attempts to be both a tutorial and a reference for programmers and administrators. The book consists of four major parts. The first part is the Introduction, which contains chapters on MySQL in general, installation on Unix and Windows, SQL for MySQL, and general Database Administration. This is accomplished in less than eighty pages which makes for brief explanations, limited illustrations, and examples. The second part is the MySQL Administration. This part has chapters on Performance Tuning, Security, and Database Design. The third part is MySQL Programming. The chapters' topics include general database applications, Perl, Python, PHP, C API, Java, and extending MySQL. Part four is the MySQL Reference. SQL syntax for MySQL, MySQL data types, Operators and Functions, MySQL PHP API Reference, C Reference, and Python DB-API are the chapter topics included in this part.The authors do not assume that the reader is knowledgeable about relational databases in general, SQL, or the related topics. For example, the chapter on SQL on MySQL does not just describe the subset of SQL-92 that MySQL supports, but rather it contains a tutorial on the SQL for the commands that MySQL supports. Chapter seven on Database Design contains a tutorial on taking a database to third normal form complete with Entity-Relationship diagrams, unique identifiers and relationships. In part four, the PHP chapter contains a mini-tutorial on PHP and a complete PHP application. While the level of thoroughness is nice in the sense that you do not have to refer to other volumes to comprehend the subject, it makes for some very intense reading because of the size of the book versus the topics covered.
This book is clearly and succinctly written, and provides an excellent introduction to MySQL. It starts with a few pages on the history and philosophy behind MySQL, which is useful if you want to understand the advantages and disadvantages of MySQL relative to other options such as PostgreSQL or Oracle. It then follows with chapters on installation, with specific instructions for Solaris, Linux, and Windows; on MySQL's dialect of SQL (Structured Query Language); and on basic administration tasks such as configuration, startup and shutdown, logging, backup, and recovery. That's really all you need to get a basic database up and running, and it's all in the first 80 pages of the book.Part II of the book covers more advanced administrative tasks, with chapters on performance tuning, security, and database design. This section of the book is weaker than the first section; while there's some useful introductory material on each of these topics, depth is lacking. For example, the discussion of putting a database into second normal form is misleading because it uses a table with only one field as the unique identifier, making it impossible to clearly illustrate the removal to a smaller table of fields that are dependent on only part of a (typically multifield) unique identifier. Also, some of the more advanced MySQL features which might be appropriate for this section are omitted.Part III of the book, entitled "MySQL Programming", has sections accessing MySQL from Perl, Python, PHP, C, Java. These sections are mostly limited to information specific to MySQL that might not be found in general purpose documentation of these languages.