Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Ed) Book Review
|This book is THE book for the database beginner. It thoroughly covers design principles and process, and it covers them in depth.|
The book is broken into four parts, Part I: Relational Database Design, Part II: The Design Process, Part III: Other Database Design Issues, and Part IV: Appendixes.
Part I starts with a chapter that gives the history of databases and the path we took to get where we are. It continues with a chapter that covers the reason to have a good design methodology and what the goal of the methodology should be.
Chapter three is really cool for those just getting into database design. It introduces some of the most common terminology used in the database design process. It is not just a glossary (which this book also has after the appendixes), it goes much further than just a definition and includes diagrams to help with the explanations.
Part II covers the database design process. Topics the author covers include table structures, field specifications, assigning primary keys, table relationships, views, and levels of data integrity.
Part III covers bad design and when bending the rules of proper design are ok.
The appendices (Part IV) include a summary of design guidelines, example form templates, diagram symbols, a check list of design guidelines, and an activity diagram (flowchart) of the database design process.
I have listed each part and the chapters they contain below.
Part I. Relational Database Design
1. The Relational Database
2. Design Objectives
Part II. The Design Process
4. Conceptual Overview
5. Starting the Process
6. Analyzing the Current Database
7. Establishing Table Structures
9. Field Specifications
10. Table Relationships
11. Business Rules
13. Reviewing Data Integrity
Part III. Other Database Design Issues
14. Bad Design—What Not to Do
15. Bending or Breaking the Rules
Part IV. Appendixes
A. Answers to Review Questions
B. Diagram of the Database Design Process
C. Design Guidelines
D. Documentation Forms
E. Database Design Diagram Symbols
F. Sample Designs
G. On Normalization
H. Recommended Reading
One thing this book does not include is coverage of the structured query language bracket (SQL). This book is purely about designing the database not about what to do with the data once it is in the database. That's not a downfall of the book, it actually makes it better. The author is able to focus on design principles and drill much further into them by excluding teaching SQL.
Overall I found the author's writing made reading the book a pleasant experience. I cannot say that for all database books I have read. Another reason it is good is that the author goes into extreme detail on each topic he covers.
The author also has made the forms he uses in the book available in Word and PDF format for download on the publisher's web site
All in all I highly recommend this book to database beginners. It will teach you how to do things the right way from the get-go.
I also recommend it for the non-DBA developer who is tasked with creating databases on their projects because the project can't afford a real DBA. There are a lot of those out there and I have seen them be the cause of many painful projects that have to manipulate good code into bad code to compensate for poor database design.
Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition)