Chapter 1

Background

Begin at the beginning ... and go on till you come to the end: then stop.

—Lewis Carroll:Alice’s Adventures in Wonderland (1865)

The foundation of all true general purpose database systems is the relational model of data, first described by E. F. Codd in two landmark papers in 1969 and 1970, respectively:

  • “Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks” (IBM Research Report RJ599, August 19th, 1969)

  • “A Relational Model of Data for Large Shared Data Banks” (CACM 13, No. 6, June 1970)

These days, of course, it’s widely recognized that it was Codd’s introduction of the relational model that put the field of database management on a sound theoretical footing. But what still isn’t quite so widely recognized, perhaps, is that the relational model implicitly requires a further theoretical footing of its own: namely, a supporting, or underlying, theory of types (or domains, as Codd called them in his early papers). The requirement for such a theory arises most obviously—though not exclusively—from the fact that, in the relational model, every attribute of every relation is required to be of some type.

The foregoing state of affairs provides a large part of the motivation for the work my colleague Hugh Darwen and I have been engaged upon ever since the early 1990s. The work in question goes by the generic name of The Third Manifesto, or just the Manifesto for short (an explanation of that name can be found in the section “A Little ...

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.