Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (Anglais) Broché – 14 février 2013
|Neuf à partir de||Occasion à partir de|
Les clients ayant acheté cet article ont également acheté
Descriptions du produit
Présentation de l'éditeur
The #1 Easy, Commonsense Guide to Database Design! Michael J. Hernandez’s best-selling Database Design for Mere Mortals® has earned worldwide respect as the clearest, simplest way to learn relational database design. Now, he’s made this hands-on, software-independent tutorial even easier, while ensuring that his design methodology is still relevant to the latest databases, applications, and best practices. Step by step, Database Design for Mere Mortals®, Third Edition, shows you how to design databases that are soundly structured, reliable, and flexible, even in modern web applications. Hernandez guides you through everything from database planning to defining tables, fields, keys, table relationships, business rules, and views. You’ll learn practical ways to improve data integrity, how to avoid common mistakes, and when to break the rules.
Understanding database types, models, and design terminology
Discovering what good database design can do for you—and why bad design can make your life miserable
Setting objectives for your database, and transforming those objectives into real designs
Analyzing a current database so you can identify ways to improve it
Establishing table structures and relationships, assigning primary keys, setting field specifications, and setting up views
Ensuring the appropriate level of data integrity for each application
Identifying and establishing business rules
Whatever relational database systems you use, Hernandez will help you design databases that are robust and trustworthy. Never designed a database before? Settling for inadequate generic designs? Running existing databases that need improvement? Start here.
Biographie de l'auteur
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).
Aucun appareil Kindle n'est requis. Téléchargez l'une des applis Kindle gratuites et commencez à lire les livres Kindle sur votre smartphone, tablette ou ordinateur.
Pour obtenir l'appli gratuite, saisissez votre adresse e-mail ou numéro de téléphone mobile.
Détails sur le produit
En savoir plus sur l'auteur
Dans ce livre(En savoir plus)
Commentaires en ligne
Commentaires client les plus utiles sur 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.