Tool support and topological study of schema evolution in terms of foreign keys (Master thesis)
Studying the evolution of databases’ structure, known as schema evolution, is of great importance, since it can reveal patterns that will help administrators devote less time for increasing databases’ information capacity with the least possible effects on the surrounding applications and take all the necessary maintenance actions for preserving and enhancing databases’ performance. The main research question that we attempt to answer in this Thesis can be expressed in this way: is there a relationship between tables’ involvement with foreign keys and their evolution? For answering this question, we adopt a model that considers each version of a schema as a graph which includes schema’s tables and foreign key constraints as nodes and edges, respectively. The union of the graphs forms the Diachronic Graph, which comprises all the tables and all the foreign keys that ever exist in schema’s history. We also define four categories, namely isolated, source, lookup and internal, for the tables with respect to the combination of their in- and out- degrees in the Diachronic Graph. We refer to these categories with the term topological since they describe the arrangement of the tables in the Diachronic Graph with respect to their inciting foreign keys. We then classify tables into the topological categories and we study how tables’ topology is associated with several evolution-related properties, such as tables’ duration, their update activity, their size change, etc. The schema histories that we utilize in the context of our work derive from 5 relational databases supporting open-source projects. The most significant results of our research work, which are also verified by the statistical evidence, are: (a) a relationship between tables’ topological categories and their probability to be born in the originating version of their databases and (b) a correlation between tables’ topology and their update activity. Specifically, we have identified that the more topologically complex a table is the more intense is its life in terms of its update activity and the higher is the probability to be introduced in the very first version of its schema history. To facilitate the research part of the Thesis, we perform an extensive refactoring in the architecture of the Parmenidian Truth tool that visualizes the schema evolution of relational databases. After identifying and prioritizing design defects, we have applied a series of modifications in the source code of the tool, aiming at increasing tool’s extendibility potential. To verify that the changes we introduced have not altered tool’s expected behavior, we have created unit tests for all the modules we either modified or added. Finally, we have evaluated the enhancements of the refactoring process by comparing the design quality of the tool before and after the refactoring. Complementing the refactoring of the tool, we have also constructed a web application that visualizes the schema evolution of relational databases and summarizes the main corresponding statistics.
|Institution and School/Department of submitter:||Πανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής|
|Subject classification:||Software refactoring|
|Keywords:||Schema evolution,Foreign keys,Refactoring,Web application,Εξέλιξη σχήματος,Ξένα κλειδιά,Αναμόρφωση,Διαδικτυακή εφαρμογή|
|Appears in Collections:||Διατριβές Μεταπτυχιακής Έρευνας (Masters)|
Files in This Item:
|Μ.Ε. ΔΗΜΟΛΙΚΑΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 2019.pdf||4.76 MB||Adobe PDF||View/Open|
Please use this identifier to cite or link to this item:This item is a favorite for 0 people.
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.