Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover Page
Title Page
Copyright Page
About the Author
Contents
Preface
Foreword
Part I: Preliminaries
Chapter 1: Background
Inheritance arises naturally
A fundamental concept
The suppliers-and-parts database
A little history
Exercises
Answers
Chapter 2: Types without Inheritance
Values vs. variables
What’s a type?
Scalar vs. nonscalar types
Types vs. representations
The TYPE statement
Operators
Type generators
Miscellaneous issues
Concluding remarks
Exercises
Answers
Chapter 3: Types with Inheritance
Why inheritance?
Toward a model of inheritance
Single vs. multiple inheritance
Scalars, tuples, and relations
The running example
More terminology
Substitutability
A BNF grammar
More terminology bis
Concluding remarks
Exercises
Answers
Chapter 4: The Inheritance Model
The IM prescriptions
Part II: Scalar Types, Single Inheritance
Chapter 5: Basic Definitions
IM Prescription 1: Types are sets
IM Prescription 2: Subtypes are subsets
IM Prescription 3: “Subtype of” is reflexive
IM Prescription 4: “Subtype of” is transitive
IM Prescription 5: Proper and immediate subtypes and supertypes
IM Prescription 6: Scalar root and leaf types
IM Prescription 7: Disjoint and overlapping types
Exercises
Answers
Chapter 6: Scalar Values with Inheritance
IM Prescription 8: Common subtypes and supertypes
Common subtypes
Common supertypes
Intersection types vs. union types
Concluding remarks
Exercises
Answers
Chapter 7: Scalar Variables with Inheritance
IM Prescription 9: Model of a scalar variable
Inclusion polymorphism
Implementation versions
Code reuse
Overloading polymorphism
Substitutability
Exercises
Answers
Chapter 8: Specialization by Constraint etc.
IM Prescription 10: Specialization by constraint
Specialization constraints
Specialization by constraint
IM Prescription 11: Assignment with inheritance
Generalization by constraint
Concluding remarks
Exercises
Answers
Chapter 9: Equality Comparisons etc.
IM Prescription 12: Equality with inheritance
IM Prescription 13: Join etc. with inheritance
Equivalence of expressions
Exercises
Answers
Chapter 10: Treating and Type Testing
IM Prescription 14: TREAT
IM Prescription 15: Type testing
Exercises
Answers
Chapter 11: Substitutability
IM Prescription 16: Value substitutability
IM Prescription 17: Operator signatures
IM Prescription 18: Read-only parameters to update operators
IM Prescription 19: Variable substitutability
Exercises
Answers
Chapter 12: Union and Dummy Types
IM Prescription 20: Union and dummy types etc.
Union types
Dummy types
Types alpha and omega
Exercises
Answers
Chapter 13: Interlude: The S by C Controversy
The three out of four “rule”
What does inheritance really mean?
Benefits of S by C
What about objects?
Some implementation considerations
Postscript: A note on foreign keys
Part III: Scalar Types, Multiple Inheritance
Chapter 14: An Overview of Multiple Inheritance
The running example
Possible representations
Possible representations continued
Operators
Type graphs
Two remarks on operator inheritance
IM Prescriptions 1-7 revisited
Type definitions
Exercises
Answers
Chapter 15: IM Prescriptions 8 - 9 Revisited
Least specific common subtypes
Most specific types
Leaf types
Most specific common supertypes
Overlapping regular types
An extended example
Model of a scalar variable
Exercises
Answers
Chapter 16: IM Prescriptions 10 - 20 Revisited
IM Prescriptions 10-15
IM Prescriptions 16-20
Exercises
Answers
Part IV: Tuple and Relation Inheritance
Chapter 17: Tuple / Relation Values with Inheritance
Tuple / relation prescriptions
IM Prescription 21: Empty types
IM Prescription 22: Tuple / relation subtypes and supertypes
IM Prescription 23: Proper and immediate tuple / relation subtypes and supertypes
Exercises
Answers
Chapter 18: Tuple / Relation Values with Inheritance (cont.)
IM Prescription 24: Common tuple / relation subtypes and supertypes
Common tuple subtypes
Common tuple supertypes
Common relation subtypes
Common relation supertypes
Closing remarks
Exercises
Answers
Chapter 19: Tuple / Relation Maximal and Minimal Types etc.
IM Prescription 25: Tuple / relation maximal and minimal types
IM Prescription 26: Tuple / relation root and leaf types
Exercises
Answers
Chapter 20: Tuple / Relation Variables with Inheritance
IM Prescription 27: Tuple / relation most specific types
IM Prescription 28: Model of a tuple / relation variable
IM Prescriptions 11-15 revisited
Exercises
Answers
Part V: Other Approaches
Chapter 21: Structural Inheritance
An introductory example
Tuple types, values, and variables
Subtables and supertables
Scalar types revisited
Structural inheritance for scalar types using the Manifesto model
Postscript: A survey of the literature
Exercises
Answers
Chapter 22: Inheritance in SQL
SQL scalar types without inheritance
SQL nonscalar types without inheritance
The SQL approach to inheritance
Appendixes
Appendix A: Encapsulation Is a Red Herring
What does encapsulation mean?
But what about ad hoc query?
We don’t always want encapsulation
Scalar vs. nonscalar types
Summary
Appendix B: Persistence Not Orthogonal to Type
POTT violates data independence
POTT causes additional complexity
Concluding remarks
Postscript: The first and second manifestos
Appendix C Glossary of Terms
Footnotes
Preface
Chapter 1: Background
Chapter 2: Types without Inheritance
Chapter 3: Types with Inheritance
Chapter 5: Basic Definitions
Chapter 6: Scalar Values with Inheritance
Chapter 7: Scalar Variables with Inheritance
Chapter 8: Specialization by Constraint etc.
Chapter 9: Equality Comparisons etc.
Chapter 10: Treating and Type Testing
Chapter 11: Substitutability
Chapter 12: Union and Dummy Types
Chapter 13: Interlude: The S by C Controversy
Chapter 14: An Overviewof Multiple Inheritance
Chapter 15: IM Prescriptions 8–9 Revisited
Chapter 16: IM Prescriptions 10–20 Revisited
Chapter 17: Tuple/Relation Values with Inheritance
Chapter 18: Tuple / Relation Valueswith Inheritance (cont.)
Chapter 19: Tuple / Relation Maximaland Minimal Typesetc.
Chapter 20: Tuple / Relation Variables with Inheritance
Chapter 21: Structural Inheritance
Chapter 22: Inheritance in SQL
Appendix A: Encapsulation Isa Red Herring
Appendix B: Persistence Not Orthogonal to Type
Index
Type Inheritance and Relational Theory
← Prev
Back
Next →
← Prev
Back
Next →