Browsing by Subject "Object-oriented data model"
Now showing 1 - 1 of 1
- Results Per Page
- Sort Options
Item Open Access A query model and an object algebra for object-oriented databases(1993) Al- Hajj, RedaA query model is an important component of any database system. In this sense, the relational model has a well defined underlying query model. On the other hand, a well defined query model for object-oriented databases has not been accepted yet. This is one of the common complaints against object-oriented databases. So defining a formal object algebra is one of the most challenging steps in developing a theory for object-oriented databases. In object-oriented data models, although messages serve to manipulate the database, a query model is still required to effectively deal with more complex situations and to facilitate associative access. In this thesis, a query model for object-oriented databases is described, where both the structure and the behavior of objects are handled. Not only the manipulation of existing objects, but also the creation of new objects and the introduction of new relationships are supported in the model. Equivalents to the five basic operations of the relational model as ivell as other additional operations such as one level project, nest and aggregate function application are defined. Hence, the proposed object algebra subsumes the relational algebra. Linear recursion is also supported without requiring any additional operator to serve the purpose. Both the operands as well as the results of these operations are characterized as having a pair of sets -a set of objects and a set of message expressions (sequences of messages) applicable to them. The closure property is shown to be preserved in a natural way by the results of operations possessing the same characteristics as the operands in a query. It is shown that every class possesses the properties of an operand by defining a set of objects and deriving a set of message expressions for it. Furthermore, it is shown that the output of a query has the characteristics of a class. Thus, it is also shown how the super/subclass relationships of the result of a query with its operands can be established and how the result can be placed persistently in the lattice (schema) as a class. Such a class is naturally and properly placed in the lattice by maximizing reusability due to inheritance. Also equivalent object algebra expressions are presented and the associativity of the cross-product operation which is an important property in query optimization is proved. Lastly, as it was recognized that schema evolution is an important requirement to be satisfied by object-oriented databases, hence the handling of schema evolution functions through the proposed object algebra operations is also developed as another contribution of the thesis.