Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Βάσεις Δεδομένων και Παγκόσμιος Ιστός Ημιδομημένα δεδομένα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βάσεις Δεδομένων και Παγκόσμιος Ιστός Ημιδομημένα δεδομένα."— Μεταγράφημα παρουσίασης:

1 Βάσεις Δεδομένων και Παγκόσμιος Ιστός Ημιδομημένα δεδομένα

2 Υπόβαθρο και ανάγκη για ημιδομημένα δεδομένα Εισαγωγή στα ημιδομημένα δεδομένα Γλώσσες ερωτημάτων για ημιδομημένα δεδομένα Σχήματα για ημιδομημένα δεδομένα

3 Βάσεις Δεδομένων και Παγκόσμιος Ιστός3 Ο Ιστός σήμερα Βασικά συστατικά στοιχεία: HTML: δομεί κείμενο προκειμένου να αναπαραστήσει το πως αυτό θα εμφανιστεί Δημιουργεί μέσω των links μια ενδο-κειμενική και μια εξω- κειμενική δομή HTTP, URL Απλό και παγκόσμιο πρότυπο για ανταλλαγή πληροφορίας Οι μονάδες της πληροφορίας είναι έγγραφα, που ταυτοποιούνται μέσω URLs

4 Βάσεις Δεδομένων και Παγκόσμιος Ιστός4 Η «κουλτούρα» των ΒΔ Μια διαφορετική προσέγγιση στην δόμηση της πληροφορίας: Διαγράμματα οντοτήτων-συσχετίσεων Σχήματα σχεσιακών βάσεων Γλώσσες ερωτημάτων για την πρόσβαση στα δεδομένα Μηχανισμοί για έλεγχο ταυτοχρονισμού και ανάκαμψη Διαχωρισμός του λογικού επιπέδου (ερωτήματα) και του φυσικού επιπέδου (απόδοση)

5 Βάσεις Δεδομένων και Παγκόσμιος Ιστός5 Ανάγκη για μια γέφυρα Οι δύο προσεγγίσεις πρέπει να συγκλίνουν Οι ΒΔ χρησιμοποιούνται για να «γεννούν» δυναμικά HTML έγγραφα Τα HTML έγγραφα χρησιμοποιούνται για να αποσπούμε κομμάτια δεδομένων Το να βλέπουμε την πληροφορία σαν έγγραφα είναι: Δύσκαμπτο: αλλαγές στην πηγή «σπάνε» τα προγράμματα που κάνουν parsing Μη αποδοτικό: πολλές σελίδες πρέπει να γινουν parsed για ενα μονο κομμάτι πληροφορίας

6 Βάσεις Δεδομένων και Παγκόσμιος Ιστός6 Πως «κολλάει» η XML Αποτελεί ένα βήμα προς την σύγκλιση αυτή Συντακτικά σχετίζεται με την HTML Περιγράφει όμως την λογική δομη των δεδομένων Λύνει το πρόβλημα του να κάνουμε parsing δεδομένα με ad-hoc τρόπο Υπάρχουν τυποποιημένα εργαλεία για σελίδες σε XML Ομως χρειάζεται κάτι παραπάνω για να αποσπάσουμε τα τμήματα της πληροφορίας που μας ενδιαφέρουν Μηπως γλώσσα ερωτημάτων;

7 Βάσεις Δεδομένων και Παγκόσμιος Ιστός7 Επίπεδα αφαίρεσης Ενα κεντρικό σημείο στις βάσεις δεδομένων είναι τα επίπεδα αφαίρεσης Φυσικό (αποθήκευση) Λογικό (έγκυρα ερωτήματα) Εξωτερικό (όψεις) Η διάκριση αυτή δεν υπάρχει για τα δεδομένα του Ιστού Η XML γίνεται αντιληπτή σαν μια γλώσσα αναπαράστασης σε φυσικό επίπεδο (data format) Τα ημιδομημένα δεδομένα (semistructured data ή SSD) επιχειρούν να το αλλάξουν αυτό Η XML γίνεται αντιληπτή σαν μια γλώσσα αναπαράστασης σε λογικό επίπεδο

8 Βάσεις Δεδομένων και Παγκόσμιος Ιστός8 Αλλαγή στο παράδειγμα DBMSs: client-server Ιστός: αρχιτεκτονική multitier Server: repository δεδομένων Middleware: μετατρέπει και ολοκληρώνει (integrates) δεδομένα Client: ερμηνεύει και παρουσιάζει τα δεδομένα Χρειάζεται ένα κοινο λογικό μοντέλο δεδομένων καθώς και format ανταλλαγής Τον ρόλο αυτό φαίνεται ότι θα παίξει η XML

9 Βάσεις Δεδομένων και Παγκόσμιος Ιστός9 Middleware Δύο «databasey» προσεγγίσεις για ολοκλήρωση πληροφορίας Data warehousing (αποθήκες δεδομένων): Το middleware εισάγει τα δεδομένα από τις πηγές και απαντά τα ερωτήματα απευθείας Πρόβλημα: να κρατά την βάση συγχρονισμένη με τις πηγές Συστήματα διαμεσολαβητών (mediators): Τα ερωτήματα του client μετασχηματίζονται σε ερωτήματα πάνω στις πηγές δεδομένων Τα μερικά αποτελέσματα ολοκληρώνονται (integrated) από τον mediator Το βάρος πέφτει στην επικοινωνία και στον μετασχηματισμό ερωτημάτων

10 Βάσεις Δεδομένων και Παγκόσμιος Ιστός10 Η άλλη πλευρά του νομίσματος Δεν απαιτείται καμμιά δομη στα δεδομένα Χρησιμοποιούνται τεχνικές IR (Information Retrieval) για τα ερωτήματα Το ερώτημα είναι απλά ένα σύνολο φίλτρων που βασίζεται σε λέξεις-κλειδιά (keywords) Τα αποτελέσματα ταξινομούνται ανάλογα με την συνάφειά τους με το ερώτημα Ευέλικτη προσέγγιση, χωρίς όμως την ακρίβεια και την πληρότητα των βάσεων δεδομένων Που είναι σε θέση να προσφέρουν ακριβώς χάρη στην μεταπληροφορία (σχήμα) που κρατούν για την δομή των δεδομένων

11 Βάσεις Δεδομένων και Παγκόσμιος Ιστός11 Συνοπτικά Ο Ιστός προσφέρει: Την υποδομή και τις τυποποιήσεις (standards) για ανταλλαγή εγγράφων Την HTML, εναν μορφότυπο (format) παρουσίασης για hypertext Διαπροσωπείες για ανάκτηση εγγράφων (τεχνικές IR) Την XML, για ανταλλαγή δεδομένων μαζί με την δομή τους Οι τεχνολογίες των βάσεων δεδομένων προσφέρουν: Τεχνικές αποθήκευσης και γλώσσες ερωτημάτων για αποδοτική πρόσβαση στα δεδομένα Μοντέλα δεδομένων και μεθόδους δόμησης της πληροφορίας Μηχανισμούς για data integrity και consistency Το μοντέλο των ημιδομημένων δεδομένων, που δεν απαιτεί από τα δεδομένα να υπακούουν σε κάποια αυστηρή δομή

12 Υπόβαθρο και ανάγκη για ημιδομημένα δεδομένα Εισαγωγή στα ημιδομημένα δεδομένα Γλώσσες ερωτημάτων για ημιδομημένα δεδομένα Σχήματα για ημιδομημένα δεδομένα

13 Βάσεις Δεδομένων και Παγκόσμιος Ιστός13 Καλώς δομημένα δεδομένα Παραδοσιακά οι ΒΔ χειρίζονται καλώς δομημένα δεδομένα: Συγκεκριμένο και παγιωμένο σχήμα (δομή) που είναι ορισμένο εκ των προτέρων Ολα τα δεδομένα υπακούν στο ξέχωρο αυτό σχήμα Τα ΣΔΒΔ χρησιμοποιούν το σχήμα για να: Αποθηκεύσουν και να δεικτοδοτήσουν τα δεδομένα Διαχειριστούν τα ερωτήματα και τις ενημερώσεις Οι χρήστες χρειάζονται το σχήμα για να σχηματίζουν ερωτήματα και ενημερώσεις

14 Βάσεις Δεδομένων και Παγκόσμιος Ιστός14 Ημιδομημένα δεδομένα Τα δεδομένα στον Ιστό Μπορεί να μην έχουν κανονική δομή Η δομή εξελίσσεται απρόβλεπτα Μπορεί να είναι incomplete Ετερογενή, με βαθιούς εμφωλιασμούς Χωρίς ξέχωρο σχήμα Τα ημιδομημένα δεδομένα Προτείνουν ένα μοντέλο για τα δεδομένα στον Ιστό Λιγότερη δομή από τα σχεσιακά δεδομένα Περισσότερη δομή από πχ. bitmaps

15 Βάσεις Δεδομένων και Παγκόσμιος Ιστός15 Πηγές δεδομένων: παραδείγματα Η μεγαλύτερη ποσότητα πληροφορίας σήμερα είναι σε ημιδομημένη μορφή Παραδείγματα: Bibtex: μοιάζει «σχεδόν» σχεσιακό και είναι αποθηκευμένο σε αρχεία Αρχεία HTML, XML Γενικότερα, data exchange formats (πχ. SGML) Κώδικας: LATEX, RTF, κτλ.

16 Βάσεις Δεδομένων και Παγκόσμιος Ιστός16 Ιδιαιτερότητες Διαφοροποιήσεις στην δομή – ετερογένεια δεδομένων: Ελλειπή δεδομένα Διπλά πεδία Αλλαγές στην αναπαράσταση (τιμή σε δολλάρια / ευρώ...) Η δομή μπορεί να είναι μερική Τμήματα των δεδομένων μπορεί να μην έχουν δομή (πχ. εικόνες) Μερικά τμήματα μπορεί να έχουν ελάχιστη δομή (απλό κείμενο) Πολλά δεδομένα ίσως να παραμένουν εξωτερικά, να τα αποθηκεύουν και να τα διαχειρίζονται άλλα συστήματα

17 Βάσεις Δεδομένων και Παγκόσμιος Ιστός17 Ιδιαιτερότητες (2) Οι τύποι είναι μόνο ενδεικτικοί Διαφορά με τις βάσεις, όπου υπάρχει πολιτική αυστηρών τύπων (strict typing) A-priori σχήμα έναντι a-posteriori dataguide ΒΔ: τελείωσε το σχήμα, και μετά εισαγωγή δεδομένων Ιστός: σχεδίασε πολλές ιστοσελίδες, και μετά όρισε ένα σχήμα για να διευκολυνθεί η πρόσβαση Τα σχήματα (dataguides) στον Ιστό είναι μεγάλα Όσο περισσότερες ιδιομορφίες στα δεδομένα, τόσο μεγαλύτερο το σχήμα

18 Βάσεις Δεδομένων και Παγκόσμιος Ιστός18 Ιδιαιτερότητες (3) Το σχήμα δεν είναι εξωτερικό (ξέχωρο) από τα δεδομένα Schemaless, self-describing data ο τύπος δεν είναι ξέχωρος από τα στιγμιότυπα Το σχήμα συχνά αγνοείται κατά τα ερωτήματα Πχ. ερωτήματα IR καθώς και browsing Το σχήμα εξελίσσεται πολύ γρήγορα

19 Βάσεις Δεδομένων και Παγκόσμιος Ιστός19 Σύνταξη SSD Λίστες από ζεύγη ετικέτας / τιμής (label / value) αναπαριστούν δομές που μοιάζουν με πλειάδες {name: “Alan”, tel: , Οι τιμές μπορούν με την σειρά τους να είναι και αυτές λίστες {name: {first: “Alan”, last: “Black”}, tel: , }

20 Βάσεις Δεδομένων και Παγκόσμιος Ιστός20 Γραφική αναπαράσταση Τα SSD μπορούν να αναπαρασταθούν σαν έναν γράφο με ετικέτες (labeled graph) Οι κόμβοι αναπαριστούν αντικείμενα Οι ακμές συνδέουν ενα αντικείμενο με την τιμή του Που εφόσον είναι complex type αποτελείται από αναφορές σε άλλα αντικείμενα Διπλές ετικέτες επιτρέπονται {name: “Alan”, tel: , tel: }

21 Βάσεις Δεδομένων και Παγκόσμιος Ιστός21 SSD Graph: παράδειγμα {name: “Alan”, tel: , {name: {first: “Alan”, last: “Black”}, tel: , } nametel “Alan” nametel firstlast “Alan”Black

22 Βάσεις Δεδομένων και Παγκόσμιος Ιστός22 Αλλο ένα παράδειγμα SSD Είναι εύκολο να εκφράσει κανείς σύνολα πλειάδων Σημαντικό πλεονέκτημα όμως: υποστηρίζονται παραλλαγές στην δομή {person: {name: {first: “Alan”, last: “Black”}, tel: , person: {name: “Sara”, tel: , person: {name: “Fred”, tel: , height: 183} }

23 Βάσεις Δεδομένων και Παγκόσμιος Ιστός23 Παρατηρήσεις στην σύνταξη Οι ετικέτες επισημειώνουν (annotate) τα δεδομένα με περιγραφές Οι επαναλαμβανόμενες περιγραφές σπαταλούν χώρο, αλλά προωθούν το interoperability στα πλαίσια του Ιστού Δεν χρειάζεται να ορίσει κανείς σύνθετες δομές όπως στις γλώσσες προγραμματισμού Η δομή υπονοείται από τις ετικέτες Εξακολουθούν να υπάρχουν οι βασικοί τύποι Numbers, strings, labels Μπορούν να υπάρχουν πολλοί ακόμη βασικοί τύποι (gif, date, …)

24 Βάσεις Δεδομένων και Παγκόσμιος Ιστός24 Ορισμός σύνταξης SSD Βασική έκφραση: ssd-expression ::= | oid | oid ::= atomicvalue | ::= {label :, …, label: } Τα αναγνωριστικά (ταυτότητες αντικειμένων - OIDs) χρησιμοποιούν ampersand, πχ. &123 Τα OIDs πρέπει να είναι μοναδικά, και οι αναφορές πρέπει να είναι έγκυρες (valid)

25 Βάσεις Δεδομένων και Παγκόσμιος Ιστός25 Object Exchange Model Το OEM είναι ένα μοντέλο δεδομένων κατάλληλο για SSD Προτάθηκε στο έργο TSIMMIS (Stanford) Χρήση για ολοκλήρωση (integration) ετερογενών πηγών δεδομένων Υπάρχουν διάφορες παραλλαγές του ΟΕΜ Στην ουσία ένας γράφος σαν τον SSD Graph Οι ετικέτες μπαίνουν στις ακμές ή στους κόμβους, ανάλογα με την παραλλαγή του ΟΕΜ Μια βάση δεδομένων ΟΕΜ είναι ένας κατευθυνόμενος γράφος με ετικέτες και με ρίζα που έχει φύλλα με τιμές

26 Βάσεις Δεδομένων και Παγκόσμιος Ιστός26 Object Exchange Model (2) Ενα αντικείμενο ΟΕΜ είναι ένα quadruple: (label, oid, type, value) Η ετικέτα είναι string, το oid είναι ένα μοναδικό αναγνωριστικό αντικειμένου Ο τύπος ενός αντικειμένου είναι complex, ή κάποιος ατομικός τύπος integer, string, gif-image, … Η τιμή είναι: Μια λίστα από oids αν ο τύπος είναι complex (complex object) Μια ατομική τιμή διαφορετικά (atomic object)

27 Βάσεις Δεδομένων και Παγκόσμιος Ιστός27 Παράδειγμα ΟΕΜ

28 Βάσεις Δεδομένων και Παγκόσμιος Ιστός28 Υπέρ και κατά Πλεονεκτήματα: ευελιξία Εύκολο να φορτώσει κανείς νέα δεδομένα την στιγμή που τα ανακαλύπτει Εύκολο να ολοκληρώσει κανείς ετερογενή δεδομένα Εύκολο να θέσει κανείς ερωτήματα χωρίς να γνωρίζει τους τύπους των δεδομένων Μειονεκτήματα: αποδοτικότητα Οι τύποι είναι υποτονισμένοι Αυτό κάνει δυσκολότερη την βελτιστοποίηση

29 Βάσεις Δεδομένων και Παγκόσμιος Ιστός29 Παρατηρήσεις στα SSD Τα αντικείμενα δεν είναι διατεταγμένα Διαφορά από την XML Τα oids μπορεί να είναι ορισμένα από τον χρήστη ή το σύστημα Οτιδήποτε μπορεί να προσδιορίσει ένα αντικείμενο (integer, URL, κτλ) Τα SSD μπορούν εύκολα να αναπαραστήσουν δεδομένα: Από αντικειμενοστρεφείς βάσεις Από σχεσιακές βάσεις

30 Βάσεις Δεδομένων και Παγκόσμιος Ιστός30 Αναπαράσταση σχεσιακής βάσης Περίπτωση: Το σχήμα είναι r1(a, b, c) r2(c, d) (δεν μας απασχολούν οι τύποι εδώ) Στιγμιότυπο: Περισσότεροι από έναν δυνατοί τρόποι αναπαράστασης Α Β C a1 b1 c1 a2 b2 c2 C D c2 d2 c3 d3 c4 d4

31 Βάσεις Δεδομένων και Παγκόσμιος Ιστός31 Αναπαράσταση σχεσιακής βάσης (1) {r1: {row {A: a1, B: b1, C:c1}, row:{A: a2, B: b2, C: c2} }, r2: {row: {C: c2, D: d2}, row: {C: c3, D: d3}, row: {C: c4, D: d4} } a1 b1 c1 A BC A BC a2 b2 c2 row r1r2 row C D CC DD c2 d2 c3 d3 c4 d4

32 Υπόβαθρο και ανάγκη για ημιδομημένα δεδομένα Εισαγωγή στα ημιδομημένα δεδομένα Γλώσσες ερωτημάτων για ημιδομημένα δεδομένα Σχήματα για ημιδομημένα δεδομένα

33 Βάσεις Δεδομένων και Παγκόσμιος Ιστός33 Αρχικές προσεγγίσεις για μια Web QL Web query languages πρώτης γενεάς Ο στόχος τους ήταν να συνδυάσουν στα ερωτήματα στοιχεία δομικά με στοιχεία περιεχομένου Περιεχόμενο: text patterns σε έγγραφα Δομή: graph patterns που περιγράφουν links Παραδείγματα γλωσσών πρώτης γενεάς W3QL, WebSQL, WebLog

34 Βάσεις Δεδομένων και Παγκόσμιος Ιστός34 WebSQL Μοντελοποιεί τον Ιστό σαν μια σχεσιακή βάση δεδομένων Δύο υπερβατικές (virtual) σχέσεις: Document, Anchor Υπάρχει μια πλειάδα για κάθε έγγραφο / link αντίστοιχα Πλοήγηση (navigation) από κάποιο γνωστό URL μέσα από regular expressions μονοπατιών, όπου: d1 => d2 δηλώνει διαφορετικούς servers d1  d2 δηλώνει τον ίδιο server

35 Βάσεις Δεδομένων και Παγκόσμιος Ιστός35 Παράδειγμα WebSQL Ερώτημα: βρες όλα τα (d1, d2, label), d1 τοπικό, d1 δείχνει στο d2 μέσω link με label, d1 και d2 προσβάσιμα από SELECT d.url, e.url, a.label FROM Document d SUCH THAT “www.mysite.start”  * d, [MENTIONS “data”] Document e SUCH THAT d==>e, Anchor a SUCH THAT a.base=d.url WHERE a.href = e.url

36 Βάσεις Δεδομένων και Παγκόσμιος Ιστός36 QL δεύτερης γενεάς Λέγονται και γλώσσες χειρισμού δεδομένων του Ιστού Δεν ανακτούν απλά, αλλά αναδιατάσσουν δεδομένα Διαφορές από τις γλώσσες πρώτης γενεάς Πρόσβαση στην εσώτερη δομή των αντικειμένων του Ιστού Ικανότητα δημιουργίας νέων σύνθετων δομών σαν αποτέλεσμα ενός ερωτήματος Ο τρόπος που αντιμετωπίζουν τα δεδομένα του Ιστού είναι παρόμοιος με την προσέγγιση των ημιδομημένων δεδομένων Παραδείγματα: WebOQL, StruQL, FLORID

37 Βάσεις Δεδομένων και Παγκόσμιος Ιστός37 Μια βιβλιογραφική βάση δεδομένων ΟΕΜ

38 Βάσεις Δεδομένων και Παγκόσμιος Ιστός38 Εκφράσεις μονοπατιού Οι γλώσσες ερωτημάτων για SSD χρησιμοποιούν γράφους για να μοντελοποιήσουν τα δεδομένα Οι εκφράσεις μονοπατιού (path expressions) ορίζουν μονοπάτια πλοήγησης στα μοντέλα γράφου Μια έκφραση μονοπατιού μπορεί να είδωθεί σαν ένα απλό ερώτημα biblio.book.author Αρχίζει από την ρίζα, ακολουθεί την σειρά των ετικετών των ακμών Το αποτέλεσμα είναι ένα σύνολο κόμβων «συγγραφέων» (για όλα μαζί τα βιβλία)

39 Βάσεις Δεδομένων και Παγκόσμιος Ιστός39 Εκφράσεις μονοπατιού (2) Χρήση των regular expressions σε δύο επίπεδα: Στην αλληλουχία των ετικετών των ακμών Στους χαρακτήρες που απαρτίζουν τις ετικέτες (χρήση quotes) Wildcards biblio._.author biblio._*.author biblio._*.section.(“[tT]itle” | paragraph.”.*heading.*”) Κύκλοι: άπειρα μονοπάτια, όμως πεπερασμένα αποτελέσματα

40 Βάσεις Δεδομένων και Παγκόσμιος Ιστός40 Μια «core» γλώσσα Εκφράσεις μονοπατιού, συν: Κατασκευή νέων κόμβων στα αποτελέσματα Δυνατότητα για database join Σύγκριση τιμών και επιλογή με βάση το αποτέλεσμα Ενα απλό ερώτημα: select Author: X from biblio.book.author X Αποτελέσματα: {Author: ”Smith”, Author: ”Brown”, …}

41 Βάσεις Δεδομένων και Παγκόσμιος Ιστός41 Μια «core» γλώσσα (2) Ολοι οι συγγραφείς των δημοσιεύσεων που περιέχουν στον τίτλο την λέξη «database»: select author: Y from biblio._ X, X.author Y, X.title Z where matches(“.*(D|d)atabase.*”, Z) Join: βιβλία όπου title=author (περίεργο, αλλά χάριν απλότητας του παραδείγματος) …where Y = Z

42 Βάσεις Δεδομένων και Παγκόσμιος Ιστός42 Μια «core» γλώσσα (3) Δόμηση των αποτελεσμάτων: select row: {title: Y, author: Z} from biblio.book X, X.title Y, X.author Z Αποτέλεσμα: {row:{title: y1, author: z1}, row: {…}…} Εμφωλιασμένα ερωτήματα Οι συγγραφείς να ομαδοποιούνται ανά βιβλίο: select row: (select author: Y from X.author Y) from biblio.book X

43 Βάσεις Δεδομένων και Παγκόσμιος Ιστός43 UnQL Unstructured QL: core + patterns: {biblio: {paper: X}} in db1 Το “from” clause δεν είναι απαραίτητο, οι μεταβλητές εισάγονται στα patterns: select title: X where {biblio: {paper: {title: X, year Y}}} in db1, Y > 1989 Στο “where” clause: generators και conditions

44 Βάσεις Δεδομένων και Παγκόσμιος Ιστός44 Lorel Γλώσσα ερωτημάτων για το LORE Προσαρμογή της OQL για τα SSD Core + συντακτικά shortcuts και coersions Παράλειψη των ετικετών (η default είναι “answer”): select X from biblio.book.author X Απάντηση: {answer: “Smith”, answer: “Brown”, …}

45 Βάσεις Δεδομένων και Παγκόσμιος Ιστός45 Lorel 2 Εκφράσεις μονοπατιού στο “select” Είναι ισοδύναμες με εμφωλιασμένα ερωτήματα Ομαδοποιεί τους συγγραφείς ανά βιβλίο select X.author from biblio.book X Coersion τύπων στις συγκρίσεις: select row: X from biblio.paper X where X.author = “Smith” Ή αλλιώς: …where exists Y in X.author (Y = “Smith”)

46 Βάσεις Δεδομένων και Παγκόσμιος Ιστός46 Μεταβλητές ετικέτας Χρησιμοποιούνται και στην UnQL και στην Lorel Επιτρέπουν να συνδυάζουμε πληροφορία σχετική με το σχήμα με δεδομένα Παράδειγμα: μετατρέποντας τις ετικέτες σε δεδομένα (και αντίστροφα) select publication: {type: L, title: T} from biblio.L X, X.title T where X.year > 1989 Αποτέλεσμα: {publication: {type: “paper”, title:”SSD”}, …}

47 Βάσεις Δεδομένων και Παγκόσμιος Ιστός47 Group by Οι μεταβλητές ετικέτας μπορούν να χρησιμοποιηθούν για “grouping by” select Y: (select X from biblio.paper X where X.year = Y) from biblio.paper.year Y Ισως να χρειαστεί απαλοιφή διπλοτύπων

48 Βάσεις Δεδομένων και Παγκόσμιος Ιστός48 Απόκρυψη γνωρισμάτων Χρησιμοποιούμε μια μεταβλητή ετικέτας προκειμένου να κρύψουμε τον μισθό του employee: select new-person: (select L: Y from X.L Y where not (L = salary)) from db.person X Αντίθετα από τις συμβατικές γλώσσες ερωτημάτων, δεν χρειάζεται να ξέρουμε ποιά γνωρίσματα διατηρούνται / φανερώνονται

49 Βάσεις Δεδομένων και Παγκόσμιος Ιστός49 LORE Lightweight Object REpository Ενα ολοκληρωμένο, γενικής χρήσης DBMS που αναπτύχθηκε από την αρχή, στο Stanford Φτιαγμένο ειδικά για να διαχειρίζεται SSD, με χρήση του ΟΕΜ και της Lorel Δηλωτική γλώσσα για ανανεώσεις, υποστήριξη για XML Query processing, storage manager Πρόσβαση μέσω API, αλλά και GUI εργαλεία για αποτίμηση ερωτημάτων

50 Υπόβαθρο και ανάγκη για ημιδομημένα δεδομένα Εισαγωγή στα ημιδομημένα δεδομένα Γλώσσες ερωτημάτων για ημιδομημένα δεδομένα Σχήματα για ημιδομημένα δεδομένα

51 Βάσεις Δεδομένων και Παγκόσμιος Ιστός51 Τι είναι τα σχήματα; Σχεσιακές και Αντικειμενοστραφείς ΒΔ Τα δεδομένα υπακούουν σε προκαθορισμένη δομή (a-priori σχήμα) Εύρεση/ερμηνεία της δομής της βάσης Καλύτερη αποθήκευση Βελτιστοποιημένη επεξεργασία ερωτημάτων Βάσεις Ημιδομημένων δεδομένων Τα δεδομένα είναι “ακανόνιστα” (a-posteriori σχήμα) Πως μπορεί να βοηθήσει κάποιο «σχήμα»;

52 Βάσεις Δεδομένων και Παγκόσμιος Ιστός52 Περιγραφή δομής βάσης C1 C5 C4 C6 C7 C13 C14 C15C10 C11 C12 C2C3 C9 C8 bibliobooktitle author address first name last name street city zip title journa l year string paper

53 Βάσεις Δεδομένων και Παγκόσμιος Ιστός53 Χρήσεις της δομής της βάσης Σχήμα και βελτιωμένη αποθήκευση Υπόθεση: πολλά «ομογενή» αντικείμενα book, τότε......δημιουργία σχέσεων της μορφής: book (source:id, title:string, firstname:string, lastname:string, street:string, city:string, zip:string) Αντί για την γενικότερη περίπτωση: ref (source: oid, label: string, destination: oid) val (obj: oid, value: domain) Σχήμα και επεξεργασία ερωτημάτων Ερώτηση: select X.title from biblio._ X where X.*.zip= “12345” μετασχηματισμός Ερώτηση: select X.title from biblio.book X where X.address.zip= “12345”

54 Βάσεις Δεδομένων και Παγκόσμιος Ιστός54 Παράδειγμα βάσης &r1 &c1&c2 &s2&s3&s6&s7 &s10 company name address name url address “Widget” “Trenton” “Gadget” “www.gp.fr” “Paris” &p2&p1&p3 &s0&s1&s4&s5&s8&s9 person “Smith” name position name phone name position “Manager” “Jones” “ ” “Dupont” “Sales” employee manages c.e.o. works-for c.e.o. &a1 &a2 &a3 &a4 &a5 &a6 &a7 description procurement salesrep contact task eval “on target” “below target”

55 Βάσεις Δεδομένων και Παγκόσμιος Ιστός55 Lower-bound σχήματα Root Company Employee string company person works-for c.e.o. address name managed-by name

56 Βάσεις Δεδομένων και Παγκόσμιος Ιστός56 Upper-bound σχήματα Root Company Employee string company person works-for c.e.o. | employee name | address | url managed-by name | phone | position Any description -

57 Βάσεις Δεδομένων και Παγκόσμιος Ιστός57 Εξαγωγή σχήματος: βάση &r &p8&p1&p2&p3&p4&p5&p6&p7 &c company employee worksfor manages managedby manages managedby

58 Βάσεις Δεδομένων και Παγκόσμιος Ιστός58 Εξαγωγή σχήματος: lower-bound Root &r Bosses &p1,&p4,&p6 Regulars &p2,&p3,&p5,&p7,&p8 Company &c company employee manages managedby worksfor employee

59 Βάσεις Δεδομένων και Παγκόσμιος Ιστός59 Εξαγωγή upper-bound σχήματος: Dataguides Root &r Employees &p1,&p2,&p3,&p4 &p5,&p6,&p7,&p8 Bosses &p1,&p4,&p6 Regulars &p2,&p3,&p5,&p7,&p8 Company &c company employee manages managedby manages managedby worksfor


Κατέβασμα ppt "Βάσεις Δεδομένων και Παγκόσμιος Ιστός Ημιδομημένα δεδομένα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google