Video description
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.
Table of Contents
Why Nulls and 3VL Don’t Solve the Problem - Part 1
Why Nulls and 3VL Don’t Solve the Problem - Part 2
Why Nulls and 3VL Don’t Solve the Problem - Part 3