CoDEL – A Relationally Complete Language for Database Evolution

  • Kai HerrmannEmail author
  • Hannes Voigt
  • Andreas Behrend
  • Wolfgang Lehner
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9282)


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 pace. Data, already existing in a running product, needs to be evolved accordingly, usually by manually written SQL scripts. A promising approach in database research is to use a declarative database evolution language, which couples both schema and data evolution into intuitive operations. Existing database evolution languages focus on usability but did not aim for completeness. However, this is an inevitable prerequisite for reasonable database evolution to avoid complex and error-prone workarounds. We argue that relational completeness is the feasible expressiveness for a database evolution language. Building upon an existing language, we introduce CoDEL. We define its semantic using relational algebra, propose a syntax, and show its relational completeness.


Descriptive database evolution Evolution language Relational completeness 


  1. 1.
    Ambler, S.W.: Whence data management? Dr. Dobb’s J. 390, 79 (2006)Google Scholar
  2. 2.
    Ambler, S.W., Sadalage, P.J.: Refactoring Databases: Evolutionary Database Design. Addison-Wesley Signature. Addison-Wesley, New York (2006). ISBN: 978-0321774514Google Scholar
  3. 3.
    Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., Martin, R.C., Mellor, S., Sutherland, J., Thomas, D., Schwaber, K.: Manifesto for Agile Software Development (2001)Google Scholar
  4. 4.
    Ceri, S., Negri, M., Pelagatti, G.: Horizontal data partitioning in database design. In: SIGMOD Conference, pp. 128–136 (1982)Google Scholar
  5. 5.
    Codd, E.F.: A relational model of data for large shared data banks. Commun. ACM 15(3), 162–166 (1970)zbMATHGoogle Scholar
  6. 6.
    Curino, C.A., Moon, H.J., Deutsch, A., Zaniolo, C.: Update rewriting and Integrity constraint maintenance in a schema evolution support system: PRISM++. VLDB Endow. 4(2), 117–128 (2010)CrossRefGoogle Scholar
  7. 7.
    Curino, C.A., Moon, H.J., Deutsch, A., Zaniolo, C.: Automating the database schema evolution process. VLDB J. 22(1), 73–98 (2012)CrossRefGoogle Scholar
  8. 8.
    Curino, C.A., Moon, H.J., Zaniolo, C.: Graceful database schema evolution: the PRISM workbench. VLDB Endow. 1(1), 761–772 (2008)CrossRefGoogle Scholar
  9. 9.
    Curino, C.A., Tanca, L., Moon, H.J., Zaniolo, C.: Schema evolution in wikipedia: toward a web information system benchmark. In: ICEIS, pp. 323–332 (2008)Google Scholar
  10. 10.
    Domínguez, E., Lloret, J., Rubio, Á.L., Zapata, M.A.: MeDEA: a database evolution architecture with traceability. Data Knowl. Eng. 65(3), 419–441 (2008)CrossRefGoogle Scholar
  11. 11.
    Moon, H.J., Curino, C.A., Ham, M., Zaniolo, C.: PRIMA - archiving and querying historical data with evolving schemas. In: SIGMOD Conference, pp. 1019–1022 (2009)Google Scholar
  12. 12.
    Papastefanatos, G., Vassiliadis, P., Simitsis, A., Aggistalis, K., Pechlivani, F., Vassiliou, Y.: Language extensions for the automation of database schema evolution. In: ICEIS, pp. 74–81 (2008)Google Scholar
  13. 13.
    Rahm, E., Bernstein, P.A.: An online bibliography on schema evolution. SIGMOD Rec. 35(4), 30–31 (2006)CrossRefGoogle Scholar
  14. 14.
    Roddick, J.F.: SQL/SE - a query language extension for databases supporting schema evolution. SIGMOD Rec. 21(3), 10–16 (1992)CrossRefGoogle Scholar
  15. 15.
    Roddick, J.F.: A survey of schema versioning issues for database systems. Inf. Softw. Technol. 37(7), 383–393 (1995)CrossRefGoogle Scholar
  16. 16.
    Skoulis, I., Vassiliadis, P., Zarras, A.: Open-source databases: within, outside, or beyond Lehman’s laws of software evolution? In: Jarke, M., Mylopoulos, J., Quix, C., Rolland, C., Manolopoulos, Y., Mouratidis, H., Horkoff, J. (eds.) CAiSE 2014. LNCS, vol. 8484, pp. 379–393. Springer, Heidelberg (2014) Google Scholar
  17. 17.
    Terwilliger, J.F., Bernstein, P.A., Unnithan, A.: Worry-free database upgrades. In: SIGMOD Conference, p. 1191 (2010)Google Scholar
  18. 18.
    Terwilliger, J.F., Cleve, A., Curino, C.A.: How clean is your sandbox? In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 1–23. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  19. 19.
    Zaniolo, C.: Database relations with null values. J. Comput. Syst. Sci. 28(1), 142–166 (1984)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Kai Herrmann
    • 1
    Email author
  • Hannes Voigt
    • 1
  • Andreas Behrend
    • 2
  • Wolfgang Lehner
    • 1
  1. 1.Database Technology GroupTechnische Universität DresdenDresdenGermany
  2. 2.Computer Science IIIUniversity of BonnBonnGermany

Personalised recommendations