Abstract
When a database is shared by many users, updates to the database schema are almost always prohibited because there is a risk of making existing application programs obsolete when they run against the modified schema. This paper addresses the problem by integrating schema evolution with view facilities. When new requirements necessitate schema updates for a particular user, then the user specifies schema changes to his personal view, rather than to the shared-base schema. Our view schema-evolution approach then computes a new view schema that reflects the semantics of the desired schema change, and replaces the old view with the new one. We show that our system provides the means for schema change without affecting other views (and thus without affecting existing application programs). The persistent data is shared by different views of the schema, i.e., both old as well as newly developed applications can continue to interoperate. This paper describes a solution approach of realizing the evolution mechanism as a working system, which as its key feature requires the underlying object-oriented view system to support capacity-augmenting views. In this paper, we present algorithms that implement the complete set of typical schema-evolution operations as view definitions. Lastly, we describe the transparent schema-evolution system (TSE) that we have built on top of GemStone, including our solution for supporting capacity-augmenting view mechanisms.
Original language | English |
---|---|
Pages (from-to) | 600-624 |
Number of pages | 25 |
Journal | IEEE Transactions on Knowledge and Data Engineering |
Volume | 9 |
Issue number | 4 |
DOIs | |
State | Published - 1997 |
Keywords
- Capacity-augmenting views
- Interoperability
- Object-oriented database
- Object-oriented view system
- Schema evolution
- Software legacy problem