This book provides a concise presentation of the basic principles of database design. It deals with the widely accepted core definitions and conclusions that can be precisely stated and proven. Most of the topics covered are essential to the concluding chapter on "normalization" — a knowledge of which is crucial for avoiding problematic database designs.
In addition to brevity, the structure of the book is meant to minimize page turning by making it unnecessary to flip back to previous pages. For example, to allow the reader to view all the information on a topic at once, the text appears on the left and the corresponding examples on the right of facing pages.
The book consists of five chapters as follows: The first two describe the basic techniques of modeling the real world with a database. Chapter Three covers common "operations" one can do with a database. Most of these operations pertain to using rather than designing a database; however, a few of them are also crucial for design. "Dependency and decomposition" — important in their own right and also required for the final chapter — receive a comprehensive treatment in Chapter Four. The book concludes with Chapter Five's coverage of normalization where the levels of good database design are defined along with procedures for attaining these levels. Also, problems that can occur when a database is not at a given level are described and illustrated by examples.
Table of Contents Chapter 1 Modeling Entities 1
1.1 Tables 2
1.2 Relations 4
1.3 Keys 6
Chapter 2 Modeling Relationships 9
2.1 Foreign Keys 10
2.2 Relationships 12
2.3 Foreign Key Update Rules 14
Chapter 3 Relational Algebra 17
3.1 Unary Operators 18
Rename 18 Select 18 Project 20
3.2 Simple Binary Operators 20
Union 20 Difference 22 Intersect 22
3.3 Concatenation Operators 24
Product 24 Theta-Join 26 Equi-Join 28 Natural Join 28 Left Outer Joins 30 Right Outer Joins 34 Full Outer Joins 34 Divide 36
Summary of Operator Properties 38
Chapter 4 Dependence and Decomposition 39
4.1 Functional Dependence 40
4.2 Multivalued Dependence 44
4.3 Decomposition 46
Non-loss Decomposition 46 Independently Updateable Decomposition 48
4.4 Join Dependence 50
Chapter 5 Normalization 55
5.1 First Normal Form 56
5.2 Second Normal Form 62
5.3 Third Normal Form 64
5.4 Boyce/Codd Normal Form 68
5.5 Fourth Normal Form 70
5.6 Fifth Normal Form 72
Appendix: Proofs 77
Proofs for Chapter 3 – Relational Algebra 78
Proofs for Chapter 4 – Dependence and Decomposition 98
Proofs for Chapter 5 – Normalization 105
References 115
Index 116
Mr. Hopkins has degrees in mathematics and physics from The Ohio State University. He has worked extensively in diverse aspects of the computing field — most recently in the design and implementation of databases