Are Databases a Special Case of Programming Languages?

T. H. Merrett

School of Computer Science
McGill University


Databases deal primarily with data on secondary storage, which differs from the data types of conventional programming languages by being persistent, shared, and often too large for RAM. Database languages have mainly been query languages. Some programming languages have been made persistent, usually giving rise to object-oriented databases. The relational model has been used as a basis for logic programming. How far can the unification of databases and programming languages be taken, especially in view of the need for data units which may exceed RAM capacity?

We present some results of exploring this question. It leads to further questions which we can answer.

Related topics, which we shall not have time to address, include relational recursion, event programming for active databases, process synchronization in an associative data language, and scoping and multidatabases.

You can get more information on the Web or, in a better version, as Postscript file.