Define ODMG object model. What is object query language (OQL)?

 ODMG object model

  •  It is an object data management Group, (ODMG) The ODMG object model is the data model upon which the object definition language (ODL) and object query language (OQL) are based.
  •  It is meant to provide a standard data model for object databases, just as SQL describes a standard data model for relational databases. 
  • It also provides a standard terminology in a field where the same terms were sometimes used to describe different concepts. 

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. 
  • 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

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Suppose that a data warehouse consists of the four dimensions; date, spectator, location, and game, and the two measures, count and charge, where charge is the fee that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors, with each category having its own charge rate. a) Draw a star schema diagram for the data b) Starting with the base cuboid [date; spectator; location; game], what specific OLAP operations should perform in order to list the total charge paid by student spectators at GM Place in 2004?

Discuss classification or taxonomy of virtualization at different levels.