This paper presents an experimental functional database language Fudal
which is a further development of our group's work on persistent func
tional database languages. In this latest work we consider how unknown
or partially known information can be treated in the functional conte
xt. The language we have implemented, Fudal,includes certainty and pos
sibility operators. We outline the problems that are caused by the use
of null values and truth functional logic in conventional database la
nguages, and show how these problems can be overcome by defining the s
emantics of queries of a database containing partial information in te
rms of its 'completions'. If D is a database containing partial inform
ation then a completion of D is a database which is consistent with D
and contains no partial information. We demonstrate that, even when a
database has a large number of completions, sensible queries can be co
nstructed using certainty and possibility operators. Finally we show h
ow these operators can be implemented and discuss the use of Fudal in
practical contexts.