Uncertain database

An uncertain database is a kind of database studied in database theory. The goal of uncertain databases is to manage information on which there is some uncertainty. Uncertain databases make it possible to explicitly represent and manage uncertainty on the data, usually in a succinct way.

Formal definition
At the basis of uncertain databases is the notion of possible world. Specifically, a possible world of an uncertain database is a (certain) database which is one of the possible realizations of the uncertain database. A given uncertain database typically has more than one, and potentially infinitely many, possible worlds.

A formalism to represent uncertain databases then explains how to succinctly represent a set of possible worlds into one uncertain database.

Types of uncertain databases
Uncertain database models differ in how they represent and quantify these possible worlds:
 * Incomplete databases are a compact representation of the set of possible worlds – the use of NULL in SQL, arguably the most commonplace instantiation of uncertain databases, is an example of incomplete database model.
 * Probabilistic databases are a compact representation of a probability distribution over the set of possible worlds.
 * Fuzzy databases are a compact representation of a fuzzy set of the possible worlds.

Though mostly studied in the relational setting, uncertain database models can also be defined in other relational models such as graph databases or XML databases.

Incomplete database
The most common database model is the relational model. Multiple incomplete database models have been defined over the relational model, that form extensions to the relational algebra. These have been called Imieliński–Lipski algebras:
 * Relations with NULL values, also called Codd tables
 * c-tables
 * v-tables

Example
The following table is a relation of an incomplete database, described in the formalism of NULL values:

There are infinitely many possible worlds for this incomplete database, obtained by replacing the "NULL" values with concrete values. For instance, the following relation is a possible world: