Synopses & Reviews
This book sheds light on the principles behind the relational model, which is fundamental to all database-backed applications--and, consequently, most of the work that goes on in the computing world today. Database in Depth: The Relational Model for Practitioners goes beyond the hype and gets to the heart of how relational databases actually work.Ideal for experienced database developers and designers, this concise guide gives you a clear view of the technology--a view that's not influenced by any vendor or product. Featuring an extensive set of exercises, it will help you:
Database in Depth
- understand why and how the relational model is still directly relevant to modern database technology (and will remain so for the foreseeable future)
- see why and how the SQL standard is seriously deficient
- use the best current theoretical knowledge in the design of their databases and database applications
- make informed decisions in their daily database professional activities
will appeal not only to database developers and designers, but also to a diverse field of professionals and academics, including database administrators (DBAs), information modelers, database consultants, and more. Virtually everyone who deals with relational databases should have at least a passing understanding of the fundamentals of working with relational models.Author C.J. Date has been involved with the relational model from its earliest days. An exceptionally clear-thinking writer, Date lays out principle and theory in a manner that is easily understood. Few others can speak as authoritatively the topic of relational databases as Date can.
This book sheds light on the principles behind the relational model, which is fundamental to all database-backed applications--and, consequently, most of the work that goes on in the computing world today. Database in Depth: The Rela
About the Author
Chris Date has a stature in the database industry thats unique. He enjoys a reputation thats second to none for his ability to explain complex technical issues in a clear and understandable fashion. His previous books for OReilly include SQL and Relational Theory (2nd edition); Database Design and Relational Theory; and View Updating and Relational Theory. The present book serves as an introduction to those previous ones.
Table of Contents
Dedicated to the memory of E.F.Codd; Foreword; Preface; What Makes This Book Different?; Further Preliminaries; Conventions Used in This Book; Using Code Examples; Safari Enabled; Comments and Questions; Acknowledgments; Chapter One: Introduction; 1.1 A Remark on Terminology; 1.2 Principles, Not Products; 1.3 A Review of the Original Model; 1.4 Model Versus Implementation; 1.5 Properties of Relations; 1.6 Relations Versus Relvars; 1.7 Values Versus Variables; 1.8 Summary; 1.9 Exercises; Chapter Two: Relations Versus Types; 2.1 Domain-Constrained Comparisons; 2.2 Data Value Atomicity; 2.3 So What's a Type?; 2.4 Scalar Versus Nonscalar Types; 2.5 Summary; 2.6 Exercises; Chapter Three: Tuples and Relations; 3.1 What's a Tuple?; 3.2 Some Important Consequences; 3.3 What's a Relation?; 3.4 Further Important Consequences; 3.5 Why Duplicate Tuples Are Prohibited; 3.6 Why Nulls Are Prohibited; 3.7 TABLE_DUM and TABLE_DEE; 3.8 Summary; 3.9 Exercises; Chapter Four: Relation Variables; 4.1 Updating Is Set-at-a-Time; 4.2 More on Candidate Keys; 4.3 More on Foreign Keys; 4.4 More on Views; 4.5 Relvars and Predicates; 4.6 More on Relations Versus Types; 4.7 Summary; 4.8 Exercises; Chapter Five: Relational Algebra; 5.1 More on Closure; 5.2 The Original Operators; 5.3 Evaluating SQL Expressions; 5.4 Extend and Summarize; 5.5 Group and Ungroup; 5.6 Expression Transformation; 5.7 Relational Comparisons; 5.8 More on Relational Assignment; 5.9 The ORDER BY Operator; 5.10 Summary; 5.11 Exercises; Chapter Six: Integrity Constraints; 6.1 Type Constraints; 6.2 Database Constraints; 6.3 Transactions; 6.4 Why Database Constraint Checking Must Be Immediate; 6.5 But Doesn't Some Checking Have to Be Deferred?; 6.6 Constraints and Predicates; 6.7 Miscellaneous Issues; 6.8 Summary; 6.9 Exercises; Chapter Seven: Database Design Theory; 7.1 The Place of Design Theory; 7.2 Functional Dependencies and Boyce/Codd Normal Form; 7.3 Join Dependencies and Fifth Normal Form; 7.4 Two Cheers for Normalization; 7.5 Orthogonality; 7.6 Some Remarks on Physical Design; 7.7 Summary; 7.8 Exercises; Chapter Eight: What Is the Relational Model?; 8.1 The Relational Model Defined; 8.2 Objectives of the Relational Model; 8.3 Some Database Principles; 8.4 The Relational Model Versus Others; 8.5 What Remains to Be Done?; 8.6 Summary; 8.7 Exercises; Appendix A: A Little Bit of Logic; Propositions; Predicates; Quantification; Free and Bound Variables; More on Quantification; Database Constraints; Queries; Some Equivalences; Summary; Suggestions for Further Reading; Colophon;