This ODMG Standard Model specifies the elements that will be defined, and how it will be done, to achieve persistence in Object Oriented Databases that support the standard. It consists of an object definition language, ODL , that specifies the elements of this model. A group of representatives from the database industry formed the Object Database Management Group (ODMG) with the purpose of defining standards for object-oriented DBMS. This group proposed a standard model for the semantics of objects in a database. Its latest version, ODMG 3.0, appeared in January 2000 .
[ hide ]
- 1 Story
- 2 OSMG standard
- 3 Group members
- 4 Composition
- 5 See also
- 6 Sources
- The ODMG was conceived in the summer of 1991at a breakfast with the object database providers that was organized by Rick Cattell of Sun Microsystems .
- The ODMG which standardizes the OODBMSsfrom ODMG-93 and then in 1992 the ANSI X3H2 committee starts a work in SQL3 , from which the DBMS relational object ORDBMS arise . This work was scheduled to be completed in 1995 , but work is still ongoing with a completion time limit of 1999 .
The ODMG standard is a product of the international OMG consortium, which primarily provides object-oriented techniques for software engineering . Its standards can be accepted by ISO certified companies . The OSMG standard is the model for the semantics of objects in a database. It allows porting both designs and implementations on various compatible systems.
- The manufacturers of the object-oriented DBMSformed this group, which has evolved to ODMG 3.0, its latest version.
- The use of standards provides portability, allowing an application to run on different systems with minimal modifications.
- The standards also provide interoperability, allowing an application to access several different systems. And a third advantage of the standards is that they allow users to compare between different business systems, depending on which parts of the standard they provide.
ODMG is made up of:
- Object Model
The ODMG object model allows both designs and implementations to be portable among the systems that support it. It has the following modeling primitives:
The basic components of an object-oriented database are objects and literals. An object is a self-contained instance of a real-world entity of interest. Objects have some kind of unique identifier. A literal is a specific value, such as “Amparo” or 36. Literals do not have identifiers. A literal does not necessarily have to be a single value, it can be a structure or a set of related values that are stored under a single name. Objects and literals are categorized into types. Each type has a specific domain shared by all objects and literals of that type. Guys can also have behaviors. When a type has behaviors, all objects of that type share the same behaviors. In the practical sense, a type can be a class from which an object, interface, or data type is created for a literal (for example, integer). An object can be thought of as an instance of a type. What an object knows how to do is its operations. Each operation can require input data (input parameters) and can return some value of a known type. Objects have properties, including their attributes and the relationships they have with other objects. The current state of an object is given by the current values of its properties. A database is a set of stored objects that are managed so that they can be accessed by multiple users and applications.
- ODL object definition language
ODL is a specification language for defining object types for ODMG-compliant systems. ODL is the equivalent of DDL (data definition language) of traditional DBMS. Defines the attributes and relationships between types, and specifies the signature of the operations. The ODL syntax extends the Common Object Request Broker Architecture (CORBA) interface definition language (IDL).
- OQL Object Query Language
OQL is a declarative SQL-type language that enables efficient queries on object-oriented databases, including high-level primitives for object sets and structures. It is based on SQL-92, providing a superset of the syntax of the SELECT statement. OQL does not have primitives to modify the state of the objects since the modifications can be carried out by means of the methods they possess. The basic OQL syntax is a SELECT … FROM … WHERE … structure, as in SQL.