Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design Paperback – 14 Feb 2013
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Frequently Bought Together
Customers Who Bought This Item Also Bought
Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
About the Author
Michael J. Hernandez, a relational database developer with more than twenty years of experience, was a program manager and product manager for Microsoft’s Visual Studio group. He has been a premier instructor with organizations such as AppDev Training Co., Focal Point, Inc., and Deep Training, and was a top-rated speaker at technical conferences across the United States, Europe, and South America. With John L. Viescas, he coauthored SQL Queries for Mere Mortals®, Second Edition (Addison-Wesley, 2008).
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Most Helpful Customer Reviews on Amazon.com (beta)
Hernandez' method and presentation of it are distinctly different from all other books I've read on database design. The author has developed a fairly thorough approach for designing relational databases without requiring the designer to delve into the traditional mathematical jargon and occasionally difficult concepts upon which relational theory is based.
Besides the easy understandability to a layman, it seems to me the biggest values in Hernandez' approach and the book is that it is well described as sequence of operations to do with short interviews of the various stakeholders in the database's intended environment. I learned to do similar interviews pretty well through years of experience but without having been taught a method.
Although the whole method appears valid, a few limitations and drawbacks of the book surfaced on my first reading:
* The method has so many steps it isn't likely that someone can memorize it all.
* Though not surprising from the subtitle, the design method here is inextricably tied to the relational model. (I had hoped that the approach would be more generalized and then show how to produce a valid relational model from a conceptual design. The latter is the way I've been teaching up to now so Hernandez' approach loses some flexibility.)
* It's laborious: The whole method is VERY heavy on filling out lengthy forms to document each table, field, view, etc. In theory this good, but it is done in a way that could easily require my students to record 50+ pages worth of forms for their main class project before they even start to implement anything. Designing some production database systems I deal with would have produced 2,000 pages of these forms. It might be possible to adapt the essence of these forms into a different layout that would be more efficient, and would really appreciate hearing comments about the voluminous forms from anyone who has used the method.
* In Chapter 10, the matrix method used for "Identifying Existing Relationships" is confusing and inefficient. Although the final results are valid, the intermediate notations make an improper and misleading unidirectional use of the 1:1 and 1:N cardinality notations. There are a couple of ways to correct this part of the method that I would use if I taught from it.
Database Design for Mere Mortals is the perfect introduction to relational database design for the novice and anyone needing a refresher. Straight forward examples and the absence of complex mathematical terms common with other books on the topic make this an easy, enjoyable and very practical read for anyone seeking to understand relational database design from an operational database perspective.
Disclaimer: I have to admit being biased towards this book. I read the first edition of Database for Mere Mortals when I was just starting my career in database application development 15 years ago and I have referred to it often over the years. Lacking a degree in Computer Science and Mathematics, I was daunted by the other books on the market at the time on Database Design Theory. However, when I came across this book, it launched my career in ways that I could not have predicted at the time.
Database Design for Mere Mortals is written is a straight-forward, easy to read format. The author clearly explains complex relational concepts without the use of difficult to understand mathematical jargon. The design process that the author lays out in this book is concise, yet complete for the purpose of properly designing a well-tuned operational database based on relational database technology. To get value out of this book requires no database experience nor a background in computer science or mathematics on the part of the reader. The author only briefly mentions the Normal Forms (the mathematical theory of relational database design) by name but the process that he lays out allows the reader to fully implement a database consistent with the Normal Forms without having to decipher their meaning.
Anyone starting out in either a Database development, design or analysis role will get a lot of value out of reading this book. I have recommended this book to everyone that has asked me how to get started in Databases for the last 15 years.
This book is not the only database design methodology in practice today. Analytical Reporting Databases typically use a dimensional modeling approach which the author kindly directs the user to in his further reading section. Even someone working with a non-operational database would benefit greatly from the techniques outlined in this book prior to applying dimensional modeling techniques.
My only disappointment with the 3rd Edition of Database Design for Mere Mortals is that I had hoped the author would have touched more upon the topics of Agile database development and database refactoring. The trend in the industry is to allow less time for formalized, quality design processes such as this one. Unfortunately, this trend usually sacrifices data integrity and sound design practices for rapid and flexible development.
My only real criticisms are:
1. That he did not go enough into effectively indexing, applying primary/foreign keys, and applying constraints.
2. There was not enough discussion of the various "normalized" forms, when they should be used, and so forth. This is covered in a "flyover" manner that makes sense, but perhaps a more "in-depth" discussion of normalized forms is beyond the scope of the book.
I felt like I knew most of the information, but I didn't feel this book was a waste of money, as many of his "common sense" approaches I will utilize in my own DB designs in the future.