In order to follow the evolution of application needs, a database mana
gement 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 structu
re. Schema versioning enables the use of extensional data through mult
iple schema interfaces as created by a history of schema changes. Howe
ver, 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 e
xtensional data, a thorough investigation of schema versioning potenti
alities has not yet been made. In this paper we consider schema versio
ning in a broader perspective and introduce new design options whose d
istinct semantic properties and functionalities will be discussed. Fir
st of all, we consider solutions for schema versioning along transacti
on time but also along valid time. Moreover, the support of schema ver
sioning implies operations both at intensional and extensional level.
Two distinct design solutions (namely single-and multi-pool) are prese
nted for the management of extensional data in a system supporting sch
ema versioning. Finally, a further distinction is introduced to define
synchronous and asynchronous management of versioned data and schemat
a. The proposed solutions differ in their semantics and in the possibl
e operations they support. The mechanisms for the selection of data th
rough a schema version are in many cases strictly related to the parti
cular schema versioning solution adopted, that also affects the data d
efinition and manipulation language at user-interface level. In partic
ular, we show how the temporal language TSQL2, originally designed to
support basic functionalities of transaction-time schema versioning, c
an accordingly be extended. (C) 1997 Elsevier Science Ltd.