Schema versioning

Roddick, John F.; Snodgrass, Richard T.
Roddick, J
Snodgrass, R
The TSQL2 Temporal Query Language
Citations range: 

Database and software systems are rarely stable following initial implementation. Although estimates differ, most agree that 50% or more of programmer effort arises as a result of system modifications after implementation [Lientz, B. P. 1983] and facilitating those changes is complicated if large numbers of programs or large quantities of data are involved. Moreover, system modifications that result in changes to database structure are relatively frequent [Sjoberg, D. 1992, Sjoberg, D. 1993]. As a result, modifying the database schema is a common, but often troublesome, occurrence in database administration. These are significant industrial concerns, both from the viewpoint of database system manufacturers and users. Schema evolution, and its stronger companion, schema versioning, have arisen in response to a need to retain data entered under schema definitions that have since been amended. A more formal definition of schema evolution is given later, but a loose definition can be given as the ability for a database schema to evolve without the loss of existing information.