Schema Evolution in Conventional and Emerging Databases

Schema Evolution 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.ch048


In information systems, changing the database schema is a common but often troublesome task in database administration that is needed for many reasons such as changes in user requirements, compliance to new regulations, addition of new functionalities, or correction of deficiencies in the current schema. For most database applications, changing the schema of the database without loss of existing data is a significant challenge: it is usually a time-consuming and error-prone task which must be done carefully. In the literature, schema evolution has been defined as the modality for the management of schema changes which relieves database programmers and administrators from this burden, by automatically recovering extant data and possibly adapting them to the new schema. The main goal of this chapter is to present the recent research proposals that deal with schema evolution in traditional and emerging databases and to discuss the recent advances on schema evolution support in mainstream DBMSs.
Chapter Preview


In this section, we illustrate with a simple example the functioning of schema evolution, contrasting it with the lowest level of schema change support that can be embedded in a database, that is the modality of schema modification (Jensen et al., 1998). 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.



The catalogues store information on the schema S1 of the AUTHOR relation. The table AUTHOR contains two tuples for two authors. Then consider the following schema changes:


The schema modification technique allows users to effect changes to the database schema, but neither previous schema nor its underlying data are preserved: the old schema is replaced by the new schema, which is initially empty as data populating the old schema are discarded. The effects in our example would be as shown in Figure 2.

Complete Chapter List

Search this Book: