Schema Evolution and Foreign Keys: Birth, Eviction, Change and Absence

  • Panos VassiliadisEmail author
  • Michail-Romanos Kolozoff
  • Maria Zerva
  • Apostolos V. ZarrasEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10650)


In this paper, we focus on the study of the evolution of foreign keys in the broader context of schema evolution for relational databases. Specifically, we study the schema histories of a six free, open-source databases that contained foreign keys. Our findings concerning the growth of tables verify previous results that schemata grow in the long run in terms of tables. Moreover, we have come to several surprising, new findings in terms of foreign keys. Foreign keys appear to be fairly scarce in the projects that we have studied and they do not necessarily grow in sync with table growth. In fact, we have observed different cultures for the handling of foreign keys, ranging from treating foreign keys as an indispensable part of the schema, in full sync with the growth of tables, to the unexpected extreme of treating foreign keys as an optional add-on that twice resulted in their full removal from the schema of the database.


Schema evolution Patterns of change Foreign keys 


  1. 1.
    Cleve, A., Gobert, M., Meurice, L., Maes, J., Weber, J.H.: Understanding database schema evolution: a case study. Sci. Comput. Program. 97, 113–121 (2015)CrossRefGoogle Scholar
  2. 2.
    Curino, C., Moon, H.J., Tanca, L., Zaniolo, C.: Schema evolution in Wikipedia: toward a web information system benchmark. In: Proceedings of ICEIS 2008. Citeseer (2008)Google Scholar
  3. 3.
    Lin, D.Y., Neamtiu, I.: Collateral evolution of applications and databases. In: Proceedings of Joint International and Annual ERCIM Workshops on Principles of Software Evolution (IWPSE) and Software Evolution (Evol) Workshops, IWPSE-Evol 2009, pp. 31–40 (2009)Google Scholar
  4. 4.
    Qiu, D., Li, B., Su, Z.: An empirical analysis of the co-evolution of schema and code in database applications. In: Proceedings of 2013 9th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2013, pp. 125–135 (2013)Google Scholar
  5. 5.
    Sjøberg, D.: Quantifying schema evolution. Inf. Softw. Technol. 35(1), 35–44 (1993)CrossRefGoogle Scholar
  6. 6.
    Skoulis, I., Vassiliadis, P., Zarras, A.: Open-source databases: within, outside, or beyond Lehman’s laws of software evolution? In: Proceedings of 26th International Conference on Advanced Information Systems Engineering - CAiSE 2014 (2014)Google Scholar
  7. 7.
    Skoulis, I., Vassiliadis, P., Zarras, A.V.: Growing up with stability: how open-source relational databases evolve. Inf. Syst. 53, 363–385 (2015)CrossRefGoogle Scholar
  8. 8.
    Vassiliadis, P., Zarras, A., Skoulis, I.: Gravitating to rigidity: patterns of schema evolution - and its absence - in the lives of tables. Inf. Syst. 63, 24–46 (2017)CrossRefGoogle Scholar
  9. 9.
    Vassiliadis, P., Zarras, A.V., Skoulis, I.: How is life for a table in an evolving relational schema? Birth, death and everything in between. In: Proceedings of 34th International Conference on Conceptual Modeling (ER 2015), Stockholm, Sweden, 19–22 October 2015, pp. 453–466 (2015)CrossRefGoogle Scholar
  10. 10.
    Wu, S., Neamtiu, I.: Schema evolution analysis for embedded databases. In: Proceedings of 2011 IEEE 27th International Conference on Data Engineering Workshops, ICDEW 2011, pp. 151–156 (2011)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringUniversity of IoanninaIoanninaGreece
  2. 2.UpcomAthensGreece

Personalised recommendations