The following table shows the comparison of SQL-92, JDBC, SQLJ, SQL:1999, ODMG 3.0, and JDO on their respective models, data definition languages, query languages, and data manipulation languages. The table is completed with the idea you will be using an object programming language such as Java or C++.
This table is not a comparison of database management systems (DBMSs). It is really a comparison of application program interfaces (APIs). This is because any of these APIs can be used with virtually any DBMS. For example, SQL-92 and JDBC are often associated with relational DBMSs. Both APIs, however, are also used with various object DBMSs. Conversely, ODMG 3.0 is often associated with object DBMSs, but in reality, it is also used with object-relational mapping products for relational DBMSs.
An important term to know is transparent persistence. You can see the term used in the table for the ODMG 3.0 and JDO specifications. For more information on transparent persistence, see:
- Transparent persistence for object databases
- Transparent persistence for relational databases using object-relational mapping products
For more information on each of the specifications, see the menu choices at the right on the bottom of the section.
|Model||relational model||relational model||Parts 0 & 1:
Part 2: SQL:1999 object model
|SQL:1999 object model
|Java, C++, and
Smalltalk object models enhanced for transparent persistence
The model with the transparent persistence enhancements is a superset of the OMG Common Object Model
|Java object model enhanced for transparent persistence|
|Data Definition Language||SQL||SQL||SQL||SQL||Object Definition Language (ODL) which is a superset of the OMG Interface Definition Language (IDL)||Java & XML|
|Query Language||Embedded SQL, Dynamic SQL, and Call-level interface||Call-level interface for SQL||Embedded SQL||Embedded SQL, Dynamic SQL, and Call-level interface||Object Query Language (OQL) which is based on SQL-92||JDO Query Language (JDOQL)
|Data Manipulation Language||Embedded SQL, Dynamic SQL, and Call-level interface||Call-level interface for SQL and Java||Embedded SQL and Java||Embedded SQL, Dynamic SQL, and Call-level interface||Java, C++, or Smalltalk||Java||Specification Based On||SQL-89||Java & SQL-92||Java, JDBC & SQL:1999||SQL-92||OMG Common Object Model, OMG IDL, SQL-92, Java, C++, and Smalltallk||Java & XML|
From the table, you can see that SQL differs from the other specifications because it defines its own model, data definition language, query language, and data manipulation language. Both SQL-92 and SQL:1999 do not build on any specifications other than versions of SQL.
More on the general topic: DBMS Standards
- Java Data Objects (JDO)
- ODMG 3.0
- Detailed Comparison of ODMG 3.0 and JDO
Author: Douglas K Barry
You may use this material for your work or classes. Reprint Policy. Be sure to check the menu at the left for other articles available on this site.
The Savvy Manager's Guide
Douglas K Barry is also the author of a book that explains Web Services, service-oriented architecture, and Cloud Computing in an easy-to-understand, non-technical manner.
Web Services, Service-Oriented Architectures, and Cloud Computing: The Savvy Manager's Guide (Second Edition)
by Douglas K Barry with David Dick
This is a guide for the savvy manager who wants to capitalize on the wave of change that is occurring with Web Services, service-oriented architecture, and—more recently—Cloud Computing. The changes wrought by these technologies will require both a basic grasp of the technologies and an effective way to deal with how these changes will affect the people who build and use the systems in our organizations. This book covers both issues. Managers at all levels of all organizations must be aware of both the changes that we are now seeing and ways to deal with issues created by those changes.