FirstSQL is the only RDBMS with full support for two types of nulls. In FirstSQL, SQL syntax is extended in an evolutionary manner. NULL as an assignable value is synonymous with A_MARK. The IS NULL clause is equivalent to IS MISSING (which allows either type of null). Explicit tests are also possible - IS A_MARKED or IS UNKNOWN and IS I_MARKED or IS INVALID.
With two types of nulls comes the possibility of a 4-valued logic system using TRUE, FALSE, UNKNOWN and INAPPLICABLE. In fact, n-valued logic systems are possible using any value for n from 2 up to infinity (1-valued logic systems are illogical), thus the term - Multi-Valued Logic. It is also possible to have more than 2 types of nulls, including user defined null types, covering any contingency.
The relational model restricts its processing to 2 types of nulls and to the use of 3-valued logic. In the relational 3-valued system, UNKNOWN is used for both A-Marks and I-Marks. This is a reasonable compromise between complexity and power. These facilities provide acceptable simplicity without unduly sacrificing expressive power.
The final section is Conclusion and References.
Return to Contents Page: In Defense of Nulls Return to Issues Page