MySQL & mSQL
Review by Brian Smither

Data. It's all about the data. Organized coherently, it becomes information and information is power. The framework for holding data in an organized manner is the database. That framework can take many forms but regardless of which form is constructed (and in many cases, the form is isolated from the user), there must be a way to add, read, edit, and delete data within that framework. Apparently, the best way is to have the computer do those functions. Which then brings up this question, "How best to tell the computer what to do?"
As fanciful as science fiction can get-3D virtual environments where data exists as clusters and you assemble relationships by the virtual "grabbing" of these clusters and clumping them together-the fact is that we are still stuck with what is, in effect, the "command-line interface." Phrases, sometimes "sets of phrases" or "scripts," are sent to the database to perform the necessary functions. So here we are at the nitty-gritty question, "What's the best way to express these phrases?"
According to Yarger, Reese, and King, the database industry has adopted the "Structured Query Language," or SQL. The language is very English-like in its composition: verb, noun, adjective(s), modifier(s). The complete SQL standard has a rich collection of verbs, adjectives, and modifiers and requires significant resources to power the database "engine," the actual mechanism of moving, aggregating, and sorting huge amounts of data. If your requirements are not so demanding, MySQL or mSQL is for you.
The languages MySQL and mSQL are versions of the SQL standard language whose engines implement only the most common functions. As such, individuals and small to medium organizations and Web sites can implement a perfectly capable client/server environment on small PCs. MySQL and mSQL have very few differences, hence their coverage in the same book is appropriate.
MySQL & mSQL discusses all this and much, much more. Specifically, Yarger, Reese, and King start with database structure and what it means to be "relational." They next discuss maximizing database efficiency through a process of "normalization." Normalization is where oft-repeating data and ambiguous relationships are segregated and clarified. Obtaining, installing, and administrating the engines are also covered.
Since these engines are controlled via command phrases, several chapters cover various programming environments and methods of issuing those phrases and receiving the output generated. They include CGI, PERL, Python, PHP, C++, and Java. The command set is listed in the final section of the book.
It is important to note that in many cases, use of the MySQL and mSQL database engines is at low or zero cost. Both are "open source," meaning knowledgeable users are typically permitted to make necessary modifications.
MySQL & mSQL by Yarger, Reese, and King is an excellent book not only for its thorough coverage of these languages, but also for those chapters that teach the reader how to plan, prepare and implement good relational database designs.
By Randy Jay Yarger, George Reese, and Tim King
[500 pages, $34.95]
O'Reilly, 1999
ISBN: 1-56592-434-7
Adobe InDesign Classroom in a Book
Review by Eric Butow

Adobe's Classroom in a Book series is the most effective way to learn how to use Adobe software, particularly if you're new to an Adobe program. Adobe brings two parallel approaches to the Classroom in a Book series: They're created by the people at Adobe, so they know how to use the software, and Adobe Press presents material in a step-by-step format broken into about a dozen "lessons" that teach you different skills. These approaches apply to Adobe InDesign Classroom in a Book, and they make this book the best choice for new InDesign users.
The book is divided into 12 separate lessons on how to perform specific tasks-from setting up your document to adding text and graphics to color management-with a preface that lets you tour Adobe InDesign. Before you start on the preface you should install the software examples and fonts that come on the book's supplemental CD-ROM. The software examples let you perform the book's various tasks, since the tasks require that you manipulate the examples. The fonts ensure that you can view the examples correctly and that the onscreen examples match the screen shots in the book.
Each task in the lesson lets you perform the task step by step. Each step is clear and concise, and many of the steps include screen shots so you can see what an object, dialog box, or the document should look like as you perform the step. All the lessons end with several review questions with their answers immediately following, and several lessons contain "on your own" sections that suggest other tasks readers can perform at their leisure. A 22-page insert contains full-color representations of examples that appear in black-and-white elsewhere in the book.
As with several other books in the Adobe Classroom in a Book series that I've read, the organizational choices for Adobe InDesign Classroom in a Book perplex me. In the Adobe InDesign Classroom in a Book, the first three lessons discuss setting up your document, then Lesson 4 discusses colors, tints, and gradients, then Lessons 5 and 6 discuss text formatting. Lessons 7 and 8 discuss graphics again before the book moves on to advanced frame techniques and color management. It seems odd to me that Lesson 4 would be kept apart from the graphics chapters, especially since at that point the user doesn't know how to place text yet, let alone create and place graphics.
If you want to learn InDesign using this book, it may behoove you to change the order of the lessons to present, in my humble opinion, a more logical flow. That is, you may want to skip Lesson 4 and return to it after you have learned how to fill objects in Lesson 8. Adobe InDesign Classroom in a Book was written for InDesign 1.0, but the changes to InDesign 1.5 are not significant enough that they affect the lessons in the book.
Adobe InDesign Classroom in a Book is not a replacement for the InDesign manual, but it tells you how to perform InDesign tasks effectively. That fact is what makes Adobe InDesign Classroom in a Book the best choice for users who want to learn InDesign.
Adobe InDesign Classroom in a Book
By Adobe Creative Team
Adobe Press, 2000
[431 pages, $45, with CD-ROM]
ISBN: 0-201-71026-9
Looking Good on the WEB
Review by Brian Smither

Some books are prime examples of good, solid, well-rounded content—like a meal with items from each of the four major food groups: examples, tutorials, fixing mistakes, and suggested projects. Some books are filling but of dubious educational value—no better than junkfood, Cheesy Poofs, for example: samples, clues, and hints but no real explanations.
Looking Good on the Web is in the Cheesy Poofs category: three sections, twelve chapters, 170 pages of no-utensils-needed, "do it like this, not like that" common-sense advice, but no thick-and-juicy "get your hands dirty" content.
"The Basics of Web Design" covers the subliminal effects of typeface, color, graphics, and page layout on readability and viewers reactions. "Designing from a Strong Foundation" covers the need for and typical samples of navigation buttons, site layouts, methods of interactivity, and inoffensive advertising banners. "Troubleshooting" mentions probable obstacles and headaches in the design and redesign phases, but doesn't solve any real programming gotchas.
Take the money you would have spent on this book, add a few more dead presidents, and get something that specifically steps you through building a Web site. Such a book will undoubtedly cover the same topics as Looking Good on the WEB but would go into deeper detail on how to accomplish those objectives.
Looking Good on the WEB
Daniel Gray
[200 pages, $29.99]
The Coriolis Group, 1999
ISBN: 1-57610-508-3