The logic on which the relational model is based is a two valued logic (2VL). In its attempt to deal with the so called “missing information” problem, however, SQL—more specifically, SQL’s support for “nulls”—is based on a three valued logic (3VL) instead. This session explains in detail why any such approach is doomed to failure. More specifically, it shows why 3VL (a) doesn’t solve the problem, (b) isn’t useful, and (c) can actually be dangerous.
The presentation is divided into three modules. Module I reviews conventional two-valued logic (2VL), examines some of the most immediate differences between it and three-valued logic (3VL), and shows how 3VL inevitably gives rise to errors. Module II goes into more depth on why such errors are inevitable. It also considers the question: Which 3VL are we talking about, anyway? Module III then considers many-valued logics in general, and four-valued logic (4VL) in particular, and discusses a variety of further related points. It also briefly describes an approach to missing information based on 2VL and classical relational theory.
- Title: Nulls, Three-Valued Logic, and Missing Information
- Release date: August 2014
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 978149190883
You might also like
Ever since the relational view concept was first invented, view updating has been a contentious issue. …
What You Need to Know About Modern Hashing
A basic review of hashing.
Move beyond concrete and highly coupled thinking as you learn a new approach for building long-lived …
Patterns for persistence and streaming in microservice architectures (sponsored by DataStax)
One of the most challenging aspects of microservice architectures is selecting the right infrastructure to make …