Database Design for Mere Mortals

Author: Michael J Hernandez
Publisher: Addison-Wesley 2013
Pages: 672
ISBN: 978-0321884497
Aimed at: Non-database experts who need to design databases
Rating: 5
Reviewed by: Kay Ewbank

When a book on database design gets to a third edition, it's almost certainly got something good going for it, and this is a new edition of a very popular book on database design.


As the name suggests, the book is aimed at people with little or no experience in database design. Hernandez makes minimal use of terms such as normal forms, but still manages to guide you through the steps necessary to create a working database design. The writing style is relaxed and easy to read.

 

Banner

 

The book is split into three main partsrelational database design, the design process, and other database design issues. There are also some meaty appendices. The first part on relational database design gives you the history of database design, what youre aiming for as a design objective, and what the terminology means. Its worth noting that Hernandez is firmly on the practical side of the debate, so youre introduced to records with a note that theyre known as tuples in relational database theory; similarly for fields (attributes), and he uses fields not columns.

 

Part II of the book covers the design process, and takes up 400 of the 672 pages. Hernandez splits the design process into seven main steps, the first of which rather scarily he callsdefining a mission statement and mission objectives. The thought of mission statements is enough to send most developers running for the hills, but what he means is that you need to get clear from the beginning just what the database should do when its finished; this can be a lot trickier than it sounds, and Hernandez is right in that you need to get things clear from the start. That way, when the client says something completely different months down the road, you have evidence! Analyzing the current database comes next, and this could mean the paper-based database youre replacing.

Creating data structures is the next step, followed by working out the primary and alternate keys for indexing. Field specifications gets its own chapter looking at topics such as field-level integrity, and the physical and logical elementsdata types, lengths, uniqueness, required values. Table relationships are covered in the next chapter, and again this topic is tackled from a practical viewpoint rather than as an intellectual exercise. Business rules, views, and data integrity bring this part of the book to a close. Throughout the book, but in this section in particular, Hernandez suggests you make use of paper forms for gathering the information, and there are copies of suitable forms in the book. I have to say that by my estimate, you could end up with hundreds or even thousands of pages of forms to fill in for a typical database, and Im not sure how practical this would be in the real world.

 


 

The next section of the book, Other Database Design Issues, is possibly the most interesting if youve got any experience of database design. Theres a chapter on bad designwhat not to do; and another on bending or breaking the rules. Both make fun and interesting reading and may teach you more than the rest of the book put together. The book finishes with eight appendices including sample forms, sample designs, and a description of normalization.

 

The techniques described in the book might at times be unwieldy, but I’d say that if you want to learn how to design a database, you’ll not regret reading this book. There will be parts where you think the point is a bit labored, but you will know how to design a database at the end of it. There’s a reason this is the third edition, and it’s because Hernandez talks sense and writes well.

 

 

Banner


Racket Programming the Fun Way

Author: James W. Stelly
Publisher: No Starch Press
Date: January 2021
Pages: 360
ISBN: 978-1718500822
Print: 1718500823
Kindle: B085BW4J16
Audience: Developers interested in Racket
Rating: 4
Reviewer: Mike James
If you have ever wanted to Lisp then try Racket.



Python Distilled (Addison-Wesley)

Author: David Beazley
Publisher: Addison-Wesley
Date: September 2021
Pages: 352
ISBN: 978-0134173276
Print: 0134173279
Rating: 4
Reviewer: Alex Armstrong
Python isn't a big language but it's getting bigger all the time.


More Reviews

When a book on database design gets to a third edition, its almost certainly got something good going for it, and this is a new edition of a very popular book on database design.

As the name suggests, the book is aimed at people with little or no experience in database design. Hernandez makes minimal use of terms such as normal forms, but still manages to guide you through the steps necessary to create a working database design. The writing style is relaxed and easy to read.

Last Updated ( Wednesday, 16 October 2013 )