Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο

Σχετικά έγγραφα
της πληροφορίας Λίνα Μπουντούρη Εθνικό Κέντρο Τεκμηρίωσης 13ο ΠανελλήνιοΣυνέδριοΑκαδημαϊκών Βιβλιοθηκών - Κέρκυρα 2004

SGML (Standard Generalized Markup Language) HTML (HyperText Markup Language) XML (extensible Markup Language)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

Βάσεις Δεδομένων Εισαγωγή

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Ερωτήσεις σε Ημι-δομημένα δεδομένα. 13/5/2008 Μ.Χατζόπουλος 1

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Μοντέλο Οντοτήτων-Συσχετίσεων

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ)

Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ)

Βάσεις Δεδομένων (Databases)

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

Εισαγωγή στην πληροφορική

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Εισαγωγή στην Πληροφορική

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Σημασιολογικός Ιστός (Semantic Web) - XML

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ramez Elmasri and Shamkant B. Navathe Ελληνική Εκδόσεις Δίαυλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 1-1

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Μετατροπή Διαγράμματος Οντοτήτων Συσχετίσεων (E-R) σε σχεσιακό. Φροντιστήριο 3 ο

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Βάσεις ιαδικτύου. Θέματα. Εισαγωγή στην XML. Ευρετήρια για την Ανάκτηση Κειμένων. Ο αλγόριθμος HITS. είναι η XML. Παράδειγμα XML


Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

Μοντέλο Οντοτήτων-Συσχετίσεων

ΝΤUA. Τεχνολογία Πολυμέσων

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάση Δεδομένων: συλλογή από σχετιζόμενα δεδομένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ): λογισμικό για δημιουργία και χρήση μιας βάσης δεδομένων

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Εισαγωγή XML: Extensible Markup Language Ορίστηκε από το WWW Consortium (W3C) ως συµπλήρωµα της HTML. εν σχεδιάστηκε για βάσεις δεδοµένων αλλά για δια

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Κανόνες μετατροπής Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Σχήμα. Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ,

Βάσεις Δεδομένων Ι. 4 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

Σχεσιακό Μοντέλο Δεδομένων

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο

Μοντέλο Οντοτήτων-Συσχετίσεων

Σχεδίαση Σχεσιακών ΒΔ

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

ΗΥ360 - Αρχεία και Βάσεις Δεδομένων Χειμερινό Eξάμηνο Μοντέλο Οντοτήτων-Συσχετίσεων Σχεσιακό Μοντέλο

Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Σχεδιασμός μιας Β : Βήματα

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Τίτλος Πακέτου Certified Computer Expert-ACTA

Περιεχόμενο του μαθήματος

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Μεταδεδομένα στο Ψηφιακό περιβάλλον


Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

Βάσεις Δεδομένων (Databases)

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Διάγραμμα Οντοτήτων - Συσχετίσεων

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-561 ιαχείριση εδοµένων στο Παγκόσµιο Ιστό Βασίλης Χριστοφίδης

Μοντέλο Οντοτήτων-Συσχετίσεων

5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery

Επεξεργασία Ερωτήσεων

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Κεφ.11: Ευρετήρια και Κατακερματισμός

Transcript:

Βάσεις Δεδομένων ΙΙ Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Εισαγωγή Πολλές εφαρμογές διαδικτύου υποστηρίζουν web διεπαφές για προσπέλαση σε πληροφορίες που είναι αποθηκευμένες σε μία ή περισσότερες ΒΔ. HTML (Ηypertext Markup Language) Χρησιμοποιείται για τη μορφοποίηση και δόμηση web εγγράφων αλλά δεν είναι κατάλληλη για τον προσδιορισμό δεδομένων που εξάγονται από ΒΔ. XML (extended Markup Language) Πρότυπο για τη δόμηση και ανταλλαγή στο web. Μπορεί να χρησιμοποιηθεί για να παρέχει πληροφορίες για τη δόμηση και σημασία των δεδομένων σε Web σελίδες αντί να απλά να προσδιορίζει πως μορφοποιούνται οι web σελίδες για παρουσίαση στην οθόνη. Η μορφοποίηση προσδιορίζεται ξεχωριστά με μια γλώσσα μορφοποίησης όπως η XSL (extended Stylesheet Language). 1

Δομημένα, Ημιδομημένα και Μη Δομημένα Δεδομένα. Οι πληροφορίες που είναι αποθηκευμένες σε ΒΔ είναι γνωστές σαν δομημένα δεδομένα επειδή παριστάνονται με αυστηρή μορφοποίηση. Το ΣΔΒΔ ελέγχει ώστε να διασφαλίζεται ότι όλα τα δεδομένα ακολουθούν τις δομές και τους περιορισμούς που προσδιορίζονται στο σχήμα. Σε κάποιες εφαρμογές, τα δεδομένα συλλέγονται με ένα συγκεκριμένο τρόπο πριν γίνει γνωστό πως ακριβώς θα αποθηκευθούν. Τα δεδομένα αυτά μπορεί να έχουν κάποια δομή αλλά οι πληροφορίες που συλλέγονται δεν έχουν όλες ταυτόσημη δομή. Αυτός ο τύπος δεδομένων είναι γνωστός ως ημιδομημένα δεδομένα. Στα ημιδομημένα δεδομένα, οι πληροφορίες του σχήματος αναμιγνύονται με τις τιμές δεδομένων, αφού κάθε αντικέιμενο μπορεί να έχει διαφορετικά γνωρίσματα που δεν είναι γνωστά εκ των προτέρων. Αυτός ο τύπος δεδομένων συχνά αναφέρεται ως αυτο-επιγραφικά δεδομένα. Στα μη δομημένα δεδομένα, υπάρχουν πολύ περιορισμένες ενδείξεις για τον τύπο των δεδομένων. Ένα τυπικό παράδειγμα είναι ένα έγγραφο κειμένου που περιέχει και κάποια δεδομένα που θεωρούνται μη δομημένα δεδομένα. Τέτοιου τύπου δεδομένα περιέχουν και σελίδες web σε html. Δομημένα, Ημιδομημένα και Μη Δομημένα Δεδομένα. Τα ημι-δομημένα δεδομένα μπορούν να παρουσιαστούν σαν κατευθυνόμενοι γράφοι Οι ετικέτες στις κατευθυνόμενες πλευρές παριστάνουν τα ονόματα στο σχήμα: ονόματα γνωρισμάτων, τύποι αντικειμένων (ή τύποι οντοτήτων, ή κλάσεων) και συσχετίσεις. Οι εσωτερικοί κόμβοι παριστάνουν ατομικά αντικείμενα ή σύνθετα γνωρίσματα. Οι κόμβοι φύλα παριστάνουν πραγματικές τιμές δεδομένων απλών (ατομικών) γωνρισμάτων. 2

Αναπαράσταση ημι-δομημένων δεδομέων σαν γράφος Ιεραρχικό (Δενδροειδές) Μοντέλο Δεδομένων της XML Ένα πολύπλοκο XML στοιχείο που ονομάζεται <projects>. 3

Ιεραρχικό Μοντέλο Δεδομένων της XML Υπάρχουν δύο βασικές δομικές έννοιες: στοιχεία και γνωρίσματα. Τα γνωρίσματα παρέχουν επιπλέον πληροφορίες που περιγράφουν τα στοιχεία. Όπως και στην HTML, τα στοιχεία προσδιορίζονται σε ένα έγγραφο από την ετικέτα αρχής και την ετικέτα τέλους. Ετικέτα αρχής <name> Ετικέτα τέλους </name> Τα πολύπλοκα στοιχεία κατασκευάζονται από άλλα ιεραρχικά, ενώ τα απλά στοιχεία περιέχουν τιμές δεδομένων. Υπάρχει αντιστοιχία μεταξύ της XML και της δενδρικής δομής. Στη δενδρική δομή, οι εσωτερικοί κόμβοι παριστάνουν πολύπλοκα στοιχεία και οι κόμβοι φύλα παριστάνουν απλά στοιχεία. Γι αυτό το λόγο το μοντέλο της XML ονομάζεται δενδρικό ή ιεραρχικό. Ιεραρχικό Μοντέλο Δεδομένων της XML Τα XML έγγραφα κατατάσσονται σε τρεις κατηγορίες: 1. XML έγγραφα που επικεντρώνονται στα δεδομένα: Έχουν πολλά μικρά δεδομένα που ακολουθούν μια συγκεκριμένη δομή και επομένως μπορούν να εξαχθούν από μια δομημένη βάση δεδομένων. Μορφοποιούνται σαν XML έγγραφα για να μπορούν να διακινηθούν και να παρουσιαστούν στο web. 2. XML έγγραφα που επικεντρώνονται στo έγγραφο : Έγγραφα με κείμενα μεγάλου όγκου, όπως άρθρα ειδήσεων ή βιβλία. Υπάρχουν λίγα ή καθόλου δομημένα στοιχεία δεδομένων. 3. Υβριδικά XML έγγραφα: Τμήματα που περιέχουν δομημένα δεδομένα και άλλα τμήματα που είναι κατ εξοχήν κείμενα ή χωρίς δόμηση. 4

XML Έγγραφα, DTD, και XML Σχήμα. Καλώς Ορισμένα XML έγγραφα Πρέπει να αρχίζει με μια δήλωση της έκδοσης της XML που χρησιμοποιείται. Θα πρέπει να ακολουθεί το συντακτικό του δενδρικού μοντέλου. Να υπάρχει ένα στοιχείο ρίζα Κάθε στοιχείο πρέπει να περιλαμβάνει ένα ζεύγος ετικετών αρχής και τέλους που περικλείονται μεταξύ των ετικετών αρχής και τέλους του κόμβου γονέα. Πρέπει να είναι συντακτικά σωστό. Αυτό επιτρέπει την επεξεργασία του από πρωτογενείς επεξεργαστές που σαρώνουν το έγγραφο και παράγουν μια εσωτερική δενδρική δομή. DOM (Document Object Model) Ένα τυπικό σύνολο από συναρτήσεις API και επιτρέπει σε προγράμματα να διαχειριστούν τη δενδρική αναπαράσταση που προκύπτει και αντιστοιχεί σε ένα καλά ορισμένο έγγραφο XML. Όλο το έγγραφο θα πρέπει να σαρωθεί από την αρχή. SAX (Simple API for XML) Επιτρέπει την επεξεργασία εγγράφων XML κατά τη σάρωση ειδοποιώντας το πρόγραμμα επεξεργασίας όταν βρεθεί μια ετικέτα αρχής ή τέλους. Ευκολότερη η επεξεργασία μεγάλων εγγράφων Έγκυρα XML έγγραφα Το έγγραφο πρέπει να είναι καλώς ορισμένο και επιπλέον τα ονόματα των στοιχείων που χρησιμοποιούνται στις ετικέτες πρέπει να ακολουθούν τη δομή που ορίζεται σε ένα ξεχωριστό XML DTD (Document Type Definition) αρχείο ή σε ένα XML αρχείο σχήματος. XML Έγγραφα, DTD, και XML Σχήμα. 5

XML Έγγραφα, DTD, και XML Σχήμα. Συμβολισμοί XML DTD * προαιρετικό πλειότιμο Το στοιχείο μπορεί να επαναληφθεί 0 ή περισσότερες φορές στο έγγραφο + απαιτούμενο πλειότιμο Το στοιχείο μπορεί να επαναληφθεί μία ή περισσότερες φορές στο έγγραφο? προαιρετικό απλό (μη επαναλαμβανόμενο) στοιχείο Το στοιχείο μπορεί να 0 ήμίαφοράστοέγγραφο απαιτούμενο απλό (μη επαναλαμβανόμενο) στοιχείο Το στοιχείο πρέπει να εμφανιστεί ακριβώς μια φορά στο κείμενο. Τύπος στοιχείου Προσδιορίζεται με παρενθέσεις που ακολουθούν το στοιχείο #PCDATA - το στοιχείο είναι κόμβος φύλο Όνοματα άλλων στοιχείων εσωτερικός κόμβος με παιδιά αυτά τα στοιχεία. Οι παρενθέσεις μπορούν να εμφωλεύονται όταν προσδιορίζονται στοιχεία. Το σύμβολο της μπάρας ( e1 e2 ) προσδιορίζει ότι στο έγγραφο μπορεί να εμφανιστεί είτε το e1 είτε το e2. XML Έγγραφα, DTD, και XML Σχήμα. Περιορισμοί του XML DTD Οι τύποι δεδομένων στο DTD δεν είναι πολύ γενικοί. Το DTD έχει την δική του ειδική σύνταξη και επομένως απαιτεί εξειδικευμένους επεξεργαστές. Όλα τα DTD στοιχεία υποχρεώνονται πάντα να ακολουθούν την καθορισμένη διάταξη του εγγράφου, έτσι που δεν επιτρέπονται μη διατεταγμένα έγγραφα. 6

XML Σχήμα Η ΧΜL γλώσσα σχήματος είναι ένα πρότυπο για τον προσδιορισμό της δομής XML εγγράφων. Χρησιμοποιεί τους ίδιους συντακτικούς κανόνες με τα κανονικά XML έγγραφα, έτσι ώστε να χρησιμοποιηθούν και στα δύο οι ίδιοι επεξεργαστές. XML Έγγραφα, DTD, και XML Σχήμα. 7

Χαρακτηριστικά XML Σχήματος Περιγραφές Σχήματος και XML περιοχές ονομάτων: Προσδιορίζεται το σύνολο των στοιχείων (ετικέτες) της γλώσσας του XML σχήματος μέσω ενός αρχείου, το οποίο συνήθως είναι "http://www.w3.org/2001/xmlschema". Το όνομα του αρχείου δίδεται ως τιμή της μεταβλητής xsd με γνώρισμα xmlns (XML namespace). Αυτήημεταβλητή χρησιμοποιείται ως πρόθεμα σε όλες τις XML εντολές σχήματος. Επεξηγήσεις (Annotations), Τεκμηρίωση (documentation), και γλώσσα που χρησιμοποιείται Τα xsd:annotation και xsd:documentation χρησιμοποιούνται για σχόλια και άλλες περιγραφές στο XML έγγραφο. Το γνώρισμα XML:lang προσδιορίζει τη γλώσσα (en English) Στοιχεία και τύποι: Προσδιορίζεται το στοιχείο ρίζα του XML σχήματος. Το γνώρισμα name ορίζει το όνομα του στοιχείου. Η δομή του στοιχείου είναι xsd:complextype (ακολουθία από department, employee, project). Χαρακτηριστικά XML Σχήματος Στοιχεία πρώτου επιπέδου βάσης δεδομένων : Τα στοιχεία αυτά είναι τα department, και project. Προσδιορίζονται από μια ετικέτα xsd:element tag. Αν μια ετικέτα έχει μόνο γνωρίσματα και όχι υπο-στοιχεία ή δεδομένα μπορεί να τελειώσει με το σύμβολο (/>) και ονομάζονται Κενά στοιχεία. Προσδιορισμός τύπου στοιχείων και ελαχίστου μέγιστου πλήθους εμφανίσεων: Αν ορίζεται το γνώρισμα type, η δομή του στοιχείου θα περιγραφεί ξεχωριστάτυπικάμετοστοιχείοxsd:complextype element. Αν υπάρχει type η δομήορίζεταιάμεσα. Τα γνωρίσματα minoccurs και maxoccurs όριζουντοελάχιστοκαιμέγιστοπλήθοςεμφανίσεων. Η προκαθορισμένη τιμή είναι ακριβώς μία εμφάνιση. 8

Αρχείο XML σχήματος. Χαρακτηριστικά XML Σχήματος Προσδιορισμός Κλειδιών: xsd:unique Προσδιορίζει στοιχεία που αντιστοιχούν σε γνωρίσματα με μοναδική τιμή σε μια σχεσιακή ΒΔ που δεν είναι πρωτεύοντα κλειδιά. xsd:selector Τύπος του στοιχείου που περιέχει το μοναδικό στοιχείο xsd:field To όνομα του στοιχείου σε αυτό που είναι μοναδικό xsd:key Προσδιορίζει πρωτεύον κλειδί xsd:selector Τύπος του στοιχείου που περιέχει το κλειδί xsd:field To όνομα του στοιχείου που είναι κλειδί xsd:keyref Προσδιορίζει ξένο κλειδί refer To πρωτεύον κλειδί στο οποίο αναφέρεται xsd:selector Τύπος του στοιχείου που περιέχει το κλειδί xsd:field To όνομα του στοιχείου που είναι κλειδί 9

Αρχείο XML σχήματος. Αρχείο XML σχήματος. 10

Χαρακτηριστικά XML Σχήματος Προσδιορισμός των δομών πολύπλοκων στοιχείων μέσω πολύπλοκων τύπων: Ακολουθία από υπο-στοιχεία όπου ορίζεται name και type. Μπορούν επίσης να οριστούν τα minoccurs και maxoccurs γνωρίσματα. Σύνθετα γνωρίσματα: Τα σύνθετα γνωρίσματα μιας σχεσιακής ΒΔ προσδιορίζονται ως πολύπλοκοι τύποι. XML Έγγραφα και Βάσεις Δεδομένων Προσεγγίσεις για την αποθήκευση XML Εγγράφων Χρήση ενός ΣΔΒΔ για την αποθήκευση των εγγράφων σαν κείμενο: Χρησιμοποίηση σχεσιακού ή αντικειμενοστρεφές ΣΔΒΔ για αποθήκευση όλων των XML εγγράφων σαν πεδία κειμένου στις εγγραφές ή τα αντικείμενα του ΣΔΒΔ. Η προσέγγισηαυτή μπορεί να χρησιμοποιηθεί αν το ΣΔΒΔ έχει δυνατότητα επεξεργασίας εγγράφων, και θα δούλευε για έγγραφα χωρίς σχήμα και έγγραφα που επικεντρώνονται στο έγγραφο. Χρήση ενός ΣΔΒΔ για αποθήκευση του περιεχομένου των εγγράφων σαν στοιχεία δεδομένων: Χρήση για αποθήκευση μιας συλλογής εγγράφων που ακολουθούν συγκεκριμένο XML DTD ή XML schema. Επειδή όλα τα έγγραφα έχουν την ίδια δομή, μπορεί να σχεδιαστεί μια σχεσιακή (ή αντικειμενοστρεφή) ΒΔ για την αποθήκευση των στοιχείων δεδομένων στα φύλα των XML εγγράφων. Σχεδιασμός ενός εξιδικευμένου συστήματος για αποθήκευση XML δεδομένων Σχεδιασμός και υλοποίηση ενός νέου τύπου συστήματος ΒΔ που να βασίζεται στο ιεραρχικό μοντέλο. Θα περιελάμβανε εξειδικευμένο σύστημα ευρετηρίων και τεχνικών επερωτήσεων, και θα υποστήριζε όλους τους τύπους XML εγγράφων. Δημιουργία ή έκδοση προσαρμοσμένων XML εγγράφων από προϋπάρχουσες ΒΔ: Επειδή υπάρχει ήδη τεράστιος όγκος δεδομένων αποθηκευμένος σε σχεσιακές ΒΔ, τμήματα αυτώντωνδεδομένωνμπορείναχρειασθείναμορφοποιηθούνσανέγγραδαγιαανταλλαγή ή παρουσίαση στο web. Ένα ξεχωριστό επίπεδο ενδιάμεσου λογισμικού διαχειρίζεται τις απαραίτητες μετατροπές μεταξύ XML εγγράφων και σχεσιακών ΒΔ. 11

Εξαγωγή XML Εγγράφων από Σχεσιακές ΒΔ Υποθέτουμε ότι μια εφαρμογή χρειάζεται να εξάγει XML έγγραφα για πληροφορίες φοιτητών, μαθημάτων και βαθμών από τη ΒΔ πανεπιστήμιο. Τα δεδομένα που απαιτούνται για αυτά τα έγγραφα περιέχονται στα γνωρίσματα των οντοτήτων course, section, and student και τις σχέσεις s-s και c-s μεταξύ αυτών. Υποσύνολο του διαγράμματος σχήματος ΟΣ για τη ΒΔ Πανεπιστήμιο Μπορούν να εξαχθούν τουλάχιστον τρεις πιθανές ιεραρχίες εγγράφων. 12

Ιεραρχική Όψη με το COURSE σαν ρίζα. Κάθε οντότητα COURSE έχει σαν στοιχεία το σύνολο των SECTION Κάθε SECTION έχει τους STUDENT που συμμετείχαν σαν στοιχεία Αν ένας φοιτητής μετέχει σε πολλά SECTION, οι πληροφορίες αυτού του φοιτητή θα εμφανιστούν πολλές φορές στο έγγραφο, μια για κάθε SECTION. XML σχήμα εγγράφου με το COURSE σαν ρίζα. Το γνώρισμα grade της σχέσης S-S μεταφέρεται στο στοιχείο student Κάθε στοιχείο student κάτω από ένα συγκεκριμένο στοιχείο section μπορεί να έχει ένα συγκεκριμένο grade. Ένας φοιτητής που συμμετέχει σε περισσότερα section θα έχει πολλά αντίγραφα κάτω από κάθε ένα, και το κάθε αντίγραφο θα έχει το συγκεκριμένο grade για το συγκεκριμένο section 13

Διάσπαση Κύκλων για Μετατροπή σε Δένδρα Υπάρχουν περιπτώσεις όπου το διάγραμμα ΟΣ είναι πιο πολύπλοκο με έναν ή περισσότερους κύκλους, που δείχνει πολλαπλές συσχετίσεις μεταξύ των οντοτήτων. Σε αυτή τη περίπτωση είναι πιο πολύπλοκο να αποφασισθεί πως θα δημιουργηθούν οι ιεραρχίες εγγράφων. Μπορεί να χρειαστεί επιπλέον επανάληψη των οντοτήτων για να αναπαρασταθούν οι πολλαπλές συσχετίσεις. Διάγραμμα ΟΣ για τη ΒΔ Πανεπιστήμιο Υποθέτουμε ότι θέλουμε όλες τις πληροφορίες σε όλους τους τύπους οντοτήτων και τις συσχετίσεις με το student σαν ρίζα 14

Διάσπαση Κύκλων για Μετατροπή σε Δένδρα. Δεν είναι δενδρική δομή λόγω των κύκλων Ένας τρόπος να διασπασθούν οι κύκλοι είναι να επαναληφθούν οι τύποι οντοτήτων που συμμετέχουν στους κύκλους. Διάσπαση Κύκλων για Μετατροπή σε Δένδρα. Αρχικα επαναλαμβάνεται το instructor To instructor παριστάνει τη συσχέτιση instructor και section που διδάσκουν To instructor_1 παριστάνει τη συσχέτιση instructor και department στο οποίο εργάζονται 15

Διάσπαση Κύκλων για Μετατροπή σε Δένδρα. XML Επερωτήσεις XPath: Προσδιορισμός Εκφράσεων Μονοπατιών στην XML Mια XPath έκφραση επιστρέφει μια συλλογή από κόμβους στοιχεία που ικανοποιούν πρότυπα που ορίζονται στην έκφραση. Τα ονόματα της XPath έκφρασης είναι ονόματα κόμβων στο XML δένδρο του εγγράφου που είναι είτε ονόματα ετικετών (στοιχεία) ή ονόματα γνωρισμάτων, πιθανόν με επιπλέον συνθήκες επιλογής που περιορίζουν περισσότερο τους κόμβους που ικανοποιούν το πρότυπο. Για τον προσδιορισμό μονοπατιών χρησιμοποιούνται δύο σύμβολα για διαχωρισμό : απλή πλάγια κάθετος (/) Προσδιορίζει ότι η ετικέτα πρέπει να εμφανιστεί ως παιδί της προηγούμενης (γονικής) ετικέτας διπλή πλάγια κάθετος (//). Προσδιορίζει ότι η ετικέτα μπορεί να εμφανιστεί σαν απόγονος της προηγούμενης ετικέτας σε οποιοδήποτε επίπεδο Συνηθίζεται να περιλαμβάνεται στην XPath επερώτηση το όνομα του αρχείου που μας επιτρέπει να προσδιορίσουμε οποιοδήποτε όνομα τοπικού αρχείου ή όνομα μονοπατιού doc(www.company.com/info.xml)/company 16

Παράδειγμα ΧPath εκφράσεων 1. Επιστρέφει τον κόμβο ρίζας COMPANY και όλους τους κόμβους απογόνους, δηλ. όλοτοέγγραφο. 2. Επιστρέφει όλους τους κόμβους (στοιχεία) department και τα υποδένδρα απογόνους. 3. Επιστρέφει όλους τους κόμβους employeename που είναι άμεσοι απόγονοι ενός κόμβου employee, τέτοιου που ο κόμβος αυτός έχει ένα άλλο στοιχείο απόγονο employeesalary με τιμή > 70000. 4. Επιστρέφει το ίδιο αποτέλεσμα με το προηγούμενο μόνο που προσδιορίζεται το πλήρες όνομα του μονοπατιού. 5. Επιστρέφει όλους τους κόμβους projectworker και τους απογόνους τους που είναι παιδιά κάτω από το μονοπάτι /company/project και έχουν ένα κόμβο παιδί hours με τιμή >= 20.0 hours. XML Επερωτήσεις XQuery: Προσδιορισμών Επερωτήσεων σε XML H XPath επιλέγει κόμβους από ένα έγγραφο με δενδρική δομή Η XQuery επιτρέπει τον προσδιορισμό πιο γενικών επερωτήσεων σε ένα ή περισσότερα XML έγγραφα. Η τυπική μορφή μιας επερώτησης XQuery είναι γνωστή ως μια FLWR έκφραση, που είναι τα αρχικά των τεσσάρων βασικών προτάσεων της XQuery και έχει τη παρακάτω δομή: FOR <αντιστοιχήσεις μεταβλητών σε κόμβους (στοιχεία)> LET < αντιστοιχήσεις μεταβλητών σε συλλογές κόμβων (στοιχείων) > WHERE <συνθήκες προσδιορισμού> RETURN <προσδιορισμός του αποτελέσματος της επερώτησης> 17

XQuery επερωτήσεις Ανακτά το firstname και lastname των employee που έχουν μισθό > 70000. Ημεταβλητή$x αντιστοιχεί σε κάθε στοιχείο employeename που είναι παιδί ενός στοιχείου employee, αλλά μόνο για τα στοιχεία employee που ικανοποιούν τη συνθήκη το employeesalary > 70000. XQuery επερωτήσεις 18

XQuery επερωτήσεις Συνένωση με περισσότερες από μία μεταβλητές. Ημεταβλητή $x αντιστοιχεί σε κάθε στοιχείο projectworker που είναι παιδί του project με projectnumber 5. Ημεταβλητή$y αντιστοιχεί σε κάθε στοιχείο employee Η συνένωση ταιριάζει τιμές ssn για ανάκτηση των ονομάτων των employee. 19