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.
- First off, this book is well-written. Mr. Hernandez does a good job of explaining the “why” behind his explanations. He also provides tips that just seem to make sense. He advises that a table have a name that is plural, because each record is one “instance” of the data related to the table. As an example, a table called CarColors would have several rows, each containing one car color.
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.
- I like that book. It was easy to read, unfortunately there is to much of copy paste. I would rate it 5 stars if book took just 300 pages, seriously there is not much in order to make 600 pages. But approach brought by author is interesting, anyway I would like to ask the question. How good does this approach fit at 2018 with agile, scrum? I am not sure that I’ll get back to read this book one more time, which is really important sign for me, maybe because it is easy book. What I don’t like very much, author mention that competitor authors don’t know something, well…
- Step-by-step Hernandez walks you through every detail of designing a workable relational database. It is not for the lazy, superficial reader. If you want to design a database, you follow his method line by line, step by step. I used a lot of boolean (true/false) fields in my database, and I fault him for not covering adequately boolean fields. But other than that, it is a masterful work by a very skilled and intelligent author and worth every penny. But you should be warned, there are no short-cuts and it takes a lot of work!
- If u’re looking for completely theoretical background concepts of a database design process with a bunch of definitions, information gathering and case studies, then this is the book for u (I could see this book being used as a reference for college courses/for beginners). But for someone who’s looking for something practical like Indexing, Normalization…, then look for some other options. Disappointed and returning this book.
- 610 pages of verbose, repetitive, drivel. About 20 pages are useful, but even the information on these pages can be gotten from generic internet pages on databases. You get almost half-way through before you realize that you are not going to learn how to design your own database. Don’t understand all the 5-star reviews; they certainly are not warranted. Save your money and look elsewhere.
- I read this book while searching for different textbooks to use in the university database course I teach.
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.