A Framework for Managing Schema Versioning in Object-Oriented Databases
An approach to schema modification management is presented which also takes into concern that alternative schema perspectives seems to be needed, in addition to revision-like changes. The primary goal is to support change transparency when the schema is modified, such that existing application programs and objects need not be affected by changes to the schema.
The approach is based on explicitly distinguishing Type (external interface of objects) and Class (object implementation and representation) — a Type is implemented by one or more Classes. Structural (representation) changes are accomplished by introducing new Classes (or Class versions), which does not require recompilation. Behavioral (Type) changes affect applications, as there may be incompatibilities between the Type version of the database object, and the application. The approach is based on automatically maintaining the totality of all versions’ interface for each Type, and provide mechanisms for defining new Class revisions to also implement this interface. In this way Type version incompatibilities are externally invisible. The paper presents the general mechanisms for managing schema changes, and identifies how the mechanisms are utilized.
KeywordsSchema Version Type Version Class Version Abstract Class Creation Class
Unable to display preview. Download preview PDF.
- Henry Lieberman. Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems. In Proceedings of the Conference on Object-Oriented Systems, Languages and Applications (OOPSLA), Portland, Oregon, USA, pages 214-223, September/October 1986.Google Scholar
- L. A. Stein. A Unified Methodology for Object-oriented Programming. In Maurizio Lenzerini and Daniele Nardi and Maria Simi (Eds.): Inheritance Hierarchies in Knowledge Representation and Programming Languages, chapter 13, pages 211-222. Wiley, 1991.Google Scholar
- D. Jason Penney and Jacob Stein. Class Modification in the GemStone Object-Oriented DBMS. In Proceedings of the Conference on Object-Oriented Systems, Languages and Applications (OOPSLA), Orlando, Florida, USA, pages 111-117, October 1987.Google Scholar
- Gilles Barbedette. Schema Modifications in the LISPO2 Persistent Object-Oriented Language. In ECOOP’ 91. European Conference on Object-Oriented Programming, Geneva, Switzerland, pages 77-96. Springer-Verlag, 1991.Google Scholar
- Won Kim and Hong-Tai Chou. Versions of Schema for Object-Oriented Databases. In Proceedings of the Fourteenth International Conference on Very Large Databases, Los Angeles, USA (VLDB’ 88), pages 148-159, August/September 1988.Google Scholar
- Andrea H. Skarra and Stanley B. Zdonik. Type Evolution in an Object-Oriented Database. In Bruce Shriver and Peter Wegner (Eds.): Research Directions in Object-Oriented Programming, pages 393-415. MIT Press, 1987.Google Scholar
- Anders Bjørnerstedt and Christer Hülté. n. Version Control in an Object-Oriented Architecture. In Won Kim and Frederick H. Lochovsky, editors, Object-Oriented Concepts, Databases, and Applications, chapter 18, pages 451-485. Addison Wesley, September 1989.Google Scholar
- Stanley B. Zdonik. Object-Oriented Type Evolution. In François Bancilhon and Peter Buneman (Eds.): Advances in Database Programming Languages, chapter 16, pages 277-288. Addison-Wesley, 1990.Google Scholar
- Alan Snyder. Encapsulation and Inheritance in Object-Orienteed Programming. In Proceedings of the Conference on Object-Oriented Systems, Languages and Applications (OOPSLA), Orlando, Florida, USA, pages 38-45, September 1987.Google Scholar
- Stewart M. Clamen. Type evolution and instance adaptation. Technical report, School of Computer Science, Carnegie Mellon University, March 1992. Submitted to VLDB’ 92.Google Scholar