240 likes | 419 Views
OBJECT ORIENTED QUERY LANGUAGES. Object Oriented Database Seminar Omar Alasam Julien Aubry Julien Fontaine Bénédicte Gruss School of Computing Beng CNDS 4 Napier University. PLAN. Background Requirements Specifications Divergence from SQL Current Situation Query optimisation
E N D
OBJECT ORIENTED QUERY LANGUAGES Object Oriented Database Seminar Omar Alasam Julien Aubry Julien Fontaine Bénédicte Gruss School of Computing Beng CNDS 4 Napier University
PLAN • Background • Requirements • Specifications • Divergence from SQL • Current Situation • Query optimisation • Future Direction
Object-Oriented Databases Concepts Objects and Identity Complex objects Encapsulation Classes Inheritance Overloading, Overriding and late binding BACKGROUND
BACKGROUND 2 Query Languages • SQL took 15 years to become the standard of RDBMS • Programming languages were first used to query OODB • Users demand on a SQL-like query facility for OODB. • No standard yet accepted • Today, each OODBMS has its own query language implemented.
OOQL Requirements • The Object-Oriented Database System Manifesto, 1989 • High level language • Efficient • Application independent • Used to interactively query the database on-line.
OQL requirements • An OQL should provide: • Descriptiveness • Closure • Completeness • Expressive power • Extensibility • orthogonality
Query Language issues • Should the query language be integreted in the programming language? • How to access the data: • Simple data • Complex data • What is a result to a query ?
Query language issues 2 • Possibility to make join request • Management of sets of objects • Equal access to attributes and methods • Consequences of class hierarchy
SQL versus OQL • New concepts have to be added to SQL: • Object IDs • Members • Methods • Derived data • Hierarchy • Recursion
O2 Query • Query language used by O2 DBMS • 2 Modes:interactive & programming • When interactive, can violate encapsulation • High-level SQL-like language • Generic methods already defined
LIFOO • Used by O2 • Pure interrogation language • Quantification, aggregation and Ordering OK • Does not support recursive queries • Functional language (handles functional syntax ; min, max..)
Gemstone • Result of a query: set of class identical as the queried class • Queries: Boolean operations combined to path expression: Tasks select: {:t | (t.man_years > 20 & (t.leader.specialization = ‘DB’)}
OSQL • Used by IRIS • Very close to SQL • Syntax • Use of recursive cursor • Result of a query is an existing object • Aggregation and Ordering not supported • Foreign functions can be used • Data Model is Multi-Model
SQL 3 • Object-Oriented version of the famous QL • Use of ADT so as to describe classes • Encapsulation assured thanks to flags • Use of constructors, destructors and actors • Compatibility with SQL 92 ADT:Abstract Data Type
OQL • Defined by ODMG • OQL adopts the type system of the application • Functional Query Language • Orthogonal Query Language
Query Optimisation • Introduction: Difficulties of OODBMS Queries. • Optimisation Issues • Additional Data Types: definition of new types and classes through inheritance can both assist and prevent optimisation of queries • Complex Objects: The path expressions and query closure of OODBMS query languages complicate the processing of queries in several ways • Methods and Encapsulation: creation of new objects, object identities (OIDs). • Cost Determination of evaluating methods.
Optimisation Issues Cont. • Algebras and Calculi Optimisation: • The lack of a standard, • Algebra is variable based. • Algebraic optimisation has the advantage that a query can be transformed using well-defined operators. • Extensible Optimisers: • Ability to change with time through ``Optimiser Generators'': builds optimisers based on information on the data model, query language, algebra, calculi and cost model.
Scope of Future Work • A Standard Extensible Optimiser Framework. • Better Cost Models. • Better Algebras and Rewrite Systems. • Eliminating Method Evaluation. • Indexing of Path Expressions. • Pre-computation and Caching.
Solutions and Evaluation: • Simple evaluation, dynamic programming methods, Evolutionary Algorithms and randomised search. • Final words on Query Optimisation: • It is hard to provide a scheme for evaluating the success of a research into query optimisation, the only real criterion being faster average execution time of queries.
OOQL Future Directions • Innovation in the area of OODBMS query languages ! • Research in OOQL: • Super OODBMS Query Language: • Polishing ODMG-93 OQL • Connection to Rule Systems • End-users Queries • Graphical Query Construction
OOQL Future Directions 2 • Future Work Scope and Expectations from: • ODMG-93 OQL and Rule Systems. • Implementation before evaluation. • Good end-user OODBMS query mechanism driven by strong industrial backing.
Conclusion • ODMG defined a standard with OQL • OQL is competing with SQL 3 • Vendors also have their own OOQL • The popularity of OODB depends a lot on the query language that will be adopted.