next up previous
Next: The ODMG C++ Object Up: Persistent C++ Systems Previous: Persistent C++ Systems

The ODMG C++ Object Definition Language

  1. The ODMG (Object Database Management Group) has been working on standardizing language extensions to C++ and smalltalk to support persistence, and on defining class libraries to support persistence.
  2. There are two parts to the ODMG C++ extension: (1) the C++ Object Definition Language (C++ ODL); and (2) the C++ Object Manipulation Language (C++ OML).
  3. An example the ODMG C++ Object Definition Language is in Figure 8.7. Person and Account are subclasses of Persistence_Object, and objects in these classes can therefore be made persistent. Customer is a subclass of Person and is thus also a subclass of Persistence_Object.
  4. Methods can be directly invoked and behave like procedure calls. The keyword private indicates that the following attributes or methods are visible to only methods of the class; public indicates that the attributes or methods are visible to other code as well.
  5. Type Ref Branch is a reference, or persistent pointer, to an object of type Branch. Referential integrity constraint is specified using inverse. E.g., inverse Account: owners for the attribute accounts says that, for each account object referenced in the accounts set of Customer object, the field owners of the account object must contain a reference back to the Customer object.

Osmar Zaiane
Mon Jun 29 17:30:13 PDT 1998