An important reality when studying relational databases is the fact that entries in relational tables may often be "missing" or only partially specified. The study of such missing information has led to a rich body of work on "null values." It was recognized early on that there are many different types of null values, each of which reflects different intuitions about why a particular piece of information is missing. Different relations (or even the same relation) could contain different types of null values; yet, very little work has been done on providing a unifying model that reasons with different types of nulls. In this paper, we use constraints to provide a unifying framework for the most common types of nulls. We show how viewing tuples containing null values of these types can be viewed as constraints and how this leads to an algebra for null values. In particular, this algebra contains a unique operator (called the compaction operator) used to remove redundancies from null-valued relations. We have studied various properties of this algebra. We have built a prototype implementation based on the null-valued operators described here, and have conducted various experiments using this testbed.
ASJC Scopus subject areas
- Control and Systems Engineering
- Theoretical Computer Science
- Computer Science Applications
- Information Systems and Management
- Artificial Intelligence