(OODB) A system offering DBMS facilities in an object-oriented programming environment. Data is stored as objects and can be interpreted only using the methods specified by its class. The relationship between similar objects is preserved (inheritance) as are references between objects. Queries can be faster because joins are often not needed (as in a relational database). This is because an object can be retrieved directly without a search, by following its object id. The same programming language can be used for both data definition and data manipulation. The full power of the database programming language's type system can be used to model data structures and the relationship between the different data items. Multimedia applications are facilitated because the class methods associated with the data are responsible for its correct interpretation. OODBs typically provide better support for versioning. An object can be viewed as the set of all its versions. Also, object versions can be treated as full fledged objects. OODBs also provide systematic support for triggers and constraints which are the basis of active databases. Most, if not all, object-oriented application programs that have database needs will benefit from using an OODB. Ode is an example of an OODB built on C++.