In Defense of Nulls

An Issue Paper by Lee Fesperman, FFE Software, Inc.

In the February 1995 issue of Database Programming & Design, Tom Johnston initiated an excellent series of articles titled - 'MVL:Case Open'. These articles state the case for use of Multi-Valued Logic in relational databases versus Two-Valued Logic recommended by some writers. In this article, I will examine a specific implementation of Multi-Valued Logic - 3-Valued Logic and Nulls in current relational systems. Nulls in relational database have been the subject of much debate.

Mainstream methods for creating computer programs have exhibited a continuous evolution to higher levels of abstraction, from machine languages to assembly languages to high level languages (3GL's) to higher level languages (Object Oriented, 4GL's, Logic, Functional). Methods for controlling and accessing persistent data have undergone a similar evolution culminating in a revolutionary abstraction - Relational Databases. Relational methodology deals with substantive issues like distributed processing & storage, separation of logical and physical concerns, maintenance of business rules and data evolution.

In order for someone to fully utilize a database, there must be some limits on its overall complexity to make it comprehensible while still being comprehensive. What good is a database if its nature can't be understood? Much of the complexity in a relational database is user driven. User definitions can be extensive - base tables & columns, views, table linkages (foreign keys), column domains and business rules/constraints. Relational DBMS's provide simple yet powerful facilities to counter this inherent complexity. This by necessity requires some compromises.

Nulls in relational databases are an example of a simple yet powerful facility. It is a compromise as are other relational features such as single valued & single domain columns, foreign keys, flat tables (first normal form) and referential integrity. There has been considerable debate lately about the advisability of nulls in relational database. This article presents arguments in favor of retaining null processing.


Contents:

Issue Papers Return To Issues Page

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