Princess Ruruna, of the Kingdom of Kod, has a problem. Her parents, the King and Queen, have left to travel abroad. Ruruna has been left to manage the nations fruit business. Much is at stake, Kod is known as “The Country of Fruit.” Ruruna is not happy though, as she is swamped by paperwork and information overload. A mysterious book, sent by her father, contains Tico the fairy. Tico, and the supernatural book are going to help Princess Ruruna solve her problems with the power of the database. This is the setting for all that takes place in The Manga Guide to Databases. If you are like me and learned things like normalization and set operations from a rather dry text book, you may be quite entertained by the contents of this book. If you would like to teach others about creating and using relational databases and you want it to be fun, this book may be exactly what you need.
I was pleasantly surprised by this book. It really does do a great job of introducing relational database management systems. All the SQL is ANSI standard. (Except for one exception, joins, which I’ll discuss later.) There is no mention that I could find of any certain RDBMS product. Barring any proprietary quirks, everything in here should work on just about anything from Access to Oracle. Teamed up with PostgreSQL or MySQL, I think that one would have everything they need to teach an extremely inexpensive (materials wise anyway) class on building and using databases. I think that the manga format would make it especially attractive to younger people. By younger, I think high school age students would really enjoy it and I think even college students would find it to be fun if they weren’t too stuffy. If I were teaching professionals, I might worry that they wouldn’t take it seriously, but the content is solid and anyone who can lighten up can also learn from this book.
It is an introductory level book. I wouldn’t hand this to an entry level dba and turn them loose on a production system. It teaches what a relational database is, about the entity/relationship model, using standard sql, as well as transactions, recover, indexing and query optimization. That’s a pretty decent foundation. There is also a final chapter that is half manga and half more traditional straight text. The manga section gives some information on real world uses for databases and wraps up the story. The second section covers things like multi-tier web applications, stored procedures, triggers, partitioning and replication. It does this all rather quickly and basically just gives the reader an idea of what the terms mean. There is no information on actually implementation details. It wouldn’t have made sense anyway as this would have necessitated leaving the generic approach taken in the rest of the book to discuss specific RDBMS products.
The art work is well done and the side story of Ruruna, her assistant Cain and the fairy Tico is entertaining if a bit silly. I thought that it really helped to take what is really dry subject matter and lighten it up. It also introduces examples of real world situations that are being modeled in the data. They are a bit contrived as all examples are in these situations, but they still help to reaffirm how the various pieces fit together so that databases can be helpful. Each chapter picks up with the story and is graphics heavy. This is followed with a by a review section that reverts to a more text heavy mode and then there are review questions. The answers to the questions appear immediately following the questions. I think it would have been nice to have them further removed, so that one wouldn’t have any opportunity to see the answers on accident. That said, the review and quiz do a nice job of letting one gauge if they have really picked up the material. If the quiz is a struggle, it is safe to say that going back over the chapter would not be a bad idea. The questions are pretty straight forward and apply the material directly. They are not vague or wishy washy, so not knowing the answers means the reader doesn’t know the material.
As I mentioned, the books sticks to standard SQL. I was happy to see this. The only change I would make is that joins are done in the old style as a part of the where clause. The book discusses various types of joins but does not give examples of anything but a normal inner join. This may help someone considering this book to get a good feel for just how far it goes. I found the information on transactions, locking, and indexing to be very good. I really didn’t expect much in this regard, but I’ve worked with experienced, decent developers that I think would learn some things from this book especially about rolling back transactions and the limits of recovery. (Of course these are the situations where DBAs and developers are going to have some of their more interesting interaction. My bonus tip of the day is the developer that calls you in the morning about the database problem, is the one who caused it right before he went home the night before.) That said the discussion on recovery is vendor agnostic like the rest of the book and so there are not really any implementation details. The indexing section is also a bit brief and while it does a good job of explaining what an index is, I think there is too much emphasis on them increasing read speed with enough emphasis on how they may not do that at all and how they can hurt writes. These things are all mentioned, but very briefly.
If I were teaching teenagers or even lower class college students, I wouldn’t hesitate to build a class around this book. I think that the amount of fun and heightened interest it could bring to the table would far outweigh the need to supplement the book’s few shortcomings. I like that it does not tie the reader to any database product. I would also not hesitate it to a friend who wanted to learn on their own. I think someone has much higher odds of making it through this book compared to the textbooks on relational databases that I had to work through in school. But it is just an introduction. It gives the readers the tools for basic interactions with a database, and a handle on the basic terminology of database administration. Assuming that one will get more than that could lead to trouble. All the way around this is a solid book and I wish there were more like it in the IT world.
Title: The Manga Guide to Databases
Author: Mana Takahashi, Illustrated by Shoko Azuma
Publisher: No Starch Press
Tagline: Unleash the power of the database.