Beginning Database Design, Second Edition provides short, easy-to-read explanations of how to get database design right the first time. This book offers numerous examples to help you avoid the many pitfalls that entrap new and not-so-new database designers. Through the help of use cases and class diagrams modeled in the UML, you’ll learn to discover and represent the details and scope of any design problem you choose to attack. Database design is not an exact science. Many are surprised to find that problems with their databases are caused by poor design rather than by difficulties in using the database management software. Beginning Database Design, Second Edition helps you ask and answer important questions about your data so you can understand the problem you are trying to solve and create a pragmatic design capturing the essentials while leaving the door open for refinements and extension at a later stage. Solid database design principles and examples help demonstrate the consequences of simplifications and pragmatic decisions. The rationale is to try to keep a design simple, but allow room for development as situations change or resources permit.
As boring as this topic/book can be to get through at times, the content and delivery is well thought out and greatly helped me establish a stronger understanding of relational databases and SQL. This book has been very useful, not only in projects I am currently working on in my professional and personal lives, but for projects I plan to undertake in the future. I feel confident that this material will help me dissect future problems to establish a well-balanced data model as well as a thorough understanding of the problem and its nuances.
Before starting this book I had actually completed a portion of Mrs. Churcher's Beginning SQL Queries, which I will very likely go back and complete now. I highly recommend either book. The only reason I can't give 5 stars is that it is not completely enthralling. Additionally, the distinctions between the ways different relationships can be implemented in a relational data model were not at first clear; it took some re-reading and additional reflection for it to sink in.
The book focuses on practical relational database design rather than theory. It starts from use case, progresses through data model and finally reaches data table design. The examples are vivid. As a programmer I strongly recommend it to both the junior and the experienced.
Readable, practical and useful. Plenty of examples covering the thought process, trade-offs, and design considerations. Features some Access cruft, but most of the advice is timeless and holds up well.
I just measured my dead-tree tech shelf -it's ~5 linear feet of programming books, 700-page O'Reilly tomes on Python, Perl, LAMPP stacks. This slim volume is packed with more tech punch than half of them. Its platform-agnostic approach succinctly explains *how* to approach the primary problems you'll encounter when faced with a messy spreadsheet you need to transform into a clean, maintainable database. Personally, it's even better because I work on scientific databases, the author's forte; usually I have to wade through a swamp of business application stuff (not that this book *isn't* applicable to that). Excellent.
This is a really great read for newcomers to database design, but also for experienced designers. The book covers all the really important areas and goes into great detail with some very useful examples. What is really great are the repeating examples from beginning to end, which just evolve with more technical perspectives!