Computational completeness

next up previous
Next: Extensibility Up: Mandatory features: the Previous: Overridingoverloading and

Computational completeness

Thou shalt be computationally complete

From a programming language point of view, this property is obvious: it simply means that one can express any computable function, using the DML of the database system. From a database point of view this is a novelty, since SQL for instance is not complete.

We are not advocating here that designers of object-oriented database systems design new programming languages: computational completeness can be introduced through a reasonable connection to existing programming languages. Most systems indeed use an existing programming language [Banerjee et al. 87], [Fishman et al. 87], [Atwood 85], [Bancilhon et al. 88]; see [Bancilhon and Maier 88] for a discussion of this problem.

Note that this is different from being ``resource complete'', i.e., being able to access all resources of the system (e.g. screen and remote communication) from within the language. Therefore, the system, even though computationally complete might not be able to express a complete application. It is, however, more powerful than a database system which only stores and retrieves data and performs simple computations on atomic values.

Wed Apr 26 02:23:56 EDT 1995