A Data Model for Object-Oriented Databases

We present an object-oriented data model. The data model represents all entities as objects. The system uses internally generated object identifiers for giving objects their unique identity. An object also has a state and a behavior. Each object belongs to a class. The class defines the structure of the object''s state and its behavior. Classes are organized in an inheritance hierarchy. An object of a class T can be used where an object of T''s superclass is expected. Inheritance polymorphism is provided through late binding of methods based on actual classes of objects. The data model eliminates the objects-versus-values dichotomy by representing all entities as objects. This is achieved at no loss of modeling power or performance. The data model provides for exclusive access of objects by other objects.