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
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
Just Enough Math
With the commercial successes of machine learning and cloud computing, many business people need just enough …
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
Joe Celko's SQL for Smarties, 5th Edition
SQL for Smarties was hailed as the first book devoted explicitly to the advanced techniques needed …