Alhajj, R.Arkun, M. E.2016-02-082016-02-0819930950-5849http://hdl.handle.net/11693/26084In object-oriented database systems, messages can be used to manipulate the database; however, a query language is still a required component of any kind of database system. In the paper, we describe a query language for object-oriented databases where both objects as well as behaviour defined in them are handled. Not only existing objects are manipulated; the introduction of new relationships and new objects constructed out of existing ones is also facilitated. The operations supported in the described query language subsumes those of the relational algebra aiming at a more powerful query language than the relational algebra. Among the additional operators, there is an operator that handles the application of an aggregate function on objects in an operand while still having the result possessing the characteristics of an operand. The result of a query as well as the operands are considered to have a pair of sets, a set of objects and a set of message expressions; where a message expression is a sequence of messages. A message expression handles both stored and derived values and hence provides a full computational power without having an embedded query language with impedance mismatch. Therefore the closure property is maintained by having the result of a query possessing the characteristics of an operand. Furthermore, we define a set of objects and derive a set of message expressions for every class; hence any class can be an operand. Moreover, the result of a query has the characteristics of a class and its superclass/subclass relationships with the operands are established to make it persistent. © 1993.EnglishDatabase systemsMessage expressionObject algebraObject-oriented database systemsQuery languageAlgebraComputational complexityData handlingData structuresDatabase systemsMathematical operatorsObject oriented programmingSet theoryComputational powerMessage expressionObject algebraObject oriented query languageRelational algebraQuery languagesObject-oriented query language facilitating construction of new objectsArticle10.1016/0950-5849(93)90019-Y1873-6025