Database Design for Mere Mortals A Hands-On Guide to Relational Database Design
Michael J Hernandez’ Database Design for Mere Mortals is likely the least sexy book you’ll find reviewed on this site, but it is undeniably essential reading for anyone needing to design, build, or interact with a database.
Most websites today rely on some kind of database. Thanks to readily available content management systems, a web designer generally doesn’t have to build the database for a dynamic site herself. However, whether you’re designing or developing a web app, building a small custom cms, or simply developing a plugin for your favorite open-source CMS, it is helpful to understand how relational databases work, and what makes one well-designed.
Rather than being a instructional guide for any particular database management system or piece of software, this book lays out the fundamentals of relational database design. The techniques described in the book are “software-independent”, and can be applied to any type or size of database. If employed faithfully, they will lead to a scalable and reliable database.
After introducing the relational database, the objectives and benefits of good design, and various database-related terms, the author lays out a series of steps, which any diligent person can follow, for developing a well-designed database. Interestingly, the initial part of the process closely parallels that of the website design process, and includes:
- Composing a mission statement (Chapter 5)
- Analyzing the current database (Chapter 6)
- Stakeholder interviews (Chapter 6)
(In website design, too, we first establish the purpose of the site, analyze the existing site, and interview those who have an interest in the site.)
Tables, Fields, Relationships
The next steps get into the nitty-gritty of database design, including table structures, keys, field specifications, and table relationships. Each step is described clearly and thoroughly. For example, one of the characteristics of an ideal field:
It contains only a single value. A field that can potentially store two or more occurrences of the same value is known as a multivalued field. A multivalued field causes data-redunancy problems…The ideal field is free of these problems because it contains only a single value.
This book is set up somewhat like a textbook, with review questions at the end of each chapter (though here, answeres are provided in Appendix A. Additionally, the author provides a complete flow diagram of the design process, an outline summary of design guidelines, blank specification sheets to use on your own projects, and a complete glossary of terms.
Whether working with PHP/MySQL, ASP/SQL, or even Microsoft Access or FilemakerPro, if you’re building a database, this book is the place to start.
No comments yet…Be the first!
Comments are closed for this article.