Why Do We Need a Formal Calculus?
facilitates equational reasoning;
provides a theory for proving query transformations correct;
imposes language uniformity;
avoids language inconsistencies.
functional languages lambda calculus
relational databases relational calculus
object-oriented databases ?
Notes:
To successfully compete with relational databases, OODBs must provide an effective query optimization and evaluation framework. Like for relational databases, this framework must have a solid theoretical basis in the form of an algebra or calculus.
But why do we need a formal calculus?
A formal calculus facilitates equational reasoning, which can be used for proving query transformations correct. A calculus imposes languages uniformity by making all language features transparent, that is, similar language constructs are treated in the same way. Finally, a calculus avoids language inconsistencies.
The calculus of functional language is the lambda calculus; the calculus of relational systems is relational calculus; so what is a good calculus for OODBs?