O’REILLY®

/ theory / in / practice

Type Inheritance and Relational Theory

Type inheritance is that phenomenon according to which we can say, for example, that every square is also a rectangle, and so properties that apply to rectangles in general apply to squares in particular. In other words, squares are a subtype of rectangles, and rectangles are a supertype of squares. Recognizing and acting upon these subtype/supertype relationships provides numerous benefits: Certainly it can help in data modeling, and it can provide for code reuse in applications. Many languages, including the standard database language SQL, have long supported these relationships. However, there doesn’t seem to be any consensus in the community at large on a formal, rigorous, and abstract model of inheritance. This book proposes such a model, one that enjoys several advantages over other approaches, not the least of which is that it’s fully compatible with the well known relational model of data.

Topics the model covers include:

  • Both single and multiple inheritance

  • Scalar, tuple, and relation inheritance

  • Type lattices and union and intersection types

  • Polymorphism and substitutability

  • Compile time and run time binding

All of these topics are described in detail in the book, with numerous illustrative examples, exercises, and answers.

The book also discusses several alternative approaches. In particular, it includes a detailed discussion and analysis of inheritance as supported in the SQL standard.

Chris ...

Get Type Inheritance and Relational Theory now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.