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.
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:75553 |
Date | 28 July 2021 |
Creators | Herrmann, Kai, Voigt, Hannes, Rausch, Jonas, Behrend, Andreas, Lehner, Wolfgang |
Publisher | Springer |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | English |
Detected Language | English |
Type | info:eu-repo/semantics/acceptedVersion, doc-type:article, info:eu-repo/semantics/article, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Relation | 1572-9419, 10.1007/s10796-016-9730-2, info:eu-repo/grantAgreement/Deutsche Forschungsgemeinschaft/Graduiertenkollegs/221322883//Rollenbasierte Software-Infrastrukturen für durchgängig-kontextsensitive Systeme/RoSI |
Page generated in 0.0018 seconds