Odysseus is an object-oriented database system supporting the data model of the C++ language. Odysseus provides database features such as object persistence, complex objects, concurrency control, and the graphic schema designer. However, currently Odysseus is not equipped with a high level query language and the query processor.
In this thesis, we define OOSQL, a query language for Odysseus, and describe the design and implementation of the query processor. OOSQL extends SQL incorporating the concepts of class inheritance hierarchies and class composition hierarchies in object-oriented databases. We implemented a query processor supporting the object-oriented modelling constructs provided in OOSQL such as class inheritance hierarchies, class composition hierarchies, nested attributes and complex attributes. Especially, the query processor supports the extended path expression enabling users to process sophisticated queries in a very concise way.