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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
Advertisements

Δημιουργία Ιστοσελίδων σε HTML και FrontPage Πρόγραμμα Αναμόρφωσης Προπτυχιακών Σπουδών Κεντρικό Γραφείο Υποστήριξης Εκπαιδευτικού Έργου Αλέξανδρος Λεκατσάς.
Η πλατφόρμα moodle και η χρήση ψηφ. εκπαιδευτικού υλικού
Διάγραμμα Παρουσίασης
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
ΚΕΙΜΕΝΟ  Ο πρώτος τρόπος απεικόνισης πληροφορίας (και βασικός ως σήμερα).  Αδυναμία πρώτων υπολογιστών να χειριστούν άλλη μορφή πληροφορίας.  Πρόβλημα.
Να περιγράψετε τους 2 τρόπους οργάνωσης Ιστοσελίδων
Δ.Π.Θ. xml - 1 ΝΕΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ XML Η HTML αποτέλεσε την πρώτη και κύρια γλώσσα δημιουργίας ιστοσελίδων από την έναρξη λειτουργίας.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Εισαγωγή στις Βάσεις Δεδομένων για Μαθητές Λυκείων και Τεχνικών Σχολών Δημήτρης Ζεϊναλιπούρ Λέκτορας Τμήμα Πληροφορικής,
Οδηγός δημιουργίας ιστολογίου στο blogger.com
Βάσεις Δεδομένων 1 T.Manavis– N.Kyritsis.
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Δ.Π.Θ. Συνδέοντας έγγραφα - 1 Συνδέοντας έγγραφα Μια σύνδεση στο Web (link) αποτελείται από δύο μέρη : Aυτό που βλέπουμε στη σελίδα και λέγεται άγκυρα.
ΠΡΟΤΥΠΑ ΜΑΘΗΣΙΑΚΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΔΙΔΑΚΤΙΚΑ ΟΦΕΛΗ Ενότητα 3.7 – Β’ Μέρος.
Resource Description Framework
Βάσεις Δεδομένων (ΚΒΔ)
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Η ποιότητα της πληροφορίας στο εκπαιδευτικό υλικό που χρησιμοποιείται ή διανέμεται μέσω του Internet Χρήστος Σαβρανίδης Πανεπιστήμιο Ιωαννίνων Τμήμα ΦΠΨ.
Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
. Εννοιολογικοί χάρτες.
Αρχιτεκτονική Συστημάτων
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Μάθημα 2 ο : Βασικές έννοιες 1 Ακαδημαϊκό Έτος
Ανάκτηση Πληροφορίας (Information Retrieval – IR) Πανεπιστήμιο Θεσσαλίας Πολυτεχνική Σχολή Τμήμα Μηχ. Η/Υ, Τηλ/νιών & Δικτύων Ακαδημαϊκό Έτος
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Ιόνιο Πανεπιστήμιο ΠΜΣ Επιστήμη της Πληροφορίας Διατύπωση Ερωτημάτων σε XML τεκμήρια με τη γλώσσα XQuery Εργασία για το μάθημα Ηλεκτρονική Δημοσίευση Υπεύθυνος.
Δομές Δεδομένων.
E X a M p L e Αξιοποιώντας την τεχνολογία XML στη διαχείριση της πληροφορίας Λίνα Μπουντούρη Εθνικό Κέντρο Τεκμηρίωσης 13ο Πανελλήνιο Συνέδριο Ακαδημαϊκών.
Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών Λίνα Μπουντούρη - Μανόλης Γεργατσούλης Ιόνιο Πανεπιστήμιο 15ο Πανελλήνιο Συνέδριο Ακαδημαϊκών.
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
Ημέρα 1η.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
3 Αρχιτεκτονική Συστημάτων  Κατηγορίες χρηστών ΣΔΒΔ  Αρχιτεκτονική ANSI/SPARC  Γλώσσες ερωτημάτων  Μοντέλα δεδομένων  Λειτουργίες ΣΔΒΔ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Network Inference Μπαλάφα Κασιανή - Αδριανή Πλασταρά Κατερίνα.
Σημασιολογική Ολοκλήρωση Ολοκλήρωση Πληροφορίας Το πρόβλημα της ολοκλήρωσης πληροφορίας (information integration) προκύπτει από την ύπαρξη ετερογενών.
1 ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΑΡΧΕΙΟΝΟΜΙΑΣ & ΒΙΒΛΙΟΘΗΚΟΝΟΜΙΑΣ ΜΠΣ: «Υπηρεσίες Πληροφόρησης σε Ψηφιακό Περιβάλλον» Εργασία στο Μάθημα «ΗΛΕΚΤΡΟΝΙΚΗ ΔΗΜΟΣΙΕΥΣΗ»
ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΜΣ «ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΗΣΗΣ» ΗΛΕΚΤΡΟΝΙΚΗ ΔΗΜΟΣΙΕΥΣΗ ΔΙΔΑΣΚΟΝΤΕΣ: ΚΑΠΙΔΑΚΗΣ ΣΑΡΑΝΤΟΣ ΓΕΡΓΑΤΣΟΥΛΗΣ ΕΜΜΑΝΟΥΗΛ Το DSpace ως ένα Ανοικτό.
University of Crete HY566-Semantic Web CS566 – Semantic Web Computer Science Department - UoC Heraklion 1 April, 2003 Παπαγγελής Μάνος, Κοφφινά Ιωάννα,
Ανάκτηση Πληροφορίας 1 Multimedia IR Multimedia IR Δεικτοδότηση και Αναζήτηση.
Τεχνολογία ΛογισμικούSlide 1 Εξειδίκευση Βασισμένη σε Μοντέλο u Τυπική εξειδίκευση λογισμικού με ανάπτυξη μαθηματικού μοντέλου για το σύστημα.
FEDORA ARCHITECTURE1 Αρχιτεκτονικές Ψηφιακών Βιβλιοθηκών FEDORA.
Βάσεις Δεδομένων ΙΙ Ευαγγελία Πιτουρά 1 Βάσεις Διαδικτύου.
Εφαρμογές Πολυμέσων: Εισαγωγή στην HTML (1)
Βάσεις Δεδομένων Αρχιτεκτονική.
Προγραμματιστικά Εργαλεία για το Διαδίκτυο Κατασκευή Ιστοσελίδων 3 ο Κεφάλαιο Βελώνης Γεώργιος – Καθηγητής Πληροφορικής ΠΕ20.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΛΛΑΣ ΑΝΑΣΤΑΣΙΟΣ / ΦΕΒΡ ΚΕΦΑΛΑΙΟ 2 ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ.
Προγραμματισμός και Διαχείριση Επιχειρηματικών Πόρων - ERP Μάθημα 4: Τεχνολογική Υποδομή ERP.
Βάσεις Δεδομένων και Παγκόσμιος Ιστός Τεχνολογίες XML.
Βάσεις Δεδομένων Ι 4η διάλεξη
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Αρχιτεκτονική Συστημάτων
Θερινό Σχολείο, 14 – 20 Ιουλίου 2014
Εισαγωγή στις βάσεις δεδομένων ISBN
Java DataBase Connectivity
Εργασία στο μάθημα «Προγραμματισμός ΙΙ»
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Αρχιτεκτονική Συστημάτων
DREMEL: Interactive Analysis of Web-Scale Datasets
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Εφαρμογές Πληροφορικής Κεφάλαιο 11
Αρχιτεκτονική Συστημάτων
Οδηγός δημιουργίας ιστολογίου στο blogger.com
Ερωτήματα Επιλογής σε ACCESS
Εννοιολογική Χαρτογράφηση
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων και Παγκόσμιος Ιστός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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων και Παγκόσμιος Ιστός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 Χρήσεις της δομής της βάσης Σχήμα και βελτιωμένη αποθήκευση Υπόθεση: πολλά «ομογενή» αντικείμενα 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 Παράδειγμα βάσης &r1 &c1&c2 &s2&s3&s6&s7 &s10 company name address name url address “Widget” “Trenton” “Gadget” “ “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 Lower-bound σχήματα Root Company Employee string company person works-for c.e.o. address name managed-by name

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

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

Βάσεις Δεδομένων και Παγκόσμιος Ιστός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