Find a copy in the library
Finding libraries that hold this item...
|All Authors / Contributors:||
C J Date; Hugh Darwen
|Description:||xxi, 496 s.|
|Contents:||Preface. I. PRELIMINARIES. 1. Background and Overview. What is The Third Manifesto? Why did we write it? Back to the relational future. Some guiding principles. Some crucial logical differences. Topics deliberately omitted. The Third Manifesto: A summary. 2. Objects and Relations. Introduction. What problem are we trying to solve? Relations vs. relvars. Domains vs. object classes. Relvars vs. object classes. A note on inheritance. Concluding remarks. II. FORMAL SPECIFICATIONS. 3. The Third Manifesto. RM Prescriptions. RM Proscriptions. OO Prescriptions. OO Proscriptions. RM Very Strong Suggestions. OO Very Strong Suggestions. 4. A New Relational Algebra. Introduction. Motivation and justification. BREMOVE(c), BRENAME(c), and BCOMPOSE(c). Treating operators as relations. Formal definitions. Transitive closure. 5. Tutorial D. Introduction. Types and expressions. Scalar definitions. Tuple definitions. Relational definitions. Scalar operations. Tuple operations. Relational operations. Relations and arrays. Statements. Syntax summary. Mapping the relational operations. III. INFORMAL DISCUSSIONS AND EXPLANATIONS. 6. RM Prescriptions. RM Prescription 1: Scalar types. RM Prescription 2: Scalar values are typed. RM Prescription 3: Scalar operators. RM Prescription 4: Actual vs. possible representations. RM Prescription 5: Expose possible representations. RM Prescription 6: Type generator TUPLE. RM Prescription 7: Type generator RELATION. RM Prescription 8: Equality. RM Prescription 9: Tuples. RM Prescription 10: Relations. RM Prescription 11: Scalar variables. RM Prescription 12: Tuple variables. RM Prescription 13: Relation variables (relvars). RM Prescription 14: Real vs. virtual relvars. RM Prescription 15: Candidate keys. RM Prescription 16: Databases. RM Prescription 17: Transactions. RM Prescription 18: Relational algebra. RM Prescription 19: Relvar names, relation selectors, and recursion. RM Prescription 20: Relation-valued operators. RM Prescription 21: Assignments. RM Prescription 22: Comparisons. RM Prescription 23: Integrity constraints. RM Prescription 24: Relvar and database predicates. RM Prescription 25: Catalog. RM Prescription 26: Language design. 7. RM Proscriptions. RM Proscription 1: No attribute ordering. RM Proscription 2: No tuple ordering. RM Proscription 3: No duplicate tuples. RM Proscription 4: No nulls. RM Proscription 5: No nullological mistakes. RM Proscription 6: No internal-level constructs. RM Proscription 7: No tuple-level operations. RM Proscription 8: No composite attributes. RM Proscription 9: No domain check override. RM Proscription 10: Not SQL. 8. OO Prescriptions. OO Prescription 1: Compile-time type checking. OO Prescription 2: Single inheritance (conditional). OO Prescription 3: Multiple inheritance (conditional). OO Prescription 4: Computational completeness. OO Prescription 5: Explicit transaction boundaries. OO Prescription 6: Nested transactions. OO Prescription 7: Aggregates and empty sets. 9. OO Proscriptions. OO Proscription 1: Relvars are not domains. OO Proscription 2: No object IDs. 10. RM Very Strong Suggestions. RM Very Strong Suggestion 1: System keys. RM Very Strong Suggestion 2: Foreign keys. RM Very Strong Suggestion 3: Candidate key inference. RM Very Strong Suggestion 4: Transition constraints. RM Very Strong Suggestion 5: Quota queries. RM Very Strong Suggestion 6: Generalized transitive closure. RM Very Strong Suggestion 7: Tuple and relation parameters. RM Very Strong Suggestion 8: Special ("default") values. RM Very Strong Suggestion 9: SQL migration. 11. OO Very Strong Suggestions. OO Very Strong Suggestion 1: Type inheritance. OO Very Strong Suggestion 2: Types and operators unbundled. OO Very Strong Suggestion 3: Collection type generators OO Very Strong Suggestion 4: Conversions to/from relations OO Very Strong Suggestion 5: Single-level store IV. SUBTYPING AND INHERITANCE. 12. Preliminaries Introduction. Toward a type inheritance model. Single vs. multiple inheritance. Scalars, tuples, and relations. Summary. 13. Formal Specifications. Introduction. IM Proposals. 14. Informal Discussions and Explanations. Introduction. IM Proposal 1: Types are sets. IM Proposal 2: Subtypes are subsets. IM Proposal 3: "Subtype of" is reflexive. IM Proposal 4: Proper subtypes. IM Proposal 5: "Subtype of" is transitive. IM Proposal 6: Immediate subtypes. IM Proposal 7: Single inheritance only. IM Proposal 8: Global root types. IM Proposal 9: Type hierarchies. IM Proposal 10: Subtypes can be proper subsets. IM Proposal 11: Types disjoint unless one a subtype of the other. IM Proposal 12: Scalar values (extended definition). IM Proposal 13: Scalar variables (extended definition). IM Proposal 14: Assignment with inheritance. IM Proposal 15: Comparison with inheritance. IM Proposal 16: Join etc. with inheritance. IM Proposal 17: TREAT DOWN. IM Proposal 18: TREAT UP. IM Proposal 19: Logical operator IS_T(SX). IM Proposal 20: Relational operator RX:IS_T(A). IM Proposal 21: Logical operator IS_MS_T(SX). IM Proposal 22: Relational operator RX:IS_MS_T(A). IM Proposal 23: THE_ pseudovariables. IM Proposal 24: Read-only operator inheritance and value substitutability. IM Proposal 25: Read-only parameters to update operators. IM Proposal 26: Update operator inheritance and variable substitutability. What about specialization by constraint? 15. Multiple Inheritance. Introduction. The running example. IM Proposals 1-26 revisited. Many supertypes per subtype. Type graphs. Least specific types unique. Most specific types unique. Comparison with multiple inheritance. Operator inheritance. 16. Tuple and Relation Types. Introduction. Tuple and relation subtypes and supertypes. IM Proposals 1-11 still apply. Tuple and relation values (extended definitions). Tuple and relation most specific types. Tuple and relation variables (extended definitions). Tuple and relation assignment. Tuple and relation comparison. Tuple and relation TREAT DOWN. IM Proposals 18-26 revisited. Appendixes. Appendix A. A Relational Calculus Version of Tutorial D. Introduction. Boolean expressions. Builtin relation operator invocations. Free and bound range variable references. Relation UPDATE and DELETE operators. Examples. Appendix B. The Database Design Dilemma. Introduction. Encapsulation. Discussion. Further considerations. Appendix C. Specialization by Constraint. Introduction. A closer look. The "3 out of 4" rule. Can the idea be rescued? Appendix D. Subtables and Supertables. Introduction. Some general observations. The terminology is extremely bad. The concept is not type inheritance. Why? Appendix E. A Comparison with SQL3. Introduction. RM Prescriptions. RM Proscriptions. OO Prescriptions. OO Proscriptions. RM Very Strong Suggestions. OO Very Strong Suggestions. IM Proposals (scalar types, single inheritance). IM Proposals (scalar types, multiple inheritance). IM Proposals (tuple and relation types). History of the wrong equation in SQL3. Appendix F. A Comparison with ODMG. Introduction. Overview. RM Prescriptions. RM Proscriptions. OO Prescriptions. OO Proscriptions. RM Very Strong Suggestions. OO Very Strong Suggestions. IM Proposals (scalar types, single inheritance). IM Proposals (scalar types, multiple inheritance). IM Proposals (tuple and relation types). Appendix G. The Next 25 Years of the Relational Model? Remarks on republication. Introduction. Background. The Third Manifesto and SQL. Technical content. More on SQL. Miscellaneous questions. Appendix H. References and Bibliography. Index. 0201309785T04062001|
|Responsibility:||C. J. Date and Hugh Darwen|
"This is the first attempt to describe what object/relational means. If you're interested in object/relational technology, this is the book to read." - Rick van der Lans Independent consultant,