Schema Versioning in Conventional and Emerging Databases

Schema Versioning in Conventional and Emerging Databases

Zouhaier Brahmia (University of Sfax, Tunisia), Fabio Grandi (University of Bologna, Italy), Barbara Oliboni (University of Verona, Italy) and Rafik Bouaziz (University of Sfax, Tunisia)
DOI: 10.4018/978-1-5225-7598-6.ch049
OnDemand PDF Download:
No Current Special Offers


In information systems, not only do data change over time, but also database schemata evolve frequently as a response to evolving application requirements. In the literature, schema evolution and schema versioning are the two techniques that were proposed to support schema changes in a DBMS, without loss of extant data and with continued support of legacy applications. After applying schema changes, schema evolution keeps only the current schema version and retains the data which are adapted to such a schema. On the other hand, each time schema changes are applied, schema versioning creates a new schema version, while preserving old schema versions and their corresponding data. With schema versioning, data access through any schema version is supported, which avoids applications developed with past schemata to become obsolete. The main goal of this chapter is to present the recent research proposals that deal with schema versioning and to discuss the recent advances on schema versioning support in mainstream DBMSs.
Chapter Preview


The schema versioning technique allows changes to the database schema with continued support of previous schemata and their corresponding data, which are retained without any change. The newly created schema version is (usually) used to accommodate new data insertions, modifications and deletions. This technique neither leads to loss of information nor to obsolescence of existing applications, as they can still work with old schema versions. Further issues related to schema versioning support have been discussed in (Brahmia et al., 2015).

In this section, we illustrate the functioning of schema versioning with a simple example. Let us assume that we have a relational database that contains only an AUTHOR relation with the attributes ID (primary key), NAME, PHONE, and COUNTRY. The first state of this database is shown in Figure 1.

Figure 1.



Complete Chapter List

Search this Book: