Explain object query language (OQL) with suitable example.
Object query language (OQL)
OQL is an SQL-like declarative language that provides a rich environment for efficient querying of database objects, including high-level primitives for object sets and structures.OQL also includes object extensions for object identity, complex objects, path expressions, operation invocation, and inheritance. OQL's queries can invoke operations in ODMG language bindings, and OQL may be embedded in an ODMG language binding.
The object query language OQL is the query language proposed for the ODMG object model. It is designed to work closely with the programming languages for which an ODMG binding is defined, such as C++, Smalltalk, and Java. Hence, an OQL query embedded into one of these programming languages can return objects that match the type system of that language. Additionally, the implementations of class operations in an ODMG schema can have their code written in these programming languages. The OQL syntax for queries is similar to the syntax of the relational standard query language SQL, with additional features for ODMG concepts, such as object identity, complex objects, operations, inheritance, polymorphism, and relationships.
Below is an example of an OQL query
SELECT c.address
FROM Persons p,
p.children c
WHERE p.address.street="Main Street" AND
COUNT (p.children) >= 2 AND
c.address.city != p.address.city;
SELECT=> can construct new objects and arbitrary structures.
FROM=> tuple variables can range over any collection; may have subqueries.
WHERE=> pretty much the same as in SQL.
Comments
Post a Comment