Schema versioning for multitemporal relational databases
In order to follow the evolution of application needs, a database management system is easily expected to undergo changes involving database structure after implementation. Schema evolution concerns the ability of maintaining extant data in response to changes in database structure. Schema versioning enables the use of extensional data through multiple schema interfaces as created by a history of schema changes. However, schema versioning has been considered only to a limited extent in current literature. Also in the field of temporal databases, whereas a great deal of work has been done concerning temporal versioning of extensional data, a thorough investigation of schema versioning potentialities has not yet been made. In this paper we consider schema versioning in a broader perspective and introduce new design options whose distinct semantic properties and functionalities will be discussed. First of all, we consider solutions for schema versioning along transaction time but also along valid time. Moreover, the support of schema versioning implies operations both at intensional and extensional level. Two distinct design solutions (namely single-and multi-pool) are presented for the management of extensional data in a system supporting schema versioning. Finally, a further distinction is introduced to define synchronous and asynchronous management of versioned data and schemata. The proposed solutions differ in their semantics and in the possible operations they support. The mechanisms for the selection of data through a schema version are in many cases strictly related to the particular schema versioning solution adopted, that also affects the data definition and manipulation language at user-interface level. In particular, we show how the temporal language TSQL2, originally designed to support basic functionalities of transaction-time schema versioning, can accordingly be extended. (C) 1997 Elsevier Science Ltd.
schema versioning temporal database transaction-time valid-time multitemporal database