Appendix C

A Relational Approach to Missing Information

Missing so much and so much

—Frances Cornford: To a Fat Lady Seen from the Train (1910)

The book Database Explorations: Essays on The Third Manifesto and Related Matters, by Hugh Darwen and myself (see Appendix G), describes a variety of approaches to the problem of missing information, all of which avoid the use of, or apparent need for, SQL-style nulls. The present appendix is based in part on a chapter from that book, and it describes one of those approaches in detail. The approach in question is known as the decomposition approach, because it involves decomposing, in a variety of ways, relvars that might appear to require nulls (or something like them) into ones that don’t. In other words, the emphasis is on designing the database in such a way as to avoid a perceived need for nulls. As a consequence, the approach:

  • Has no notion of null or any other construct that’s allowed to appear wherever a value is expected and yet isn’t itself a value;

  • Relies exclusively on classical two-valued logic (2VL), instead of three-valued logic (3VL) or, more generally, n-valued logic (nVL) for some n > 2;

  • Abides by The Information Principle—see Appendix A—in that, at all times, the database contains relations and nothing but relations; and

  • Is capable of dealing with missing information of any number of different kinds.

Note: Before going any further, I should mention that the approach I’m going to be describing is similar but not identical ...

Get SQL and Relational Theory, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.