Passage From C.J. Date

“Observe now that there's a huge logical difference between (a) our not knowing whether some proposition p is true or fase and (b) that proposition p actually being either true or false. Indeed, an attempt to pretend otherwise -- i.e., an attempt to pretend that our not knowing whether p is true or false is the same kind of thing, logically speaking, as p actually being true or false -- is a huge logical mistake! And it's precisely that mistake that leads us into the quagmire of three-valued logic, and nulls, and the whole mess of "missing information" as currently "supported" by the language SQL.

“As a matter of fact, I hope a warning flag was raised in your brain the momenht I first mentioned the term "unknown" -- especially when I raised the possibility of our not knowing whether some proposition is true or false being regarded as the same kind of thing as that proposition actually being either true or false. That way madness lies! The fact is, as I've argued many, many times and in many, many places, the whole notion of three-valued logic (3VL) is simply incompatible with the relational model. (I remark as an aside that reference [11] documents some of my most recent thinking on this topic. In particular, it gives formal reasons to support my contention that 3VL basically "just doesn't work" -- meaning, more precisely, that it doesn't solve the provlem it was orginally intended to solve. Of course, the problem in question is, as already indicated, the hoary old one of "missing information.”)”