Other Open Access
Bernhard, Thalheim; Klaus-Dieter, Schewe
NULL is a special marker used in SQL to indicate that a value for an attribute of an object does not exist in the database. Its aim is a representation of "missing information and inapplicable information". Although NULL is called null 'value' is not at all a value. It is a marker. It is only an annotation of incomplete data. Since it is typically interpreted as a value, NULL has led to controversies and and debates because of its treatment by 3-valued logics, of its special requirements for its use in SQL joins, and the special handling required by aggregate functions and SQL grouping operators. The three-valued logics does not properly reflect the nature of this special marker. Markers should be based on their specific data type. This data type is then different from any other data types used in relational database technology. Due to this orthogonality we can combine any type with the special type. To support this we introduce a non-standard generalisation of para-consistent logics. This logics reflects the nature of these markers. This paper aims in developing a general approach to NULL 'values' and shows how they can be used without changing database technology.