Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design, Second Edition
||Author: Michael J. Hernandez|
List Price: $49.99
Our Price: Click to see the latest and low price
Publisher: Addison-Wesley Pub Co (05 March, 2003)
Sales Rank: 6,712
Average Customer Rating: 3.97 out of 5
Customer ReviewsRating: 4 out of 5
For Mortals, It Is Practically Valuable
A very nice book, which makes the daunting task of designing databases easy for "mortals". I like the facts that 1) the book is well written and easy to follow, 2) examples are plenty and to-the-point, 3) checklists or numbered procedures are handy for dealing with real problems.
But for "immortals" (or smarties, or professionals) who earn a living on designing databases, this book may be too simple. First, the book may be distilled into half less without losing any essential concept. Second, more serious stuff like normal forms may be added. Third, maybe an expanded chapter on special situations like analysis- or performance-centered design. But this will change the title of the book, which is not what the author wants to do, I guess.
Rating: 3 out of 5
Decent primer. For everyone else, move on.
This book favors a common-sense approach to database design, a methodology I read this book to avoid. The book is much better suited as a primer and reference of database terms. I was looking for a more rigorous and structured design methodology than his form-ridden "feel-it-out" approach he pushes. For those with more than three weeks worth of working around databases, I suggest you look elsewhere.
Rating: 2 out of 5
This book will screw you up if you wanna go pro.
***NOTE: This review is for the 1997 edition. There has been an update made for 2003 which may or may not address the specific concerns herein.
We'll start with the technical contents. While some reviewers may say this is a book for beginners, I say it's a book for stupid beginners. Let's look at chapter one.
He makes some dubious assertions, such as page 15's highlight that thorough knowledge of SQL isn't necessary. I need to state credentials here: I lead a technical team doing Oracle database development, and I've written code for IBM's DB2, Sybase's Enterprise Adaptive Server, Microsoft's SQL-Server, and now Oracle 8i, 9i, and 9iAS. I'm telling everyone now: you can't be a professional database devloper or designer without thorough SQL knowledge. If you don't know how to use it, or how people need to use your designs through SQL, then you're a liability to the team... not that you'd pass the technical interview after this book anyway.
And page 17 has a little gem about why relational databases were slow because the underlying architecture (CPU, DASD, etc.) wasn't fast enough. Well, yeah, that and the fact that writing a relational database engine is hard, and requires serious horsepower. It *is* the relational database's fault that it was initially slow, because it's not a trivial system.
Dear readers, this is just Chaper One, his overview of databases, and my commetary hadn't even developed full steam yet.
I have index cards for the first six chapters, all with some serious conflicts about his assertions, facts, and teaching methods. I haven't done this kind of in-depth refutation (for free) since college, but the content troubled me enough to capture it. It comes to this single point: this book will screw up beginners.
The terminology is wrong in some key spots. The author doesn't distinguish poor design at first, and takes some liberties in naming things: multivalued fields are really variable arrays, he refuses to use industry terms like 'constraint', 'row', or 'column'. By chapter three, I'd better not be seeing the components of a table referred to as 'fields' and 'records' but sure enough, he's plugging along. He mixes in database design goals with business requirements gathering, meeting facilitation, and other stray bits of knowledge he happens to have laying around. The book will not teach you database design correctly.
I think part of it is the goals of the book do not match the title. This is trying to be a primer for beginniner database developers; at that task he's more successful, but claims of being "database-independent" fall woefully short: there's no mention of ANSI-SQL in any detail, which is the lingua franca of database developers and the only database-independent method of conveying universal principles. Nope, he sticks to a decidely Access-oriented terminology (records and fields! Fie on it!).
I'll stick with the two-star rating, because his latest version may yet hold promise for beginners, and because if you happen to be using Microsoft Access, this book will actually help you. If you want to write database code for me, though, I'd suggest working your way through Joe Celko's books instead.
· Absolute Beginner's Guide to Databases
· Inside Relational Databases
· 10 Minute Guide to Microsoft(R) Access 2002
· SQL Queries for Mere Mortals: A Hands-On Guide to Data Manipulation in SQL
· Sams Teach Yourself SQL in 10 Minutes (2nd Edition)