An Object Oriented (OO) database is made up of objects and object classes linked via a number of abstraction mechanisms. Discuss the terms Object and Abstraction Mechanisms.
- An object is a package of data and procedures. Data is contained in attributes of an object.
- Procedures are defined by an object’s methods. Methods are activated by messages passed between objects.
- An OO data model must provide support for object identity.
- All objects must demonstrate the property of encapsulation. This is the process of packaging together of both data and process within a defined interface and controlled access across that interface.
- Encapsulation is implicit in the definition of an object since all manipulation of objects must be done via defined procedures attached to objects.
- The metaphor of an object as a gene or egg has been used to emphasise its character as containing all the information needed for it to behave appropriately in a given environment.
- An object data model supports two mechanisms which allow the database builder to construct hierarchies or lattices of object classes. Two such abstraction mechanisms are normally discussed: generalization and aggregation.
- Implicit in the construction of object classes is the support for the abstraction mechanism of generalization. This allows us to declare certain object classes as subclasses of other object classes. For instance, Manager, Secretary and Technician might all be declared subclasses of an Employee class. Likewise, Sales Manager, Production Manager etc. would all be declared subtypes of the Manager class.
- Aggregation is the process by which a higher level object is used to group together a number of lower-level objects. For instance, a Car entity might be built up of an assembly of wheels, chassis, engine etc.
- An OO data model must also supply some means of linking objects to object classes. In this case an object class is said to classify an object, or in contrast an object is said to instantiate an object class.