BACKGROUND: I spend a large part of my working day in a SQL Server database, so I have very strong database knowledge. My daughter is 9 years old and is a very strong reader, but could care less about how a computer actually works... as long as she can get to ClubPenguin.com or the other websites she likes to visit for fun.
STORY: A friend loaned me this book to show her, so I gave it to her and asked her to try it. If she read the first 10 pages and it was boring, she should stop. If she liked it, she could keep it until she was done. She opened it on the spot and was 20 pages in before she realized she still was standing in the middle of our kitchen. One day later, she was finished and said it was "cool" and that she liked it.
I asked her if she learned anything or if it was just a story and she started talking. She said a little bit and talked about tables and how information is stored in columns and rows. She talked in a 9 year old's language and vocabulary, but basically explained to me the concept and benefits of centralized data stored in a single database. She made a couple other comments whose specifics I can't remember, but clearly articulated database ideas. It was somewhat surreal hearing these things come from a 3rd grader's mouth. She didn't feel like she had learned very much. I told her I probably could count on my fingers how many people at my work (300 people total - manufacturing industry, not IT) knew more about databases than she did, based on what she had finished telling me.
SUMMARY: She felt like she read a fun Manga-style story. In reality, she did that but also learned and retained ideas that normally would be taught to much older people. This book took what could be a dry learning experience and changed it into a fun activity no different than if she was reading her Nancy Drew books or her Lego magazines. I see that there are other topics (statistics, physics, etc.) and I'll ask her if she's interested in seeing any of the other books. If she wants to, I absolutely would buy them.
And obviously, if you're read this far, I completely would recommend this book to anyone interested in learning about databases on an introductory level.
Most of my friends and colleagues had to laugh when I told about or showed them this manga guide. Though this book is really fun to read and contains many subtle jokes, it's not something to dismiss as some crazy comic book.
Don't fool yourself, under the happy Manga lies a superb learning book on databases. The book deals with the fundamentals in a clear, quick and fun way. It's quite amazing how some conceptually difficult topics are explained in such a short book. The book brought a clear understanding of some things a 4-year bachelor's study on the subject failed to clearly explain. I hated everything Database before I read this book. Mostly because I felt it was a dry and boring subject and this idea was supported by terribly boring, big fat books with a lot of difficult language.
The book tackles all you need to know to be able to design, use and maintain a database. Subjects such as Database normalization, Database design, ERD models, SQL, ACID, locking mechanisms, query and database optimization, security, architecture, stored procedures and database replication are all explained wonderfully. There are exercises on each topic, and answers are provided a few pages further.
One of the strong points of the book is that it succeeds in explaining some very practical things without being implementation dependent. All the knowledge you gain from this book will be applicable to any database system.
The author is a sheer didactic genius! Repetition is cleverly hidden in comics, written out paragraphs, drawings and exercises. You hardly notice you are actually learning Your thought process is guided by the main characters in the book and a few hours later you know all the Database fundamentals.
People who care about the environment can also enjoy this book since it's been printed on some nice quality Sustainable Forestry Initiative paper.
This book is by far the best book I have read on the subject. I think this book absolutely rocks and recommend it to anyone working with or just interested in databases.
Everything should have it's own Manga Guide!
I have used relational databases for years. I've used them to store mailing lists, email account data for postfix, blog and forum data, and more. They are convenient and powerful time savers. Most of what I have learned has been indirectly learned while studying something else; documentation for a computer programming language like PHP or Python, a book on website design for commerce, or documentation and code for an open source project like Wordpress or Drupal. As a result, my knowledge is adequate for simple tasks and queries, but I'm nowhere near ready to be a database admin. What I know is incomplete, adequate for my actual needs, but with gaping holes in my knowledge.
Until this week, I was comfortable with this fact.
I found this systematic and foundational introduction to database design clear, interesting, and enjoyable--so much so that I have ordered a few more books on database theory and design and SQL for further study. Contrast that with the indirect introductions I have previously encountered that made me want to ignore the topic, except for the aspects vital to my task(s) at hand.
The Manga Guide to Databases uses a somewhat silly, but pleasant story with well drawn artwork to ease the reader into a complicated subject that requires paying a bit of attention to for comprehension. It begins with the assumption that the reader knows nothing about the topic, so it would be perfect as a base level introductory text, especially for high school aged readers (or those of us who are a bit older, but who still enjoy a bit of whimsy).
We start with the question "What is a database?" and a great description of how and why they are useful. We move into a basic definition of relational databases with a very brief mention of other types of databases that exist. The fun continues with a chance to design a database around the model of entities and relationships.
Once the foundation is laid with a conceptual understanding of databases and their design, structured query language (SQL) is introduced. I was thrilled to discover this wasn't product specific language, but rather standard ANSI, at least as far as I can tell (okay, I know a little more than I let on earlier, but I still consider myself a database/SQL novice). That is great, because it means that whatever is learned here should apply anywhere, whether using MySQL, PostgreSQL, Oracle, Access, Microsoft SQL Server, or whatever, so long as the product conforms to the standard. This certainly isn't a complete SQL introductory text, but it is enough to get a person started understanding the basic concepts and how to operate a database.
Ultimately, the book was a success. I wouldn't kid anyone into thinking that reading and understanding this book would make a person capable of real database administration, but it does give a clear and solid foundation for further study, and in my case has whet my appetite for going back to fill in some personal knowledge gaps that I have been content to let exist for a very long time.
Mana Takahashi, The Manga Guide to Databases (No Starch Press, 2004)
No Starch Press, one of the great repositories of Linux knowledge in America, bills itself as "the finest in geek entertainment." True, that, and they have outdone themselves in this regard by importing, translating, and publishing Ohmsha Press' edumanga series of books. I've been intrigued by these for a few years, and I figured the best place to start would be with one where I'm conversant with the material; that way I could make comments that are at least halfway intelligent. (Assuming any of my comments are halfway intelligent; I leave that to the reader to decide.) The Manga Guide to Databases was the obvious choice, given that I've been a database administrator/developer/what-have-you for fifteen years now. And if the rest of the series is as solid as this one, then I may have found a new meaning for the phrase "made of awesome." If I were a teacher (I don't have the patience for it) doing an intro to databases course, this would be one of the texts.
The setting is the Kingdom of Kon, a small island nation whose GNP come from fruit exports. While the king and queen are off touring some of the nations that import Kon's fruit, they've left Princess Ruruna and her trusty aide Cain in charge. When an increase in the price of apples goes horribly wrong, Ruruna realizes Kon needs a better way to manage its business. Enter Tico the Database Fairy, who spends the book teaching Ruruna and Cain about the benefits of storing business data in a relational database, teaching them how to design, construct, and use a simple business database. There's also a romantic subplot with Ruruna and the prince of a neighboring kingdom that adds a bit of interest for folks who look at this sort of thing as a chore.
Simply put, this is great stuff. There are a few things that could probably have been done better (Takahashi uses FROM x,y WHERE clauses instead of using JOINs, for example), but I assume some things were done the way they are for maximum portability; JOINs aren't terribly common in MyISAM databases, for example (at least judging by the MySQL books I've been reading). Still, if you're using this as a text for teaching a class, you can add in supplementary material about the bits that aren't here, or that are taught differently than you'd do it. But as far as getting students to read and understand the material, you may be hard-pressed to find a book that's this fun anywhere else, and students who have fun while learning are happy students. Well worth your time. ****
Overall I found this book quite nice and helpful. I have 13 years of experience as a professional programmer but I've never done any database programming. The reason I'm writing this review is to raise one question/nitpick about the example application that it uses pretty much throughout. The example portrays it as feature that once a database is used, prices used in orders automatically update when prices change. It seems to me this is a bug, not a feature. In designing a real system, the prices recorded in an order should remain fixed at the time of order, shouldn't they? Maybe I'm looking for this example to be too realistic. On the other hand, this seems to me such an obvious concern that it makes the example a bit confusing.
My other nitpick is one I saw raised elsewhere, which is that the SQL syntax used for joins is a bit weird. In particular the JOIN keyword is not used; instead the join conditions are placed in the WHERE clause. The place where I saw this nitpick raised suggested it was an older syntax. In general joins are not really delved into, but I can't really fault the book for that; it is not trying to be an in-depth book.