Αποθήκευση και διαχείριση XML με χρήση σχεσιακών συστημάτων βάσεων δεδομένων για εφαρμογές του παγκόσμιου ιστού
Authors: Φουστέρης Νικόλαος 
Published: September 2021

Με βάση τα σημερινά δεδομένα, η γλώσσα XML (eXtended Markup Language) αποτελεί ένα από τα πιο ευρέως διαδεδομένα πρότυπα αναπαράστασης δεδομένων στον παγκόσμιο ιστό. Ένα μεγάλο ποσοστό εφαρμογών του διαδικτύου διαχειρίζεται πληροφορίες ημιδομημένης φύσεως, ενώ διάφορες παραλλαγές των πληροφοριών αυτών μπορούν να παρατηρηθούν, ανάλογα με τις επικρατούσες συνθήκες. Η Πολυδιάστατη XML (Multidimensional XML ή MXML) αποτελεί μία επέκταση της συμβατικής XML, η οποία είναι κατάλληλη για την αναπαράσταση, με έναν συμπαγή τρόπο, των διαφόρων εκφάνσεων των υπό επεξεργασία δεδομένων, σύμφωνα με τις διαφορετικές τιμές ή δομή που αποκτούν τα δεδομένα αυτά κάτω από διαφορετικά ερμηνευτικά περιβάλλοντα (contexts). Τα ερμηνευτικά αυτά περιβάλλοντα προσδιορίζονται αντιστοιχώντας τις κατάλληλες τιμές σε έναν ορισμένο αριθμό διαστάσεων. Η παρούσα διδακτορική διατριβή ασχολείται με τη μελέτη του προβλήματος της αποθήκευσης, της ενημέρωσης και την υποβολής ερωτημάτων προς MXML δεδομένα, με τη χρήση σχεσιακών βάσεων δεδομένων.Εξαιτίας της ήδη υπάρχουσας εμπειρίας στον χώρο των Συστημάτων Διαχείρισης Σχεσιακών Βάσεων Δεδομένων (RDBMS), το πρόβλημα της αποθήκευσης και εκτέλεσης ερωτημάτων για XML δεδομένα που είναι αποθηκευμένα σε σχεσιακές βάσεις δεδομένων αποτελεί ένα θέμα που έχει εκτενώς ερευνηθεί, ενώ πολλές σχετικές τεχνικές έχουν αναπτυχθεί. Με βάση παλιότερες ερευνητικές εργασίες που σχετίζονται με την αποθήκευση και υποβολή ερωτημάτων σε XML δεδομένα που είναι αποθηκευμένα σε σχεσιακά σχήματα, παρουσιάζουμε τα ερευνητικά μας αποτελέσματα σε ότι αφορά την αποθήκευση, την πλοήγηση, την υποβολή ερωτημάτων και την ενημέρωση MXML κειμένων με τη χρήση σχεσιακών βάσεων δεδομένων, λαμβάνοντας υπόψη τα επιπρόσθετα χαρακτηριστικά της MXML σε σχέση με την απλή XML. Τα επιπρόσθετα αυτά χαρακτηριστικά προκύπτουν απότην ενσωμάτωση του ερμηνευτικού περιβάλλοντος στα MXML κείμενα.Μελετώντας το πρόβλημα της αποθήκευσης MXML δεδομένων (MXML Storage), παρουσιάζουμε τεχνικές και εναλλακτικά σχεσιακά σχήματα για την αποθήκευση MXML κειμένων σε σχεσιακές βάσεις δεδομένων. Βασικά χαρακτηριστικά των προτεινόμενων τεχνικών είναι η δυνατότητα α) της αναδόμησης του αρχικού MXML κειμένου από την σχεσιακή του αναπαράσταση και β) της μετατροπής MXML ερωτημάτων που περιλαμβάνουν πληροφορίες σχετικές με ερμηνευτικά περιβάλλοντα σε SQL ερωτήματα. Επιπλέον, για όλες τις προτεινόμενες τεχνικές αποθήκευσης, ο τρόπος αναπαράστασης του ερμηνευτικού περιβάλλοντος στο σχεσιακό σχήμα αποτελεί ένα πολύ σημαντικό θέμα, καθώς η αναπαράσταση αυτή μπορεί να διευκολύνει τη διαχείριση και την πλοήγηση εντός των MXML δεδομένων.Σε ότι αφορά την υποβολή MXML ερωτημάτων, παρουσιάζουμε μία επέκταση της XPath, η οποία ονομάζεται πολυδιάστατη XPath (Multidimensional XPath ή MXPath). Η επέκταση αυτή είναι κατάλληλη για την διάσχιση MXML δεδομένων, αλλά και την κατασκευή ερωτημάτων συμπεριλαμβανομένου των πληροφοριών που αφορούν ερμηνευτικά περιβάλλοντα. Επιπλέον, ορίζουμε τη σύνταξητης MXPath, παραθέτουμε σχετικά παραδείγματα επιδεικνύοντας τη λειτουργίατης και δίνουμε τη σημασιολογική της ερμηνεία.Επιπρόσθετα, αναπτύσσουμε τεχνικές που αφορούν την ενημέρωση των MXML κειμένων και μελετάμε το θέμα αυτό σε δύο επίπεδα: α) σε γραφικό επίπεδο, δηλαδή ανεξαρτήτως υλοποίησης και β) σε επίπεδο σχεσιακής βάσης δεδομένων. Πιο συγκεκριμένα ορίζουμε έξι βασικές πράξεις ενημερώσεως, οι οποίες μπορούν να επιτύχουν οποιαδήποτε πιθανή μεταβολή. Ο ορισμός των πράξεων αυτών γίνεται αρχικά σε επίπεδο ανεξάρτητο υλοποίησης, ενώ εξηγούνται οι επιπτώσεις της εφαρμογής τους στα MXML κείμενα μέσω σχετικών παραδειγμάτων. Ακόμα, παραθέτουμε αλγόριθμους που υλοποιούν τις παραπάνω πράξεις με τη χρήση της SQL, βάσει συγκεκριμένου σχεσιακού σχήματος αποθήκευσης των MXML δεδομένων.Τέλος, παρουσιάζουμε έναν αλγόριθμο που μετατρέπει MXML ερωτήματα σε SQL ερωτήματα, τα οποία εκτελούνται πάνω στα MXML δεδομένα που είναι αποθηκευμένα σε σχεσιακό σχήμα βασισμένο στα μονοπάτια του MXML δένδρου (MXML tree). Επιπλέον, περιγράφουμε το σύστημα που αναπτύχθηκε (MXML Tools) προκειμένου να υλοποιηθεί ο σχετικός αλγόριθμος μετατροπής, παρέχοντας τις απαραίτητες τεχνικές λεπτομέρειες που αφορούν την υποδομή του συγκεκριμένου συστήματος.