Synopses & Reviews
Views are virtual tables. That means they should be updatable, just as "real" or base tables are. In fact, view updatability isnt just desirable, its crucial, for practical reasons as well as theoretical ones. But view updating has always been a controversial topic. Ever since the relational model first appeared, there has been widespread skepticism as to whether (in general) view updating is even possible.
In stark contrast to this conventional wisdom, this book shows how views, just like base tables, can always be updated (so long as the updates dont violate any integrity constraints). More generally, it shows how updating always ought to work, regardless of whether the target is a base table or a view. The proposed scheme is 100% consistent with the relational model, but rather different from the way updating works in SQL products today.
This book can:
- Help database products improve in the future
- Help with a "roll your own" implementation, absent such product improvements
- Make you aware of the crucial role of predicates and constraints
- Show you how relational products are really supposed to behave
Anyone with a professional interest in the relational model, relational technology, or database systems in general can benefit from this book.
Synopsis
Views are a key part of database technology, but they're often considered read-only. In this book, Chris Date—a leading expert in relational databases—offers practical techniques that allow you to update the views that a database presents to you.
Views are "virtual tables" that have difficulty synchronizing with the actual tables behind the views. Its so difficult, in fact, that many SQL products actually prohibit updating. Youll learn the theory that determines how and when its possible to update these views. This book is a perfect follow-up to Chriss other recent books, Database Design and Relational Theory and SQL and Relational Theory, 2nd Edition.
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
preface; About the Author; Preface; Who Should Read This Book; Structure of the Book; Technical Notes; Acknowledgments; Foreword; Chapter 1: A Motivating Example; 1.1 The Principle of Interchangeability; 1.2 Base Tables Only: Constraints; 1.3 Base Tables Only: Compensatory Actions; 1.4 Views: Constraints and Compensatory Actions; 1.5 There's No Magic; 1.6 Concluding Remarks; Chapter 2: The Technical Context; 2.1 Relations and Relvars; 2.2 Relational Assignment; 2.3 Integrity Constraints; 2.4 Relvar Predicates; 2.5 Matching, not Matching, and Extend; 2.6 Databases and Dbvars; Chapter 3: The View Concept: A Closer Look; 3.1 The View Update Problem; 3.2 Views are Pseudovariables; 3.3 Data Independence; 3.4 How Not to do it; 3.5 Constraints and Predicates; 3.6 Information Equivalence; 3.7 Concluding Remarks; Chapter 4: Restriction Views; 4.1 The Motivating Example Revisited; 4.2 More on Compensatory Actions; 4.3 What About Triggers?; 4.4 What About Explicit Update Operations?; 4.5 Suppliers and Shipments; 4.6 The Motivating Example Continued; 4.7 Putting it All Together; 4.8 The Point at Last; 4.9 Overlapping Restrictions; 4.10 Concluding Remarks; Chapter 5: Projection Views; 5.1 Example 1: A Nonloss Decomposition; 5.2 Example 1 Continued: The Projection Relvars; 5.3 Example 1 Continued: Views; 5.4 Example 2: Another Nonloss Decomposition; 5.5 Example 3: A Lossy Decomposition; 5.6 Concluding Remarks; Chapter 6: Join Views I: One to One Joins; 6.1 Example 1: Information Equivalence; 6.2 Example 2: Information Hiding; 6.3 Concluding Remarks; Chapter 7: Join Views II: Many to Many Joins; 7.1 Example 1: Information Equivalence; 7.2 Projection Views Revisited; 7.3 Example 2: Information Hiding; 7.4 Concluding Remarks; Chapter 8: Join Views III: One to Many Joins; 8.1 Example 1: Information Equivalence; 8.2 Example 2: Information Hiding; 8.3 Concluding Remarks; Chapter 9: Intersection Views; 9.1 Example 1: Explicit Overlap; 9.2 Example 2: Implicit Overlap; 9.3 Concluding Remarks; Chapter 10: Union Views; 10.1 Example 1: Disjoint Union; 10.2 Example 2: Explicit Overlap; 10.3 Example 3: Implicit Overlap; 10.4 Concluding Remarks; Chapter 11: Difference Views; 11.1 Example 1: Implicit Overlap; 11.2 Example 2: Explicit Overlap; 11.3 Concluding Remarks; Chapter 12: Group and Ungroup Views; 12.1 The Group and Ungroup Operators; 12.2 A Group / Ungroup Example; 12.3 A Summarize Example; Chapter 13: Extension and Summarization Views; 13.1 An Extend Example; 13.2 Another Summarize Example; Chapter 14: Updating through Expressions; 14.1 Semantics not Syntax (?); 14.2 Some well known Tautologies; 14.3 "Semantic Transformations"; 14.4 Information Equivalence Revisited; 14.5 Concluding Remarks; Chapter 15: Ambiguity Revisited; 15.1 Predicates and Constraints Revisited; 15.2 An Intersection Example; 15.3 Union and Difference Examples; 15.4 More on Predicates; 15.5 Concluding Remarks; Some Remarks on Relational Assignment; Relational Operators;