Robust and simple database evolution

Research output: Contribution to journalResearch articleContributedpeer-review

Contributors

Abstract

Software developers adapt to the fast-moving nature of software systems with agile development techniques. However, database developers lack the tools and concepts to keep the pace. Whenever the current database schema is evolved, the already existing data needs to be evolved as well. This is usually realized with manually written SQL scripts, which is error-prone and explains significant costs in software projects. A promising solution are declarative database evolution languages, which couple both schema and data evolution into intuitive operations. Existing database evolution languages focus on usability but do not strive for completeness. However, this is an inevitable prerequisite to avoid complex and error-prone workarounds. We present CoDEL which is based on an existing language but is relationally complete. We precisely define its semantic using relational algebra, propose a syntax, and formally validate its relational completeness. Having a complete and comprehensive database evolution language facilitates valuable support throughout the whole evolution of a database. As an instance, we present VaCo, a tool supporting developers with variant co-evolution. Given a variant schema derived from a core schema, VaCo uses the richer semantics of CoDEL to semi-automatically co-evolve this variant with the core.

Details

Original languageEnglish
Article number1
Pages (from-to)45-61
Number of pages17
JournalInformation systems frontiers : ISF ; a journal of research and innovation
Volume20
Issue number1
Publication statusPublished - 1 Feb 2018
Peer-reviewedYes

External IDs

Scopus 85010756258
ORCID /0000-0001-8107-2775/work/142253502

Keywords

Keywords

  • Co-Evolution, Database evolution, Evolution language, Relational completeness