Preface
PART I SETTING THE SCENE
Chapter 1 Preliminaries
Some quotes from the literature
A note on terminology
The running example
Keys
The place of design theory
Aims of this book
Concluding remarks
Exercises
Chapter 2 Prerequisites
Overview
Relations and relvars
Predicates and propositions
More on suppliers and parts
Exercises
PART II FUNCTIONAL DEPENDENCIES, BOYCE/CODD NORMAL FORM,
AND RELATED MATTERS
Chapter 3 Normalization: Some Generalities
Normalization serves two purposes
Update anomalies
The normal form hierarchy
Normalization and constraints
Concluding remarks
Exercises
Chapter 4 FDs and BCNF (Informal)
First normal form
Functional dependencies
Keys rex, isited
Second normal form
Third normal form
Boyce/Codd normal form
Exercises
Chapter 5 FDs and BCNF (Formal)
Preliminary definitions
Functional dependencies
Boyce/Codd normal form
Heath's Theorem
Exercises
Chapter 6 Preserving FDs
An unfortunate conflict
Another example
... And another
... And still another
A procedure that works
Identity decompositions
More on the conflict
Independent projections
Exercises
Chapter 7 FD Axiomatization
Armstrong's axioms
Additional rules
Proving the additional rules
Another kind of closure
Exercises
Chapter 8 Denormalization
"Denormalize for performance"?
What does denormalization mean?
What denormalization isn't (I)
What denormalization isn't (II)
Denormalization considered harmful (I)
Denormalization considered harmful (II)
A final remark
Exercises
PART III JOIN DEPENDENCIES, FIFTH NORMAL FORM,
AND RELATED MATTERS
Chapter 9 JDs and 5NF (Informal)
Join dependencies——the basic idea
A relvar in BCNF and not 5NF
Cyclic rules
Concluding remarks
Exercises
Chapter 10 JDs and 5NF (Formal)
Join dependencies
Fifth normal form
JDs implied by keys
A useful theorem
FDs aren't JDs
Update anomalies revisited
Exercises
Chapter 11 Implicit Dependencies
Irrelevant components
Combining components
Irreducible JDs
Summary so far
The chase algorithm
Concluding remarks
Exercises
Chapter 12 MVDs and 4NF
An introductory example
Multivalued dependencies (informal)
Multivalued dependencies (formal)
Fourth normal form
Axiomatization
Embedded dependencies
Exercises
Chapter 13 Additional Normal Forms
Equality dependencies
Sixth normal form
Superkey normal form
Redundancy free normal form
Domain-key normal form
Concluding remarks
Exercises
PART IV ORTHOGONALITY
Chapter 14 The Principle of Orthogonal Design
Two cheers for normalization
A motivating example
A simpler example
Tuples vs. propositions
The firstexample revisited
The second example revisited
The final version
A clarification
Concluding remarks
Exercises
PART V REDUNDANCY
Chapter 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
Exercises
APPENDIXES
Appendix A Primary Keys Are Nice but Not Essential
Arguments in favor of the PK:AK distinction
Relvars with more than one key
The invoices and shipments example
One primary key per entity type?
The applicants and employees example
Concluding remarks
Appendix B Redundancy Revisited
Appendix C Historical Notes
Appendix D Answers to Exercises
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Chapter 14
Chapter 15
Index