Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Tuesday, April 09, 2013

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
3. Terminology

Part II. The Design Process
4. Conceptual Overview
5. Starting the Process
6. Analyzing the Current Database
7. Establishing Table Structures
8. Keys
9. Field Specifications
10. Table Relationships
11. Business Rules
12. Views
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)

posted by tadanderson at 5:39 PM

0 Comments:

Post a Comment

<< Home

Previous Posts

  • Implementing Domain-Driven Design Book Review
  • Tool for Reverse engineering SharePoint 2007/2010/...
  • The Advanced iOS 6 Developer's Cookbook Book Review
  • Blender Master Class: A Hands-On Guide to Modeling...
  • Sams Teach Yourself iOS 6 Application Development ...
  • Building Windows 8 Apps with JavaScript Book Review
  • The Essence of Software Engineering: Applying the ...
  • CSS3: The Missing Manual 3rd Edition Book Review
  • The Book of GIMP: A Complete Guide to Nearly Every...
  • Learning Cocoa with Objective-C: Developing for th...



Powered by Blogger