Ερωτήσεις σε Ημι-δομημένα δεδομένα 13/5/2008 Μ.Χατζόπουλος 1
Βάσεις Δεδομένων Οι αποθηκευμένες πληροφορίες είναι γνωστές σαν δομημένα δεδομένα. Σεέναπίνακαόλεςοιπλειάδεςέχουντηνίδια μορφοποίηση Υπάρχει σχήμα Το ΣΔΒΔ ελέγχει ώστε όλα τα δεδομένα να ακολουθούν τους περιορισμούς που επιβάλει το σχήμα. 13/5/2008 Μ.Χατζόπουλος 2
Επερωτήσεις στο web Τα δεδομένα στο web βρίσκονται σε διαφορετικές μορφές, που μπορεί να είναι δεδομένα χωρίς καμία δόμηση σε αρχεία μέχρι πολύ καλά δομημένα δεδομένα σε σχεσιακές βάσεις δεδομένων. Μερικά δεδομένα είναι πρωτογενή όπως φωτογραφίες και ήχοι ενώ αρκετά έχουν κάποια έμμεση δομή. Η δομήμπορείναυπάρχει αλλά πρέπει να εξαχθεί από τα δεδομένα. 13/5/2008 Μ.Χατζόπουλος 3
Μοντέλο για ημιδομημένα δεδομένα Τα ημιδομημένα δεδομένα είναι δεδομένα που δεν είναι πρωτογενή αλλά δεν είναι και αυστηρά typed όπως στις παραδοσιακές βάσεις δεδομένων. Παραδείγματα ημιδομημένων δεδομένων είναι τα για παράδειγμα τα SGML έγγραφα. Το web έχει επίσης διάφορες μορφές ημιδομημένων δεδομένων (πχ. HTML με δομικά στοιχεία όπως tags και anchors. Επίσης ημιδομημένα δεδομένα εμφανίζονται όταν ενοποιούνται δεδομένα που προκύπτουν από διαφορετικές πηγές. Εμφανίζονται με διάφορες μορφές από διαφορετικές εφαρμογέςόπωςγονιδιακές βάσειςδεδομένων, επιστημονικέςβάσειςδεδομένων, ψηφιακές βιβλιοθήκες, ηλεκτρονικό εμπόριο. 13/5/2008 Μ.Χατζόπουλος 4
ΕΡΓΟ Ονομα Κωδικος Τοποθεσια ΕΡΓΑΖΟΜΕΝΟΣ Αρ_Ταυτ Επωνυμο ΑΠΑΣΧΟΛΗΣΗ Αρ_Ταυτ Κωδικος Ωρες 13/5/2008 Μ.Χατζόπουλος 5
Έργα Έργο Έργο Ονομα Εργαζομενος Κωδικος Τοποθεσια Product1 1 Athens Εργαζομενος Αρ_Ταυτ Επιθετο Ωρες Α111111 Παππάς 32.5 Το μοντέλο αυτό μοιάζει με το αντικειμενοστρεφές 13/5/2008 Μ.Χατζόπουλος 6
Υπάρχουν όμως κάποιες διαφορές με το αντικειμενοστρεφές Οι πληροφορίες του σχήματος ονόματα, συσχετίσεις, και κλάσεις στο ημιδομημένο μοντέλο αναμειγνύονται με τα αντικείμενα και τις τιμές τους στην ίδια δομή δεδομένων. Στο ημιδομημένο μοντέλο δεν απαιτείται προκαθορισμένο σχήμα το οποίο πρέπει να ακολουθούν τα δεδομένα. 13/5/2008 Μ.Χατζόπουλος 7
Εκτός από τα δομημένα και τα ημιδομημένα δεδομένα, υπάρχει και μια Τρίτη κατηγορία τα μη δομημένα δεδομένα δηλαδή αυτά που υπάρχει πολύ περιορισμένη ένδειξη όσο αφορά την δομή τους. Τέτοια παράδειγμα είναι ένα κείμενο ή web σελίδες σε HTML. 13/5/2008 Μ.Χατζόπουλος 8
<html> <head> </head> <body> <p align="center"><b><font size="5">υλοποίηση Βάσεων Δεδομένων</font></b></p> <p align="center">απαντήσεις σε Ερωτήσεις Φοιτητών</p> <p align="left">άσκηση 1:</p> <p align="left" style="margin-bottom: -12">Ερώτηση 1:Ο προγραμματισμός μπορεί να γίνει και σε C;</p> <p align="left" style="margin-bottom: -12">Απάντηση: Ναι δεν υπάρχει πρόβλημα.</p> <p align="left" style="margin-bottom: -12">Ερώτηση 2:Πως θα υλοποιηθεί η συνδεδεμένη λίστα;</p> <p align="left" style="margin-bottom: -12">Απάντηση: Κάθε εγγραφή θα δείχνει την επόμενη. Θα χρησιμοποιήσετε το σύστημα διαχείρισης αρχείων του λειτουργικού σας και επομένως οι διευθύνσεις θα είναι σχετικές.</p> <p align="left" style="margin-bottom: -12"> </p> <p align="left" style="margin-bottom: -12">Άσκηση 2:</p> <p align="left" style="margin-bottom: -12">Ερώτηση 1:Ο προγραμματισμός μπορεί να γίνει και σε C;</p> <p align="left" style="margin-bottom: -12">Απάντηση: Ναι.</p>. </body> </html> 13/5/2008 Μ.Χατζόπουλος 9
Βασικά χαρακτηριστικά Η δομή δεν είναι κανονική Η δόμηση είναι έμμεση Ηδομήείναιμερική Ενδεικτική δομή έναντι περιοριστικής δομής Εκ των προτέρων γνωστό σχήμα έναντι εκ των υστέρων Το σχήμα είναι πολύ μεγάλο Το σχήμα αγνοείται Το σχήμα εξελίσσεται γρήγορα Ο τύπος των δεδομένων είναι εκλεκτικός Η διάκριση μεταξύ σχήματος και και δεδομένων είναι θολή. 13/5/2008 Μ.Χατζόπουλος 10
Μοντέλα και γλώσσες για ημι-δομημένα δεδομένα Υπάρχουν ορισμένες δυσκολίες όπως η γνώση μας για την δομή τους είναι μερική και η δομή πολύ εμφωλευμένη ή έχει και κύκλους. Το τελευταίο σημαίνει ότι απαιτείται αναδρομή κάτι που δεν καλύπτεται από την σχεσιακή άλγεβρα ή τον σχεσιακό λογισμό. Ακόμη και και οι γλώσσες που υποστηρίζουν αναδρομή (πχ. Datalog) δεν είναι δίνουν ικανοποιητικές λύσεις. 13/5/2008 Μ.Χατζόπουλος 11
Εξαγωγή και χρήση της δομής Η ιδέα είναι να ξεκινήσουμε σαφή δομή, για εξαγωγή δομημένων πληροφοριών και να οργανώσουμε τα δεδομένα για βελτίωση της απόδοσης. Για παράδειγμα από τα βιβλιογραφικά δεδομένα μπορεί να εξαχθούν πληροφορίες όπως συγγραφείς, τίτλος κλπ. Οι πληροφορίες που εξάγονται από αρχεία μπορούν να χρησιμοποιηθούν για να δημιουργηθεί ένα δομημένο επίπεδο πάνω από τα μη δομημένα δεδομένα. Αυτό το δομημένο επίπεδο κάνει αναφορές στα χαμηλότερα επίπεδα. 13/5/2008 Μ.Χατζόπουλος 12
Τρόποι χρησιμοποίησης της δομής Η σημαντική διαφορά από τις βάσεις δεδομένων προέρχεται από την διαφορετικότητα στον τύπο (typing). Αντίστοιχα έχει χρησιμοποιηθεί ο όρος data guide που περιλαμβάνει μια χαλαρή περιγραφή της δομής των δεδομένων που υπολογίζεται. Για πολλούς λόγους χρειάζεται το data guide 13/5/2008 Μ.Χατζόπουλος 13
Χρήση ενός data guide Γραφική γλώσσα ερωτήσεων. Οι γραφικές διεπαφές χρησιμοποιούν το σχήμα κατά πολύ στοιχειώδη τρόπο (πχ. QBE). Συνεργατική απάντηση. Δεν επιβάλλεται αυστηρή επιβολή των τύπων. Βελτιστοποίηση επερωτήσεων. Η ύπαρξη τύπων είναι πολύ χρήσιμη στην ανάπτυξη βελτιστοποιητών ακόμη και όταν η δομή δεν είναι σταθερή. 13/5/2008 Μ.Χατζόπουλος 14
Θέματα Συστημάτων Χρειάζονται νέες τεχνικές βελτιστοποίησης επερωτήσεων, και τεχνικές βελτιστοποίησης για ενοποίηση δεδομένων από διαφορετικές πηγές. Επίσης επανεξέταση μερικών τυπικών θεμάτων βάσεων δεδομένων όπως διαχείριση δοσοληψιών, έλεγχο συνδρομικότητας, ανάκαμψη κοκ. κυρίως επειδή η έννοια του στοιχειώδους δεδομένων είναι ασαφής. Πολλάαπόταδεδομένααπότηφύσητουςθα βρίσκονται εκτός βάσης δεδομένων. 13/5/2008 Μ.Χατζόπουλος 15
Μοντελοποίηση Ημι-δομημένων δεδομένων Ελαφρό Μοντέλο:Τα δεδομένα δεν έχουν δομή (όταν ακολουθούν το Web πρωτόκολλο). Τα δεδομένα μπορεί να προέρχονται από νέα πηγή που μόλις έχει ανακαλυφθεί δηλαδή μπορεί να έχουν μια δόμηση εντελώς άγνωστη. Βαρύ Μοντέλο:Επιτρέπει το πλεονέκτημα της χρησιμοποίησης της δομής (πχ. ευρετήρια σε βάσεις δεδομένων). 13/5/2008 Μ.Χατζόπουλος 16
Μια φιλόδοξη προσέγγιση-απαιτήσεις Το ODMG μοντέλο. Οι δομές του (κλάσεις,ιεραρχία κλάσεων κοκ) φαίνεται να είναι απαραίτητες. Τιμές NULL Ετερογενείς συλλογές Κείμενο με αναφορές Εκλεκτικοί τύποι Εκδοχή και χρόνος. 13/5/2008 Μ.Χατζόπουλος 17
Μια ελάχιστη προσέγγιση το μοντέλο OEM (Object Exchange Model) Το μοντέλο αποτελείται από ένα γράφο με labels στις πλευρές. Βασίζεται στην έννοια των αντικειμένων και της ταυτότητας τους. Τα δεδομένα θεωρούνται αντικείμενα σαν κορυφές του γράφου και labels στις πλευρές. Κάθε αντικείμενο έχει μια μοναδική ταυτότητα (oid-object identifier) τύπου oid. Μερικά αντικείμενα είναι ατομικά. Άλλα αντικείμενα είναι πολύπλοκα. Η τιμήτουςείναι ένασύνολο αναφορών αντικειμένων, που συμβολίζεται σαν ένα σύνολο ζευγών (label, oid). Το OEM μπορεί να μοντελοποιήσει το σχεσιακό όπως στο ODMG. 13/5/2008 Μ.Χατζόπουλος 18
κοντινό Οδηγός $12 $35 ειδος ταβερνα $19 ονομα εστιατόριο διευθυνση κοντινό εστιατόριο $20 ειδος ονομα εστιατόριο Ταχ_κωδ 15784 $24 $14 κόστος ειδος ονομα διευθυνση $45 $42 $41 $50 $17 $21 $38 $58 $10 Ιταλικο Vezouvio ΟΤέλης Πευκακια Ιλισια φτηνό Fast_food Goody s οδος πολη Ταχ_κωδ Ελπιδας $52 $54 Ιλισια $62 15784 κοντινό 13/5/2008 Μ.Χατζόπουλος 19
Σύγκριση OEM και σχεσιακού μοντέλου Μπορούμε να θεωρήσουμε την OEM βάση δεδομένων σαν μια σχεσιακή δομή με μια δυαδική σχέση VAL(oid, ατομική_τιμή) για τον ορισμό των ατομικών τιμών και σχέση MEMBER(oid,label,oid) για τον προσδιορισμό των πολύπλοκων δεδομένων. Αυτό δεν πρέπει να μας ξεγελά γιατί το επιτυγχάνουμε μόνο επειδή έχουμε θεωρήσει την ύπαρξη oid s. Επίσης δεν υπάρχουν οι σχεσιακοί περιορισμοί. Τέλος αν θέλουμε την ανάκαμψη ενός αντικειμένου αυτό αν γίνει σε όλα τα στοιχεία του θα χρειασθεί αναδρομή. 13/5/2008 Μ.Χατζόπουλος 20
Σύγκριση OEM με ODMG Στο OEM μοντέλο όλα τα αντικείμενα είναι ίδιου τύπου. Διαισθητικά ο τύπος αυτός είναι μια πλειάδα με ένα πεδίο για κάθε πιθανή ετικέτα που περιέχει ένα σύνολο από OEM. Επομένως είναι εύκολο να έχουμε ένα σύστημα τύπων που θα μπορούσε να ενσωματώσει τους ODMG τύπους και τον ΟΕΜ τύπο. 13/5/2008 Μ.Χατζόπουλος 21
Τι θα περιμέναμε από μια γλώσσα επερωτήσεων Την τυπική μορφή των γλωσσών επερωτήσεων Πλοήγηση όπως στο Hypertext και στη φυλλομέτρηση στο web. Αναζήτηση προτύπων όπως σε συστήματα ανάκτησης πληροφοριών Χρονικές επερωτήσεις, συμπεριλαμβανομένων και επερωτήσεων εκδοχών. Επερωτήσεις τόσο δεδομένων όσο και σχήματος. Να έχει ένα θεωρητικό υπόβαθρο 13/5/2008 Μ.Χατζόπουλος 22
Προσεγγίσεις για ερωτήσεις σε ημι-δομημένα δεδομένα Χρήση αντικειμένων Εξαναγκασμός Χρησιμοποίηση εκφράσεων μονοπατιών Συγκόλληση πληροφοριών 13/5/2008 Μ.Χατζόπουλος 23
Προσέγγιση με αντικείμενα Τα αντικείμενα επιτρέπουν να εστιάσουμε στο τμήμα της δομής που είναι σχετικό με την επερώτηση και να αγνοήσουμε τα τμήματα που δεν μας ενδιαφέρουν. Αν υποθέσουμε μια σχέση ΑΤΟΜΑ που έχει όλα τα oid των ατόμων. Έστω ότι θέλουμε να βρούμε την διεύθυνση του Παππά select unique V.2 from Ατομα P, Member N, Member A, Val V, Val V where p=n.1 and P=A.1 and N.2= ονομα and N.3=V.1 and V.2= Παππάς and A.2= διευθυνση and A.3=V.1 Αρκετά πολύπλοκο. Πιο φυσικό σε OQL σύνταξη select A from Ατομα P, P.διευθυνση A where P.ονομα= Παππάς 13/5/2008 Μ.Χατζόπουλος 24
Χρησιμοποίηση Εξαναγκασμού Για παράδειγμα αν η απόσταση X είναι χιλιόμετρα και η Y σε μίλια η σύγκριση μπορεί να γίνει σαν X<mile_to_km(Y). Η ιδέα μπορεί να επεκταθεί και σε δομές. Η βασική ιδέα είναι να χρησιμοποιηθεί ένα μοντέλο δεδομένων όπου όλα τα αντικείμενα έχουν την ίδια διεπαφή και να υπάρχει μεγάλη ελαστικότητα στις επερωτήσεις. Για παράδειγμα στη Lorel όλα τα αντικείμενα είναι του ίδιου τύπου, ΟΕΜ. Στη Lorel μπορεί να γραφεί select A from Ατομα P, P.διευθυνση A where Παππάς in P.ονομα 13/5/2008 Μ.Χατζόπουλος 25
Χρησιμοποίηση εκφράσεων μονοπατιών Η απλούστερη μορφή των μονοπατιών είναι concatenation των ονομάτων των γνωρισμάτων. Όπως: οδηγος.εστιατοριο.διευθυνση.ταχ_κωδ Όμως αν κάποιες ιδιότητες έχουν τιμές σύνολα κάνουμε πολύ περισσότερα. Διασχίζουμε συλλογές και τις κάνουμε επίπεδες. Μια τέτοια έκφραση μονοπατιού μπορεί να ερμηνευθεί με δύο τρόπους 1) Σαν το σύνολο των αντικειμένων στο τέλος των μονοπατιών 2) Σαν τα ίδια τα μονοπάτια Τέτοιες απλές εκφράσεις μπορούν να θεωρηθούν σαν μια μορφή φυλλομέτρησης. 13/5/2008 Μ.Χατζόπουλος 26
Επεκτεταμένες εκφράσεις μονοπατιών Οι εκφράσεις μονοπατιών είναι πιο ισχυρές όταν χρησιμοποιηθούν με μεταβλητές μονοπατιών. Μπορούμε να χρησιμοποιήσουμε κανονικές εκφράσεις για να περιγράψουμε σύνολα λέξεων, σύνολα μονοπατιών, καθώς και labels. Να ρεθούν τα ονόματα και οι ταχυδρομικοί κώδικες όλων των φτηνών εστιατορίων: select R.ονομα, R(.διευθυνση)?.ταχ_κωδ from Οδηγος.εστιατοριο R where R.% Το? σημαίνει προαιρετικά. Το % σημαίνει θα ταριάξει οποιοδήποτε label που οδηγεί σε υποαντικείμενο του εστιατόριο. Ο τελεστής σύγκρισης grep θα επιστρέψει true αν η συμβολοσειρά φτηνο εμφανισθεί σαν τιμήσε αυτό το υποαντικείμενο. Δεν υπάρχει κάτι αντίστοιχο στην SQL ήτηνoql. 13/5/2008 Μ.Χατζόπουλος 27
Συγκόλληση Πληροφοριών Μια δυσκολία για τα ημιδομημένα δεδομένα είναι ότι οι συλλογές είναι ετερογενείς και συχνά η δομή των στοιχείων τους άγνωστη. Η MSL χρησιμοποιεί την έννοια των rest μεταβλητών για πιθανά άλλα πεδία: res(ονομα:χ, διευθυνση:υ; REST1):- r(ονομα:χ, διευθυνση:υ; REST1), Υ=(πολη: Palo Alto ; REST2) 13/5/2008 Μ.Χατζόπουλος 28
Όψεις Η έννοια της όψης έχει ιδιαίτερη σημασία στα ημιδομημένα δεδομένα. Το ίδιο αντικείμενο μπορεί να το εξατάζουμε από διαφορετικές σκοπιές. Μπορούν να βοηθήσουν σε πολύπλοκες πράξεις αναδόμησης 13/5/2008 Μ.Χατζόπουλος 29