Design is an incremental process and evolves with time. To support this process, applications
require considerable flexibility in dynamically defining and modifying the database
schema. For example, it should be possible to modify class definitions, the inheritance
structure, and the specifications of attributes and methods without requiring system
shutdown. Schema modification is closely related to the concept of version management
discussed above. The issues that arise in schema evolution are complex and not all of
them have been investigated in sufficient depth. Typical changes to the schema include
(Banerjee et al., 1987b)