Please use this identifier to cite or link to this item:
Full metadata record
DC FieldValueLanguage
dc.contributor.authorΔημολίκας, Κωνσταντίνοςel
dc.rightsDefault License-
dc.subjectSchema evolutionen
dc.subjectForeign keysen
dc.subjectWeb applicationen
dc.subjectΕξέλιξη σχήματοςel
dc.subjectΞένα κλειδιάel
dc.subjectΔιαδικτυακή εφαρμογήel
dc.titleTool support and topological study of schema evolution in terms of foreign keysen
dc.titleΜελέτη της εξέλιξης σχήματος βάσεων δεδομένων σε σχέση με τα ξένα κλειδιά με τη χρήση εξειδικευμένου λογισμικούel
heal.type.enMaster thesisen
heal.type.elΜεταπτυχιακή εργασίαel
heal.classificationSoftware refactoringen
heal.recordProviderΠανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικήςel
heal.bibliographicCitationΒιβλιογραφία: σ. 137-139el
heal.abstractStudying 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.en
heal.abstractΗ μελέτη της εξέλιξης της δομής των βάσεων δεδομένων, η οποία είναι γνωστή με τον όρο εξέλιξη σχήματος, είναι ιδιαίτερα σημαντική καθώς μπορεί να αποκαλύψει μοτίβα που θα βοηθήσουν τους διαχειριστές των βάσεων να αφιερώνουν λιγότερο χρόνο στην αύξηση της χωρητικότητας των παρεχόμενων πληροφοριών με τις λιγότερες πιθανές συνέπειες για τις εξαρτημένες εφαρμογές και να υλοποιούν όλες τις απαραίτητες εργασίες συντήρησης για να διατηρείται και να βελτιώνεται η απόδοση της βάσης. Το βασικό, ερευνητικής φύσεως, ερώτημα που επιδιώκουμε να απαντήσουμε στην παρούσα εργασία μπορεί να διατυπωθεί ως εξής: Υπάρχει κάποια σχέση μεταξύ της συσχέτισης των πινάκων με τα ξένα κλειδιά μιας βάσης δεδομένων και της εξέλιξης τους; Για να απαντήσουμε στο συγκεκριμένο ερώτημα, χρησιμοποιούμε ένα μοντέλο που αναπαριστά κάθε έκδοση του σχήματος σαν έναν γράφο του οποίου οι κόμβοι και οι ακμές αντιστοιχούν στους πίνακες και τα ξένα κλειδιά του σχήματος, αντίστοιχα. Η ένωση αυτών των γράφων αντιστοιχεί στον Διαχρονικό Γράφο, ο οποίος αποτελείται από όλους τους πίνακες και όλα τα ξένα κλειδιά που εμφανίστηκαν σε τουλάχιστον μία έκδοση της ιστορίας του σχήματος. Επίσης, ορίζουμε 4 κατηγορίες για τους πίνακες, συγκεκριμένα τις isolated, source, lookup και internal με βάση τον συνδυασμό των έσω- και έξω- βαθμών τους στον Διαχρονικό Γράφο. Χαρακτηρίζουμε τις κατηγορίες αυτές με τον όρο τοπολογικές, καθώς περιγράφουν τη θέση των πινάκων στον Διαχρονικό Γράφο σε σχέση με τα ξένα κλειδιά τους. Στη συνέχεια, ταξινομούμε τους πίνακες στις τοπολογικές κατηγορίες και μελετάμε πώς η τοπολογία των πινάκων σχετίζεται με διάφορα χαρακτηριστικά της εξέλιξης τους, όπως η διάρκεια ζωής τους, η δραστηριότητα τους, η αλλαγή του μεγέθους τους, κ.α. Τα σχήματα που χρησιμοποιούμε στα πλαίσια της έρευνας μας προέρχονται από 5 σχεσιακές βάσεις δεδομένων που υποστηρίζουν συστήματα λογισμικού ανοιχτού κώδικα. Τα σημαντικότερα αποτελέσματα της έρευνας μας, τα οποία επιβεβαιώνονται και από τα στατιστικά στοιχεία, είναι: (α) η σχέση μεταξύ των τοπολογικών κατηγοριών των πινάκων και της πιθανότητας εμφάνισης τους στην πρώτη έκδοση του σχήματος της βάσης τους και (β) η συσχέτιση της τοπολογίας των πινάκων με τη δραστηριότητα τους. Συγκεκριμένα, διαπιστώσαμε ότι όσο πιο σύνθετος τοπολογικά είναι ένας πίνακας τόσο πιο έντονη δραστηριότητα έχει και τόσο μεγαλύτερη είναι η πιθανότητα εμφάνισης του στην πρώτη έκδοση του σχήματος του. Για να διευκολύνουμε την έρευνα μας, υλοποιήσαμε μία εκτεταμένη αναμόρφωση της αρχιτεκτονικής του λογισμικού Παρμενίδεια Αλήθεια, το οποίο οπτικοποιεί την εξέλιξη του σχήματος σχεσιακών βάσεων δεδομένων. Έχοντας εντοπίσει και προτεραιοποιήσει τα σχεδιαστικά ελαττώματα, εφαρμόσαμε μια σειρά από τροποποιήσεις στον πηγαίο κώδικα του εργαλείου με στόχο να αυξήσουμε τις δυνατότητες επέκτασης των λειτουργιών που προσφέρει το λογισμικό αυτό. Για να επιβεβαιώσουμε ότι οι αλλαγές που υλοποιήσαμε δεν έχουν επηρεάσει την αναμενόμενη συμπεριφορά του λογισμικού, δημιουργήσαμε ελέγχους μοναδιαίων ενοτήτων για κάθε ενότητα που είτε τροποποιήσαμε είτε προσθέσαμε. Τέλος, αξιολογούμε τις βελτιώσεις που επέφερε η διαδικασία αναμόρφωσης, συγκρίνοντας την ποιότητα της σχεδίασης του εργαλείου πριν και μετά την αναμόρφωση. Συμπληρωματικά της αναμόρφωσης του λογισμικού, δημιουργήσαμε μία διαδικτυακή εφαρμογή που οπτικοποιεί την εξέλιξη του σχήματος σχεσιακών βάσεων δεδομένων και συνοψίζει τις βασικότερες πληροφορίες για την εξέλιξη των βάσεων.el
heal.advisorNameΒασιλειάδης, Παναγιώτηςel
heal.committeeMemberNameΒασιλειάδης, Παναγιώτηςel
heal.committeeMemberNameΠιτουρά, Ευαγγελίαel
heal.committeeMemberNameΖαρράς, Απόστολοςel
heal.academicPublisherΠανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικήςel
heal.numberOfPages140 σ.-
Appears in Collections:Διατριβές Μεταπτυχιακής Έρευνας (Masters) - ΜΥ

Files in This Item:
File Description SizeFormat 

This item is licensed under a Creative Commons License Creative Commons