What makes this book different from others on database design? Many resources on design practice do little to explain the underlying theory, and books on design theory are aimed primarily at theoreticians. In this book, renowned expert Chris Date bridges the gap by introducing design theory in ways practitioners can understand—drawing on lessons learned over four decades of experience to demonstrate why proper database design is so critical in the first place.
Every chapter includes a set of exercises that show how to apply the theoretical ideas in practice, provide additional information, or ask you to prove some simple theoretical result. If you’re a database professional familiar with the relational model, and have more than a passing interest in database design, this book is for you.
Questions this book answers include:
- Why is Heath’s Theorem so important?
- What is The Principle of Orthogonal Design?
- What makes some JDs reducible and others irreducible?
- Why does dependency preservation matter?
- Should data redundancy always be avoided? Can it be?
Databases often stay in production for decades, and careful design is critical for avoiding subtle errors and processing problems over time. If they’re badly designed, the negative impacts can be incredibly widespread. This gentle introduction shows you how to use important theoretical results to create good database designs.
Table of contents
- Database Design and Relational Theory
- I. SETTING THE SCENE
II. FUNCTIONAL DEPENDENCIES, BOYCE/CODD NORMAL FORM, AND RELATED MATTERS
- 3. Normalization: Some Generalities
- 4. FDs and BCNF (Informal)
- 5. FDs and BCNF (Formal)
- 6. Preserving FDs
- 7. FD Axiomatization
- 8. Denormalization
III. JOIN DEPENDENCIES, FIFTH NORMAL FORM, AND RELATED MATTERS
- 9. JDs and 5NF (Informal)
- 10. JDs and 5NF (Formal)
- 11. Implicit Dependencies
- 12. MVDs and 4NF
- 13. Additional Normal Forms
- IV. ORTHOGONALITY
15. We Need More Science
- A LITTLE HISTORY
- DATABASE DESIGN IS PREDICATE DESIGN
- EXAMPLE 1
- EXAMPLE 2
- EXAMPLE 3
- EXAMPLE 4
- EXAMPLE 5
- EXAMPLE 6
- EXAMPLE 7
- EXAMPLE 8
- EXAMPLE 9
- EXAMPLE 10
- EXAMPLE 11
- EXAMPLE 12
- MANAGING REDUNDANCY
- REFINING THE DEFINITION
- CONCLUDING REMARKS
- 15. We Need More Science
- A. Primary Keys Are Nice but Not Essential
- B. Redundancy Revisited
- C. Historical Notes
- D. Answers to Exercises
- About the Author
- Title: Database Design and Relational Theory
- Release date: April 2012
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781449328016
You might also like
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …