SQL++
Objectivity/DB+ provides a complete ANSI-standard SQL interface.
SQL++ support means powerful access to Objectivity/DB object databases using readily available SQL-compliant tools running on a number of Windows and Unix platforms.
SQL3 object extensions support Objectivity/DB's expanded modeling and object database capabilities are included. Objectivity/DB+ requests can use ANSI-standard SQL and object extensions for inheritance, relationships, and methods as well as non-SQL data types such as arrays.
The Objectivity/DB+ API can be used for applications developed with Objectivity/C++ that require ad hoc query access. The API includes a library of ODBC function calls for connecting to the object database, executing SQL statements, and retrieving results, as well as a standard set of error codes and data types.
Objectivity/DB supports SQL++ in two ways
- SQL-compliant server application
- ODBC Driver (available for Windows clients)
Objectivity/DB server application:
Objectivity/DB+ is primarily an ODBC server application that interprets and executes SQL requests, mapping them to Objectivity/DB objects and classes. It also includes two additional mechanisms for submitting SQL requests to Objectivity/DB databases. First, Interactive SQL++ (ISQL) provides an environment for processing ad hoc SQL queries from a command-line or text file. Second, an API is included that allows SQL statements to be embedded within Objectivity/C++ applications. This flexibility allows you to select the appropriate tool for providing SQL access into Objectivity/DB databases.
Objectivity/DB contains an SQL database interface engine adapted to the Objectivity/DB object database under license from Dharma Systems, Inc. SQL statements are interpreted by the engine, which maps SQL commands to objects managed anywhere in the network by Objectivity/DB, executes the request, and passes results back to the application or tool making the request. Excellent performance is achieved by using associations to accelerate joins.
ODBC driver (for Windows clients):
The Objectivity/DB+ ODBC Driver is a separately packaged product, and is required to access Objectivity/DB from ODBC-compliant tools. Objectivity/DB+ ODBC uses the ODBC server in Objectivity/DB+ to define, query and update Objectivity/DB databases.
SQL++ Object Extensions
The SQL++ Object Extensions allow access to Objectivity/DB objects through simple extensions to SQL that are consistent with C++ and the SQL3 standard, including:
- Access to all C++ data members or only those in the public interface through data member scooping
- Query access to the inherited attributes of an object as well as those defined in its class, supporting the C++ inheritance model
- Support for complex objects with user-defined structures. Object member fields are accessed using C++ dot notation, consistent with the Object Database Management Group (ODMG) specification for Object Query Language (OQL)
- Support for references to other objects via relationships
- Support for text and numeric arrays (both fixed and variable)
- Use of C++ operations as SQL operators
- Constraining specific operations (SELECT, DELETE, UPDATE) to individual databases or groups of objects within the federation of Objectivity/DB object databases.
SUMMARY:
Features
- Compliant with Microsoft ODBC Level 2 specifications
- Full support for 1989 ANSI SQL
- Support for all 1992 ANSI SQL Entry Level and many Intermediate Level features
- Automatically maps standard SQL commands to objects
- SQL3 object extensions for methods, inheritance, nested structures, extents, and object Ids
- Standard SQL commands can be executed in C++ applications
- Microsoft ODBC API with full Level 2 compliance
- Works with ODBC-compliant report writers and query tools
- SQL access to information created by object-oriented C++ and Java applications.
Benefits
- Provides full support for an industry-standard database query language
- Provides standard database security
- Enables users to build applications with a wide variety of SQL/ODBC client/server application development tools
- Provides easy access to Objectivity/DB information
- Allows developers access to the full power of an object database [ODBMS] using SQL
- Eases migration to Objectivity/DB for RDBMS users and developers
- Easy report generation and ad hoc queries
- Provides sophisticated end users with customized access to Objectivity/DB information without programming.
|
|


