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)
Copyright: © 2018 |Pages: 10
DOI: 10.4018/978-1-5225-2255-3.ch178
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

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
Top

Background

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.

­

Key Terms in this Chapter

Schema Versioning: A schema change modality that provides for the maintenance of previous schema versions, such that extant data are accessible through any of the supported schema versions.

Schema Evolution: A schema change modality that avoids the loss of extant data. No support is required for previous schemata.

Schema Change Propagation: The effects of a schema change at instance level, involving suitable conversions necessary to adapt extant data to the new schema.

Schema Changes: Operations performed on a (populated) database schema, in order to adapt it to new application requirements.

Temporal Schema Versioning: Schema versioning technique, in which different schema versions are indexed by timestamps.

Database Schema: The formal structure of the database, described by means of a data definition language.

Schema Version: A complete database schema as created by the initial design or by the application of schema changes to an existing schema.

Database Conversion/Migration: Process consisting in adapting data valid under a given schema version to another schema version.

Schema Change Semantics: The effects of a schema change at schema level.

Complete Chapter List

Search this Book:
Reset