Abstract

We present an object algebra for manipulating complex objects in object-oriented database systems. All operators are recursively defined. Unlike most of the existing query languages, the design of this object algebra is based on aggregation abstraction. It allows to take complex objects collectively as a unit of high level queries and enables complex objects to be accessed at all levels of aggregation hierarchies without resorting to any kind of path expressions. Features of aggregation abstraction, such as acyclicity of aggregation hierarchies and aggregation inheritance, have played important roles in such a development. We also formally described the output type of each operator in order to support dynamic classification of query results in the IsA type/class semi-lattice. The algebraic-equivalence rewriting rules for query optimization of this algebra are developed, too.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call