How Relational solves the Missing Information Problem


Nulls

In relational database systems, missing data values are represented by a special marker, called a Null. A null is a meta-value; it is not like a normal data value. Because of this, nulls have the same meaning regardless of the data type or domain of the field, that meaning being that the data value for the field is missing.

For example, a birthdate field is maintained for each employee in a database. It normally contains a calender date value indicating the date of birth for an employee. When this information is missing for a given employee, the birthdate is set to null in a relational database. The null value for a field indicates that the associated data value is missing.

3 Valued Logic (3VL)

Database operations often involve conditional expressions that are questions about data values in the database. These questions normally produce yes or no responses, true or false results. When fields referenced in the questions are null, the result is unknown rather than true or false. Unknown indicates that data values are missing, so the truth or falsity of the answer to the question is not known. It is unknown.

Logic utilizing 3 types of responses - true, false or unknown, is called 3 Valued Logic or 3VL. Relational databases implement a form of 3 Valued Logic that provides the power to deal with missing information.

Much of the recent Controversy over Nulls has centered around 3 Valued Logic. 3 Valued Logic has been accused of not reflecting the real world and of being counter intuitive. Schemes for Default Values have been proposed as a replacement for nulls in relational database, but none of these schemes have been shown to have the power of nulls and 3 Valued Logic in dealing with missing information.

Return to Contents Page: Should Nulls be considered harmful?     Return to Issues Page


Copyright © 1998 FFE Software, Inc. All Rights Reserved WorldWide