Εργασία στο μάθημα Θέματα Εφαρμογών Βάσεων Δεδομένων. Θέμα: Σύγκριση Γλωσσών Επερωτήσεων
|
|
- Δελφίνια Βιτάλη
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΕΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ Εργασία στο μάθημα Θέματα Εφαρμογών Βάσεων Δεδομένων Θέμα: Σύγκριση Γλωσσών Επερωτήσεων Καθηγητής: κος Χατζόπουλος Μ. Φοιτητές: Μαρκομανώλης Γεώργιος (M781) Πατσουράκης Νικόλαος (M713) 29/6/2006
2 Περιεχόμενα Πρόλογος...1 WebSQL...2 W3QS...4 Όψεις...5 Γλώσσα W3QL...6 WebLog...8 Σύνταξη...8 Σημασιολογία...9 Lorel...10 Object Exchange Model...11 Απλές εκφράσεις μονοπατιών...11 Γενικές εκφράσεις μονοπατιών...12 Κατασκευή αποτελεσμάτων...13 WebOQL...14 Web Queries...14 Semistructured Data...14 Hypertrees...15 Webs...15 Η γλώσσα...15 Strudel...17 Florid...20 Araneus Project...22 Unql...24 Συγκριτικός πίνακας...25 Βιβλιογραφία...26
3 Πρόλογος Η απήχηση του World-Wide Web (WWW) το έχει κάνει κύριο όχημα για την διάδοση πληροφοριών. Η σχέση των εννοιών της βάσης με τα προβλήματα διαχείρισης και επερώτησης πληροφοριών, οδήγησε σε ένα ενδεικτικό σώμα πρόσφατης έρευνας για αυτά τα προβλήματα. Ακόμα και η πρόκληση από την κοινότητα των βάσεων δεδομένων για την διαχείριση μεγάλων όγκων δεδομένων, μας προτρέπουν στην επέκταση των τεχνικών. Η τεχνολογία των βάσεων δεδομένων δεν είναι η μαγική σφαίρα που θα λύσει όλα αυτά τα προβλήματα. Η λύση σε αυτό το θέμα ήρθε από τις γλώσσες αναζήτησης στο web. Είναι γλώσσες που μας δίνουν την δυνατότητα να αναζητούμε πληροφορίες από ιστοσελίδες με βάση τα κριτήρια που θέλουμε εμείς. Έχουμε τις γλώσσες επερώτησης πρώτης γενιάς, που έχουν στόχο να συνδυάσουν ερωτήματα σχετικά με περιεχόμενο με ερωτήματα σχετικά με την δομή. Αυτές οι γλώσσες που περιλαμβάνουν τις W3QL, WebSQL και WebLog συνδυάζουν συνθήκες με text patterns που εμφανίζονται μέσα σε έγγραφα, με graph patterns που περιγράφουν την δομή των links. Οι γλώσσες επερώτησης δεύτερης γενιάς, που ονομάζονται Web data manipulation languages, πηγαίνουν πιο πέρα από της πρώτης γενιάς, με δύο σημαντικούς τρόπους. Αρχικά προσφέρουν πρόσβαση στην δομή των web-αντικειμένων που διαχειρίζονται. Σε αντίθεση με τις γλώσσες πρώτης γενιάς, μοντελοποιούν τόσο την εσωτερική δομή των web-εγγράφων, όσο και τα εξωτερικά links που τα συνδέουν. Επίσης παρέχουν την δυνατότητα για δημιουργία νέων πολύπλοκων δομών ως αποτέλεσμα σε ερώτημα. Αφού τα δεδομένα στο web είναι κυρίως ημιδομημένα, αυτές οι γλώσσες δίνουν έμφαση στην υποστήριξη για ημιδομημένα χαρακτηριστικά. Σε αυτή την εργασία, γράφουμε λίγα λόγια για κάποιες γλώσσες επερώτησης στο Web. 1
4 WebSQL Η WebSQL είναι μια γλώσσα αναζήτησης που χρησιμοποιεί το σχεσιακό μοντέλο με τύπο γλώσσας SQL για εξαγωγή πληροφοριών από το web. Οι δυνατότητές της για την πλοήγησή της σε υπερκείμενα στο web, την κάνει χρήσιμο εργαλείο για την αυτοματοποίηση αρκετών διεργασιών που σχετίζονται με το web που απαιτούν την συστηματική επεξεργασία είτε όλων των συνδέσμων μιας σελίδας, όλων των σελίδων που μπορούν να βρεθούν από ένα δεδομένο URL μέσω μονοπατιών που ταυτίζονται με αυτά που θέλουμε να βρούμε. Επίσης η WebSQL παρέχει πρόσβαση σε index servers στους οποίους μπορούμε να κάνουμε ερωτήματα μέσω του Common Gateway Interface. Μια από τις δυσκολίες, στην δημιουργία γλωσσών αναζητήσεων στο web με μορφή sql γλώσσας, είναι η απουσία ενός σχήματος βάσης για αυτή την τεράστια αποθήκη ετερογενών πληροφοριών. Αν όμως μας ενδιαφέρουν μόνο html αρχεία, μπορούμε να δημιουργήσουμε μόνο εικονικά σχήματα των δομών αυτών των αρχείων. Κάθε έγγραφο αναγνωρίζεται από το URL του, τον τίτλο του και το κείμενό του. Επίσης οι web servers παρέχουν πληροφορίες όπως τον τύπο, το μήκος και ημερομηνία τελευταίας τροποποίησης του εγγράφου. Επομένως από πλευράς data mining μπορούμε να θεωρήσουμε ένα σύνολο όλων των html εγγράφων σαν μια σχέση: Document(url, title, text, type, length, modif) Όπου κάθε γνώρισμα είναι συμβολοσειρά. Φυσικά αν κάποιο έγγραφο δεν έχει κάποια πληροφορία, το γνώρισμα μένει κενό. Αφού ορίσαμε αυτή την εικονική σχέση μπορούμε να εκφράσουμε ερωτήματα. Τώρα πρέπει να προσθέσουμε ένα κατηγόρμα mentions για ταίριασμα συμβολοσειρών. Για παράδειγμα η έκφραση x metions y είναι αληθής, αν το y υπάρχει κάπου στο έγγραφο x. Παράδειγμα Να βρούμε έγγραφα σχετικά με πληροφορική. Select d.url,d.title from Document d such that d mentions πληροφορική ; Σημείωση: Το αποτέλεσμα από αυτό το WebSQL ερωτήματος δημιουργείται με την αποστολή της λέξης πληροφορική σε έναν index server. Εφόσον μας ενδιαφέρουν όχι μόνο τα περιεχόμενα του εγγράφου αλλά και η hypertext δομή, χρειαζόμαστε τους συνδέσμους μεταξύ των εγγράφων. Ένας σύνδεσμος χαρακτηρίζεται με το anchor URL του εγγράφου, την επιγραφή του συνδέσμου και τον προορισμό του εγγράφου. Άρα μπορούμε να θεωρήσουμε μια σχέση των συνδέσμων: Anchor(base, label, href) Όπου base είναι το URL του anchor εγγράφου, label είναι η επιγραφή του συνδέσμου και href είναι το URL του εγγράφου-προορισμού. Επομένως τώρα μπορούμε να κάνουμε ερωτήματα που αναφέρονται σε συνδέσμους εγγράφων. 2
5 Παράδειγμα Να βρεθούν όλες οι ειδήσεις από το site που περιέχουν την λέξη παιδεία. select x.url from document x such that ->x,anchor y such that base=x where y.label contains παιδεία ; Σημείωση: Η λέξη contains στην πρόταση where συγκρίνει την λέξη και βρίσκει αυτά που ταιριάζουν. Για να μελετήσουμε την τοπολογία του Web πρέπει να διευκρινίσουμε τις διαφορές στα είδη συνδέσμων. Επομένως έχουμε: Interior αν ο προορισμός συμπίπτει με το anchor έγγραφο. Local αν ο προορισμός και το anchor έγγραφο είναι διαφορετικά αλλά βρίσκονται στον ίδιο server. Global αν ο προορισμός και το anchor έγγραφο βρίσκονται σε διαφορετικούς servers. Χρησιμοποιούμε ένα είδος διανύσματος για το κάθε είδος συνδέσμου. #> για interior. -> για local. => για global. = άδειο μονοπάτι. Οι μορφές του μονοπατιού περιλαμβάνουν αλυσίδα χαρακτήρων για εναλλαγή ( ) και επανάληψη (*). Για παράδειγμα το = =>->* είναι μια έκφραση που απεικονίζει το σύνολο που περιέχει το μηδενικό μονοπάτι, και όλα τα μονοπάτια που αρχίζουν με global σύνδεσμο και συνεχίζουν με μηδενικό ή περισσότερους local συνδέσμους. Παράδειγμα Να βρούμε όλα τα έγγραφα από το site της σχολής που αναφέρονται στους μεταπτυχιακούς. select x.url from document x such that -> => x where x.url contains μεταπτυχιακοί ; Το -> => σημαίνει local σύνδεσμος ή global σύνδεσμος. 3
6 W3QS Αν δούμε το Web σαν μια τεράστια βάση δεδομένων μπορούμε να κάνουμε ερωτήματα για επεξεργασία και εύρεση δεδομένων από τους servers. Έχει υλοποιηθεί ένα σύστημα που ονομάζεται W3QS για την εκτέλεση W3QL ερωτημάτων. Η αρχιτεκτονική του W3QS επιτρέπει στους χρήστες να σταματούν τα ερωτήματα καθώς και υλοποίηση άλλων εργαλείων για επεξεργασία δεδομένων. Η W3QL είναι μία γλώσσα υψηλού επιπέδου σαν SQL για το WWW. Τα κύρια χαρακτηριστικά της W3QL είναι: W3QL επιτρέπει και ερωτήματα για το περιεχόμενο και ερωτήματα δομής.(hypertext organization) Είναι επεκτάσιμη και μπορεί να συνδυαστεί με προγράμματα χρηστών. Είναι καλύτερη από τα υπάρχον WWW ευρετήρια και υπηρεσίας αναζήτησης. Παρέχει μία εύκολα ενημερώσιμη όψη Το W3QS είναι ένα πρωτότυπο σύστημα που εκτελεί W3QL ερωτήματα. Τα κύρια χαρακτηριστικά του W3QS είναι: Είναι προσβάσιμο από κάθε WWW browser. Παρέχει ένα application program interface (API) που μπορεί να χρησιμοποιηθεί από κάθε πρόγραμμα που τρέχει στο internet. Παρέχει εργαλεία για ανάλυση των περιεχομένων αρχείων και εκμάθησης online forms. Απλοποιεί την υλοποίηση προγραμμάτων αναζήτησης στο WWW με την παροχή Perl κλάσεων. Παραδείγματα ερωτήσεων Θα γράψουμε ένα ερώτημα για να βρούμε όλες τις εικόνες που βρίσκονται στο site της σχολής ( 1. Αρχικά, ψάχνουμε για ένα μονοπάτι που ξεκινάει από την αρχική σελίδα και τελειώνει σε ένα αρχείο εικόνας ακολουθώντας μόνο hypertext συνδέσμους που μένουν μέσα στο αρχικό site. Στην W3QL αυτά εκφράζονται με: n1,l1,(n2,l2),l3,n3 όπου n1,n2.n3 είναι μεταβλητές WWW κόμβων και l1,l2,l3 είναι μεταβλητές WWW συνδέσμων. (n2,l2) είναι ένα μη φραγμένο μονοπάτι σελίδων, προσβάσιμες από την n1. 2. n1 είναι ο πρώτος κόμβος του μονοπατιού και πρέπει να αντιστοιχή στην αρχική σελίδα. Δηλαδή γίνεται αντιστοίχιση συγκεκριμένης σελίδας σε μεταβλητή κόμβου. Αυτό γράφεται ως εξής: n1 in { 3. Οι σύνδεσμοι μεταξύ αυτών των σελίδων, πρέπει να παραμείνουν μέσα στο αρχικό site. Πρέπει η διεύθυνση του στόχου να περιέχει την συμβολοσειρά 4
7 di.uoa.gr. Άρα έχουμε l2 in {/di\.uoa\.gr/}. Τα \,/ χρειάζονται για την Perl. 4. Ο τελευταίος κόμβος n3 πρέπει να είναι εικόνα, που βρίσκεται μέσα στο site: n3 in {/di\.uoa\.gr/}. Η W3QL επιτρέπει σε εξωτερικά προγράμματα (παράδειγμα το PERLCOND) να αναλύουν τα περιεχόμενα των αρχείων. Επομένως n3: PERLCOND n3.format=~/image/ ; 5. Τέλος περιορίζουμε το βάθος αναζήτησης σε 1000 και το μέγιστο μήκος μονοπατιών σε 5, για να μην επιβαρύνουμε τον server. Αυτό γίνεται περνώντας ορίσματα σε ένα απομακρυσμένο πρόγραμμα αναζήτησης (RSP) που ονομάζεται ISEARCHd. Επομένως έχουμε: Select From n1,l1,(n2,l2),l3,n3 Where n1 in { l1 in {/di\.uoa\.gr/}; l2 in {/di\.uoa\.gr/}; n3: PERLCOND n3.format=~/image/ ; n3 in {/di\.uoa\.gr/} Using ISEARCHd d 5 l 1000 Το W3QS μπορεί να συμπληρώσει φόρμες αυτόματα με τις κατάλληλες οδηγίες. Όψεις Οι όψεις επιτρέπουν στο W3QS να έχουμε ενημερωμένα αποτελέσματα. Για παράδειγμα για να έχουμε μία λίστα με sites για ταινίες χρησιμοποιώντας το Yahoo Entertainment Cool Sites List μπορούμε να γράψουμε: Select From n1,l1,n2 Where n1 in { n2: PERLCOND (n2.content=~/movie/i) (n2.content=~/cinema/i) Using ISEARCHd Evaluated every day Η παραπάνω όψη ενημερώνεται κάθε 24 ώρες. Τα κύρια χαρακτηριστικά της W3QL είναι: Τύπος γλώσσας, SQL. Τα ερωτήματα αφορούν και την δομή και το περιεχόμενο. Επεκτάσιμη. Παρέχει όψεις για μέρη του WWW. 5
8 Από το WWW πρέπει να παίρνουμε τα ακόλουθα χαρακτηριστικά για να βρίσκουμε πληροφορίες: Το περιεχόμενο των πληροφοριών Δυνατότητα για αναζήτηση στην δομή του γράφου των hypertext. Πρόσβαση σε service providers μέσω html forms. Θεωρούμε το WWW σαν έναν κατευθυντικό γράφο. Η τοπολογία του γράφου είναι άγνωστη, αλλά μπορούμε να συμπεράνουμε μερικά πράγματα από την πλοήγηση στο WWW. Οι κόμβοι και οι ακμές του γράφου ορίζονται από κάθε δυνατή δραστηριότητα πλοήγησης στο WWW. Γλώσσα W3QL Αρχές Ερωτήματα περιεχομένου: Αυτά τα ερωτήματα επιλέγουν κόμβους από hypertext με βάση το περιεχόμενό τους. Ένας κόμβος πρέπει να ικανοποιεί τις συνθήκες που περιέχονται στο ερώτημα, ώστε να επιλεχθεί. Ερωτήματα δομής: Επιλέγονται ένα σύνολο κόμβων και ακμών από την δομή των hypertext που ικανοποιούν το υπόδειγμα του γράφου που υπάρχει στο ερώτημα. Υπάρχει η δυνατότητα συνδυασμό των παραπάνω για πιο πολύπλοκα ερωτήματα. Ερωτήματα περιεχομένου Οι πληροφορίες που βρίσκονται στο WWW είναι κυρίως σε μη δομημένα αρχεία σε αντίθεση με αυτό που έχουμε στις βάσεις. Για να μπορέσουμε όμως να βρούμε αυτό που θέλουμε, κάνουμε ερωτήσεις στα αρχεία που έχουν τις πληροφορίες. Τα αρχεία στο WWW περιέχουν συνήθως μετα-πληροφορίες που κωδικοποιούνται με συγκεκριμένες εντολές, για παράδειγμα <title> στην Html. Φυσικά είναι δύσκολο, να ορίσουμε εξαρχής μια γλώσσα για τον κόμβο-περιεχόμενο για κάθε φόρμα αρχείων. Η λύση που προσφέρει η W3QL είναι να συμπεριφέρεται στις συνθήκες περιεχομένου σαν οδηγίες εκτέλεσης και αναλαμβάνουν εξωτερικά προγράμματα την εκτέλεση. Οι συνθήκες περιεχομένου ορίζονται με τον καθορισμό προγραμμάτων για την διαχείριση των αρχείων. Για παράδειγμα η συνθήκη, node_format eq Doc && node_author eq John Θα βρει όλα τα αρχεία doc με συγγραφέα τον John Ερωτήματα δομής Ερωτήματα συγκεκριμένης δομής στην W3QL είναι ένας κατευθυνόμενος γράφος, στον οποίο οι κόμβοι και οι ακμές ακολουθούν τις συνθήκες. Οι συνθήκες είναι αυτές 6
9 από το ερώτημα για το περιεχόμενο. Η απάντηση σε ένα ερώτημα δομής είναι ένα σύνολο υπο-γράφων του WWW όπου: Κάθε WWW γράφος πρέπει να είναι παρόμοιος με τον γράφο ερωτήματος. Η τοπολογία ενός γράφου εκφράζεται από ένα σύνολο ορισμού μονοπατιών. Δηλαδή n1,l1,n2,l2,n3 ορίζει ένα μονοπάτι τριών κόμβων από τον n1 στον n2 μέσω της ακμής l1και από τον n2 στον n3 μέσω της ακμής l2. 7
10 WebLog Στην γλώσσα επερωτήσεων WebLog, η σύνταξη και η σημασιολογία στηρίζεται στην λογική. Σε αυτές τις γλώσσες, υπάρχει μια απλή αντίληψη του σχήματος και οι σελίδες θεωρείται ότι είναι μέσα σε ένα τύπο, για παράδειγμα, σαν κόμβοι σε ένα γράφο όπου οι περισσότεροι έχουν συγκεκριμένο σύνολο γνωρισμάτων. Διαφοροποιείται από τις παραπάνω γλώσσες, στο ότι χρησιμοποιεί συμπερασματικούς κανόνες και όχι SQL. Θα μπορούσαμε να πούμε ότι η WebLog είναι σαν την Datalog γλώσσα για την επερώτηση και την αναδιάρθρωση του WWW. Η WebLog είναι κατάλληλη για α) επερωτήσεις και αναδόμηση των πληροφοριών του Web b) εξαγωγή μερικών γνώσεων, τις οποίες έχουν οι χ ρηστες στις επερωτήσεις τους. c) επερωτήσεις σε δυναμικές πληροφορίες στο web. Οι σημερινές μηχανές αναζήτησης, έχουν τα εξής προβλήματα: Μερικές γνώσεις που ο χρήστης μπορεί να αναζητάει, δεν εξάγονται από την σελίδα. Η ικανότητα της αναδόμησης είναι ελάχιστη ή μηδαμινή. Δεν υπάρχει δυνατότητα για αξιοποίηση εξωτερικών διαθέσιμων βιβλιοθηκών συναρτήσεων επεξεργασίας συμβολοσειρών και εγγράφων. Η ποιότητα των αποτελεσμάτων είναι συμβιβαστική σε σχέση με την δυναμική κατάσταση των εγγράφων στο Web. Για αυτό αναζητήθηκε η λύση μιας γλώσσας επερώτησης, όπως η WebLog. Μερικά από τα σημαντικά σημεία της είναι: Παρέχει ένα δηλωτικό interface τόσο για επερωτήσεις όσο και για αναδόμηση. Διανέμει μερική γνώση, που ο χρήστης μπορεί να αναζητάει. Αναγνωρίζει την δυναμική φύση των πληροφοριών στο Web. Σύνταξη Χρησιμοποιούμε συμβολοσειρές με μικρό το πρώτο γράμμα για να δηλώσουμε σταθερές και κεφαλαίο για μεταβλητή. Το λεξικό της WebLog αποτελείται από ζευγάρια αριθμήσιμων συνόλων G (σύμβολα συναρτήσεων), S (σύμβολα μησυναρτήσεων), V (μεταβλητές) και οι συνήθης λογικοί σύνδεσμοι,.,,, Κάθε 8
11 σύμβολο στο S V είναι όρος της γλώσσας. Αν f G τότε είναι μια n-συνάρτηση και t 1,, t n είναι όροι, τότε f(t 1,, t n ) είναι όρος. Ένας ατομικός τύπος στην WebLog είναι η έκφραση ενός από τους ακόλουθους όρους: <url>[<rid>:<attr>->><val>] <url>[<rid>:<attr>-><val>] <url>[<attr>] <url> Όπου <url>,<rid>,<attr> και <val> είναι όροι της WebLog. Παράδειγμα Web,hlink->>L, occurs ->> example ] Σε αυτό το παράδειγμα, η url διεύθυνση είναι ο όρος url, οι όροι title, hlink και occurs είναι attr όροι, Χ είναι ο όρος rid και οι υπόλοιποι όροι είναι οι val όροι. Σημασιολογία Hyperlink Navigation and Searching Ttitles Ένα από τα πρωτότυπα χαρακτηριστικά της WebLog είναι ότι συμπεριφέρεται στα hyperlinks σαν πρώτης τάξης πολίτες. Αυτό επιτρέπει την πλοήγηση σε html έγγραφα χρησιμοποιώντας ένα WebLog πρόγραμμα. Παράδειγμα Θέλουμε να επιλέξουμε όλες τις δημοσιεύσεις που αναφέρονται σε html έγγραφα και εμφανίζονται στην σελίδα Database Systems & Llogical Programming. Επίσης θέλουμε αυτή η συλλογή, να περιέχει τον τίτλο του αρχείου και τον συγγραφέα. Η εντολή είναι η ακόλουθη: Ans.html[title-> all citations,hlinks->>l, occurs->>t] <- leyurl[hlink->>l],hreff(l,u),u[title->t]. Leyurl είναι η διεύθυνση της σελίδας Database Systems & Llogical Programming. Η μεταβλητή L στην πρώτη επίτευξη μεταβάλετε σε όλα τα hyperlinks στο leyurl. Το ενσωματωμένο κατηγόρημα href χρησιμοποιείται για πλοήγηση στις δημοσιεύσεις στην σελίδα στο leyurl. Ο κανόνας δημιουργεί μια νέα σελίδα html ans.html που είναι συλλογή όλων των δημοσιεύσεων στο leyurl. Querying Keywords in Documents Ley server είναι η συλλογή των εγγράφων από το leyurl. Αυτά τα έγγραφα έχουν την ιδιότητα να: Μπορούν να τα φτάσουν από links πλοήγησης. Τα url τους θα έχουν το πρόθεμα το leyurl. 9
12 Lorel Η γλώσσα Lorel σχεδιάστηκε για επερωτήσεις σε ημιδομημένα δεδομένα. Τα ημιδομημένα δεδομένα γίνονται όλο και πιο διαδεδομένα, για παράδειγμα σε δομημένα έγγραφα όπως html, όταν προκαλούμε ένταξη δεδομένων από πολλαπλές πηγές. Τα παραδοσιακά μοντέλα δεδομένων και γλώσσες επερωτήσεων, δεν είναι κατάλληλα αφού τα ημι-δομημένα δεδομένα δεν έχουν κανονική μορφή, μερικά δεδομένα λείπουν, παρόμοιες έννοιες παρουσιάζονται με διαφορετικούς τύπους, υπάρχουν ετερογενή σύνολα. H Lorel είναι μια φιλική γλώσσα στο στιλ της SQL/OQL για επερωτήσεις τέτοιων δεδομένων. Για λόγους ευρεία συμβατότητας το απλό μοντέλο αντικειμένου μπορούμε να το βλέπουμε σαν μια επέκταση του μοντέλου δεδομένων ODMG και την Lorel γλώσσα σαν επέκταση της OQL Οι κύριες καινοτομίες της Lorel είναι: 1. Η απαλλαγή του χρήστη από την αυτηστή χρήση εντολών της OQL που είναι άστοχη για ημι-δομημένα δεδομένα. 2. Ισχυρές εκφράσεις μονοπατιού που επιτρέπουν προσαρμόσιμο σχήμα δηλωτικής πλοήγησης πρόσβασης και είναι μερικώς διαθέσιμα όταν οι πληροφορίες της δομής δεν είναι γνωστές στον χρήστη. Lorel είναι η υλοποίηση της γλώσσας επερώτησης συστήματος διαχείρισης βάσεων Lore. Το Web δεν περιορίζει την δομή των html αρχείων. Όταν κάνουμε επερωτήσεις σε ημι-δομημένα δεδομένα, δεν μπορούμε να ξέρουμε την πλήρη δομή, ειδικά αν έχουμε δυναμική δομή. Για αυτό είναι απαραίτητο, να μην απαιτείται πλήρη γνώση της δομής για να κάνουμε επερωτήσεις. Παράδειγμα Να βρεθούν τα ονόματα και οι ταχυδρομικοί κώδικες, από όλα τα φθηνά εστιατόρια. Δεν γνωρίζουμε αν ο ταχυδρομικώς κώδικας είναι μέρος της διεύθυνσης αλλά μπορεί από μόνο του να είναι ένα αντικείμενο του εστιατορίου. Επίσης δεν ξέρουμε αν η συμβολοσειρά φθηνά θα είναι μέρος της κατηγορίας, τιμής, περιγραφής ή άλλου αντικειμένου του εστιατορίου. Μπορούμε να κάνουμε το επερώτημα στην Lorel ως εξής: select Guide.restaurant.name, Guide.restaurant(.address)?.zipcode where Guide.restaurant.% grep "φθηνό" To? μετά την.address, σημαίνει ότι η διεύθυνση είναι προαιρετική στο στην έκφραση του μονοπατιού. Ο χαρακτήρας % θα ταιριάζει οποιαδήποτε αντικείμενο του εστιατορίου και ο χειριστής grep θα επιστρέψει true αν υπάρχει η συμβολοσειρά φθηνά σε κάποιο αντικείμενο. Το μοντέλο δεδομένων που υπάρχει στην Lorel λέγεται OEM (Object Exchange Model). Μια βάση που προσαρμόζεται σε ΟΕΜ μπορούμε να την φανταστούμε ως έναν γράφο με πολύπλοκες τιμές στους εσωτερικούς κόμβους, ατομικές τιμές στους κόμβους-φύλλα και ακμές με ετικέτες. 10
13 Για να ορίσουμε την σημασιολογία της Lorel πάνω σε μια OEM βάση με όρους OQL και ODMG, προσθέτουμε έναν νέο τύπο στο ODMG μοντέλο για την αναπαράσταση OEM αντικειμένων. Τότε ένα σημαντικό θέμα στην Lorel είναι η επέκταση της ισότητας στην OQL για να διαχειρίζεται OEM αντικείμενα. Object Exchange Model To Object Exchange Model είναι ένα μοντέλο δεδομένων για την αναπαράσταση των ημι-δομημένων δεδομένων. Τα δεδομένα που αναπαριστώνται στο ΟΕΜ θεωρούνται γράφος. Στο μοντέλο δεδομένων OEM όλες οι οντότητες είναι αντικείμενα. Κάθε αντικείμενο έχει μοναδικό αναγνωριστικό αριθμό. Μερικά αντικείμενα είναι ατομικά και περιέχουν και περιέχουν μια τιμή από βασικούς τύπου δεδομένων π.χ. ακέραιος, πραγματικός και λοιπά. Όλα τα άλλα αντικείμενα είναι πολύπλοκα, η τιμή τους είναι ένα σύνολο από αναφορές σε αντικείμενα, δηλωμένα σαν σύνολο από ζευγάρια (label, object identifier). Απλές εκφράσεις μονοπατιών Όταν γίνονται επερωτήσεις σε ημι-δομημένα δεδομένα, ειδικά όταν δεν είναι γνωστή η δομή, είναι συνετό να χρησιμοποιείται σχήμα από επερώτηση πλοήγησης που στηρίζεται στις εκφράσεις των μονοπατιών. Η ιδέα είναι να οριστούν μονοπάτια στο OEM γράφο που στηρίζονται στην σειρά των ετικετών στις ακμές. Οι απλές εκφράσεις μονοπατιών, επιτρέπουν στους χρήστες να βρουν το σύνολο των αντικειμένων που είναι προσβάσιμα, ακολουθώντας μια σειρά από ετικέτες ξεκινώντας από ένα αντικείμενο στο γράφο του OEM. Μια απλή έκφραση μονοπατιού, είναι η σειρά Z.l1 l2 όπου l1 l2 είναι ετικέτες και το Ζ είναι το όνομα ενός αντικειμένου ή μια μεταβλητή που δηλώνει ένα αντικείμενο. Ένα μονοπάτι δεδομένων είναι μια σειρά o 0,l 1,o 1,,l n,o n όπου o i είναι αντικείμενα και για κάθε i υπάρχει μία ακμή με το όνομα l i μεταξύ του o i-1 και o i. Ξεκινώντας από ένα αντικείμενο Ζ = o 0 μπορούν να υπάρχουν αρκετά μονοπάτια δεδομένων που ταιριάζουν στην απλή έκφραση μονοπατιού Z.l 1 l 2. Για παράδειγμα υποθέτουμε ένα αντικείμενο με το όνομα Guide και την απλή έκφραση του μονοπατιού Guide.A.B.C. Αυτό το μονοπάτι μπορεί να ερμηνευτεί με πλοήγηση ως εξής: Εκκίνηση από το αντικείμενο Guide, μετά την ακμή Α, μετά την ακμή Β, και τελικά την ακμή C. Αφού υπάρχουν πολλές πιθανές ακμές με το όνομα A,B,C η έκφραση του μονοπατιού μπορεί να ταυτιστεί με έναν αριθμό μονοπατιών στο OEM γράφο. Εναλλακτικά μπορούμε να ερμηνεύσουμε αυτή την έκφραση μονοπατιού χρησιμοποιώντας OQL-στιλ object-component αναφορά: Guide:A ορίζει ένα σύνολο από αντικείμενα R με μια ακμή Α από το Guide στο R, Guide.A.B ορίζει τα αντικείμενα Ζ τα οποία για μερικά R στο Guide:A υπάρχει ακμή Β από το R στο Z, παρόμοια για το Guide.A.B.C. Lorel ερώτημα select Z from Guide.restaurant.zipcode Z 11
14 OQL ερώτημα select Z from Guide.restaurant R, R.zipcode Z Τα ερωτήματα στην Lorel δεν χρειάζεται να έχουν from, δηλαδή το ερώτημα select Guide.restaurant.name where Gguide.restaurant.category= gourmet γίνεται σε select Guide.restaurant.name from Guide.restaurant where Gguide.restaurant.category= gourmet Γενικές εκφράσεις μονοπατιών Οι συνήθης εκφράσεις μονοπατιών είναι ένας ισχυρός μηχανισμός για την εύρεση αντικειμένων στην βάση. Παραδείγματα: Guide.restaurant(.address)?.zipcode Αυτή η έκφραση δηλώνει ότι ξεκινάει από το Guide, συνεχίζει μια ακμή του restaurant, μετά το zipcode και ενδιάμεσα προαιρετικά η διεύθυνση. Guide.restaurant.#@P.comp%.name Αυτή η έκφραση, αγνοώντας ξεκινάει από το Guide, συνεχίζει με ακμή του restaurant, ακολουθεί ένας αυθαίρετος αριθμός ακμών με μη προσδιορισμένο όνομα (σύμβολο #), ακολουθεί ακμή που η ετικέτα της ξεκινάει με comp (comp%) και τελικά τερματίζει με μια ακμή name. Η μεταβλητή του μονοπατιού P έχει ως όριο σε κάθε μονοπάτι δεδομένων. Guide.restaurant(.nearby)*{R}.name Αυτή η έκφραση, αγνοώντας τον όρο {R}, ξεκινάει από το Guide, συνεχίζει με ακμή του restaurant, ακολουθεί ένας αυθαίρετος αριθμός κοντινών ακμών και τελικά τερματίζει με μια ακμή name. Ο όρος {R} είναι πολύ χρήσιμος γιατί είναι ένας συνεκτικός τρόπος για την προσθήκη μεταβλητών σε αντικείμενα στην μέση μεγάλων μονοπατιών. Παράδειγμα Αν θέλουμε να βρούμε τα ονόματα όλων των εστιατορίων με ταχυδρομικό κωδικό είτε στην διεύθυνσή του είτε ως πεδίο στο εστιατόριο, τότε έχουμε: 12
15 select Guide.restaurant.name where Guide.restaurant(.address)?.zipcode=11573 Είναι σημαντικό να αναφερθεί ότι ενώ απλές εκφράσεις μονοπατιών μπορούν πάντα να μεταφραστούν σε OQL, δεν μπορεί να γίνει το ίδιο και με τις γενικές εκφράσεις μονοπατιών. Κατασκευή αποτελεσμάτων Ένα ερώτημα select-from-where στην Lorel έχει την ίδια σημασιολογία με ένα ερώτημα select-from-where της SQL ή OQL επιστρέφει ένα σύνολο αποτελεσμάτων. Στην Lorel το αποτέλεσμα είναι πάντα μια συλλογή OEM αντικειμένων και υπάρχει περιορισμός της ύπαρξης δύο ίδιων αντικειμένων από το object identifier. Για ένα top-level ερώτημα (για παράδειγμα ερώτημα που δεν έχει ενσωματωμένο υποερώτημα), η τελική συλλογή είναι πακέτο σε ένα μόνο OEM αντικείμενο. Παράδειγμα select X from Guide.restaurant X Απάντηση: Answer &155 restaurant &19 restaurant &35 restaurant &77 Παρατηρούμε ότι μόνο το 155 είναι νέο αντικείμενο. Το αποτέλεσμα του ερωτήματος μπορεί να χρησιμοποιηθεί αργότερα, σε άλλα ερωτήματα. 13
16 WebOQL Το σύστημα WebOQL συνδυάζει αρχιτεκτονική, μοντέλο δεδομένων, και γλώσσα επερώτησης ώστε να παίρνουμε πληροφορίες από δομημένα έγγραφα χωρίς να χρειαζόμαστε την βοήθεια εξωτερικών προγραμμάτων. Το μοντέλο δεδομένων WebOQL υποστηρίζει τις απαραίτητες ενέργειες για εύκολη μοντελοποίηση recordbased δεδομένων, δομημένων εγγράφων και hypertexts. Η γλώσσα επερώτησης μας επιτρέπει να αναδομήσουμε τις 3 περιπτώσεις που αναφέραμε. Η WebOQL συνθέτει ιδέες από γλώσσες επερωτήσεων για το web, για ημιδομημένα δεδομένα, για αναδόμηση website και κάνει σημαντικές συνεισφορές, ειδικά η ιδέα επερώτησης εγγράφων με την διαχείριση συντακτικών δέντρων και την υποστήριξη του web ως τύπο δεδομένων. Στην WebOQL ένα συντακτικό δέντρο για κάθε έγγραφο ίδιας οικογένειας (π.χ. html) δημιουργείται από τον ίδιο wrapper, οποιαδήποτε και αν είναι η δομή του εγγράφου. Η γλώσσα είναι αρκετά ισχυρή για να κάνει επερώτηση ή να αλλάξει την δομή σε αυτά τα δέντρα με αρκετούς τρόπους. Web Queries Με μια web γλώσσα επερωτήσεων, όπως η WebSQL, W3QS, WebLog, μοιραζόμαστε την ιδέα της εμφάνισης του web σαν μια βάση που μπορούμε να κάνουμε επερωτήσεις. Αυτές οι γλώσσες όμως έχουν ένα μεγάλο περιορισμό, έλλειψη αξιοποίησης της δομής των εγγράφων. Της WebOQL το υπόδειγμα πλοήγησης είναι η γενίκευση της WebSQL γενικές εκφράσεις μονοπατιών. Semistructured Data Το μόνο εμπόδιο στην αξιοποίηση της εσωτερικής δομής των Web εγγράφων είναι η έλλειψη σχήματος ή τύπου και η πιθανή έλλειψη κανονικής μορφής που μπορεί να προκύψει. Το πρόβλημα της επερώτησης δεδομένων που η δομή τους είναι άγνωστη ή μη κανονική έχει αναφερθεί ξανά, και καλείται γλώσσα επερώτησης ημιδομημένων δεδομένων. Αυτά τα συστήματα χρησιμοποιούν πολύ χαμηλού επιπέδου αναπαράσταση δεδομένων, που στηρίζεται σε γράφους. Ένα πρόβλημα με μοντέλα ημιδομημένων δεδομένων είναι ότι παρέχουν κυρίως labeled graphs. Δεν υποστηρίζουν ordered collections. Η υποστήριξη της order είναι ένα στοιχείο-κλειδί για την μοντελοποίηση δομημένων εγγράφων, αναφορικά, μας επιτρέπει να μοντελοποιούμε hyperlinks μεταξύ εγγράφων χρησιμοποιώντας εγγραφές που μπορούμε εύκολα να αναπαραστήσουμε σχεσιακούς πίνακες χωρίς να επινοήσουμε encodings για να τα προσομοιώσουμε. 14
17 Hypertrees Η κύρια δομή δεδομένων που παρέχεται από την WebOQL είναι η hypertree. Hypertrees είναι κατευθυνόμενα δένδρα με labels στα βέλη. Υπάρχουν δύο ειδών βέλη, τα εσωτερικά και τα εξωτερικά. Τα εσωτερικά βέλη χρησιμοποιούνται για την αναπαράσταση δομημένων αντικειμένων και τα εξωτερικά για την αναπαράσταση hyperlinks μεταξύ των αντικειμένων. Στα διαγράμματα, χρησιμοποιούμε πλήρης γραμμές για τα εσωτερικά βέλη και διακεκομμένες γραμμές για τα εξωτερικά βέλη. Τα εξωτερικά βέλη, δεν μπορούν να έχουν απογόνους και η εγγραφή που έχουν ως label πρέπει να είναι ένα Url. Urls είναι συμβολοσειρές. Τα Hypertrees είναι πολύ χρήσιμες δομές δεδομένων επειδή ταξινομούν τις τρεις ιδέες που θέλουμε να υποστηρίξουμε: collections, nesting και ordering. Με την διαφοροποίηση μεταξύ εσωτερικών και εξωτερικών βελών, η αντίληψη της αναφοράς φαίνεται από τα δέντρα και το γεγονός ότι οι labels είναι εγγραφές, μας επιτρέπουν, να αναπαραστήσουμε τις συλλογές των εγγραφών. Όταν μοντελοποιούμε πληροφορίες που βρίσκονται στο Web, ένα hypertree θα αντιστοιχήσει σε ένα έγγραφο. Όμως ένα hypertree μπορεί να αναπαραστήσει και ένα σχεσιακό πίνακα, μια ιεραρχία φακέλων και λοιπά. Webs Παρόλο που τα hypertrees είναι το κλειδί στο WebOQL, υποστηρίζεται και ένα υψηλότερο επίπεδο αφαίρεσης που μας επιτρέπει να μοντελοποιήσουμε σύνολα συσχετισμένων hypertrees, το web. Ένα web είναι ένα ζευγάρι (t,f) που αποτελείται από ένα hypertree t και μια συνάρτηση F που αντιστοιχεί Urls σε hypertrees. Αναφερόμαστε σε αυτά τα δύο components σαν σχήμα και browsing fuction του web, αντίστοιχα. Επίσης το ζευγάρι που αποτελείται από ένα Url u και το hypertree F(u) είναι σελίδα στο web και επίσης λέμε F(u) είναι το περιεχόμενο της σελίδας. Η συνάρτηση αναζήτησης (browsing fuction) ορίζει ένα γράφο όπου οι κόμβοι είναι σελίδες και υπάρχει βέλος μεταξύ του κόμβου a και του κόμβου b αν το περιεχόμενο της σελίδας στον κόμβο a περιέχει ένα εξωτερικό βέλος του οποίου το Url, είναι το Url της σελίδας στον κόμβο b. Ένα web μπορεί να χρησιμοποιηθεί για να μοντελοποιήσουμε ένα σύνολο από συσχετιζόμενες σελίδες. Τόσο τα hypertrees οσο και το web μπορούν να τα διαχειριστούμε χρησιμοποιώντας WebOQL. Η γλώσσα Η κύρια κατασκευή που παρέχετε από την WebOQL είναι η οικειότητα με selectfrom-where. Ας δούμε ένα παράδειγμα από την χρήση του. Αν υποθέσουμε ότι το όνομα cspapers ορίζει την βάση των papers και θέλουμε να εξάγουμε τον τίτλο και το Url της πλήρης έκδοσης των papers με συγγραφέα τον Smith. Το ακόλουθο είναι το ερώτημα: Q1: select [ y.title, y.url ] from x in cspapers, y in x where y.authors ~ Smith 15
18 Στο ερώτημα, το x επαναλαμβάνει στα απλά δέντρα της cspapers και δίνοντας μια τιμή στο x, το y επαναλαμβάνει στα απλά δέντρα του μοναδικού υποδέντρου του x. To quote είναι το σύμβολο για το prime operator, το οποίο επιστρέφει το πρώτο υποδέντρο από το όρισμά του. Η τελεία είναι το σύμβολο για το peek operator, το οποίο εξάγει ένα πεδίο από την εγγραφή με label το πρώτο απερχόμενο βέλος από το όρισμά του. Οι αγκύλες δηλώνουν το Hang operator, που δημιουργεί ένα arc labeled με μια εγγραφή με τα ορίσματα. Τέλος η περισπωμένη αναπαριστά το ταίριασμα του πρότυπου συμβολοσειράς. Η απάντηση σε ένα select-from-where ερώτημα αποκτάτε ως εξής: για κάθε μεταβλητή στην ενότητα from, γίνεται έλεγχος της συνθήκης στην ενότητα where, αν είναι αλήθεια, αξιολογείτε το ερώτημα στο select και προστίθεται το αποτέλεσμα στην απάντηση. Η WebOQL παρόλο που διατηρεί όλες τις εξερευνητικές δυνατότητες για εσωτερικά έγγραφα, έχει πολύ ισχυρά χαρατηριστικά εξαγωγής δεδομένων από εσωτερικά έγγραφα. Αυτό το κάνει πολύ καλό για δημιουργία εφαρμογών που παραλαμβάνουν και ενώνουν πληροφορίες από υπάρχον web sites. 16
19 Strudel Η γλώσσα αναζήτησης για το σύστημα διαχείρισης ιστοσελίδας STRUDEL είναι η STRUQL. Παρόλα αυτά η STRUQL αναπτύχθηκε στο περιβάλλον μιας συγκεκριμένης διαδικτυακής εφαρμογής. Είναι μια γενικού σκοπού γλώσσα αναζήτησης βασισμένη σε ένα μοντέλο δεδομένων από μαρκαρισμένους κατευθυντικούς γράφους. Επιπρόσθετα το μοντέλο δεδομένων STRUDEL περιέχει ονομασμένες συλλογές και υποστηρίζει διάφορους ατομικούς τύπους, όπου συχνά εμφανίζονται σε ιστοσελίδες, όπως URLs, Postscript, κείμενα, εικόνες και HTML αρχεία. Το αποτέλεσμα από μια αναζήτηση STRUQL είναι ένας γράφος με ίδιο μοντέλο δεδομένων όπως και οι γράφοι εισόδου. Στο σύστημα STRUDEL η STRUQL χρησιμοποιήθηκε για δύο εφαρμογές: 1) Αναζήτηση ετερογενών πηγών για να τις μετατρέψει σε μια ιστοσελίδα που είναι γράφος δεδομένων 2) Αναζήτηση σε αυτό το γράφο για να παράξει μια ιστοσελίδα γράφο. Μια STRUQL αναζήτηση είναι ένα σύνολο από δυνατά εμφωλιασμένα μπλοκς, το καθένα της μορφής: [Where C1,..,Ck] [Create N1,..,Nn] [Link L1,...,Lp] [Collect G1,..,Gq] Η where πρόταση μπορεί να περιέχει είτε συνθήκες μελών είτε συνθήκες ζευγαριών από κόμβους που εκφράζονται με κανονικές εκφράσεις. Η where έκφραση παράγει όλους τους σύνδεσμους ενός κόμβου και και το arc ποικίλει ανάλογα με τις τιμές στο γράφο εισόδου. Οι υπόλοιπες προτάσεις χρησιμοποιούν Skolem συναρτήσεις για να κατασκευάσουν ένα νέο γράφο από αυτούς τους συνδέσμους. Παρακάτω αναφέρουμε STRUQL με μια αναζήτηση καθορίζοντας μια ιστοσελίδα ξεκινώντας από ένα αρχείο βιβλιογραφίας που είναι καθορισμένος γράφος. Η ιστοσελίδα θα αποτελείται από τρία είδη σελίδων: μια παρουσίαση δημοσίευσης για κάθε είσοδο βιβλιογραφίας, μια σελίδα χρόνου έκδοσης και μια κεντρική σελίδα, η οποία θα δείχνει σε όλες τις δημοσιεύσεις, όπου έχουν δημοσιευθεί σε όλα αυτά τα χρόνια. // Create Root create RootPage() // Create a presentation for every publication x where Publications(x), x->l->v create PaperPresentation(x) link PaperPresentation(x) -> l -> v { // Create a page for every year where l = "year" create YearPage(v) link YearPage(v) -> "Year" -> v 17
20 YearPage(v)->"Paper"->PaperPresentation(x), // Link root page to each year page RootPage() -> "YearPage" -> YearPage(v) } Στην where πρόταση, το Publications(x) σημαίνει ότι το χ ανήκει σε μια συλλογή από δημοσιεύσεις και το atomx! l! v δηλώνει ότι υπάρχει ένας σύνδεσμος μέσα στο γράφο από x to v και η ετικέτα στο τόξο είναι l. Η ίδια παρατήρηση συμβαίνει και στη πρόταση του link όπου αναφέρει πρόσφατες δημιουργημένα κορυφές στο γράφο αποτελέσματος. Αφού δημιουργήσει τη κεντρική σελίδα, το CREATE παράγει μια σελίδα για κάθε δημοσίευση. Το δεύτερο CREATE, εμφωλιασμένο μέσα στην εξωτερική αναζήτηση παράγει τη σελίδα χρόνου για κάθε χρόνο και τη συνδέει με τι κεντρική σελίδα και τις σελίδες που παρουσιάζουν τις δημοσιεύσεις, που έγιναν εκείνο το χρόνο. Να επισημάνουμε εδώ πως η σελίδα χρόνου εγγυάται ότι κάθε σελίδα χρόνου για συγκεκριμένο χρόνο δημιουργείται μόνο μια φορά, άσχετα πόσες δημοσιεύσεις είχαν δημοσιευτεί σε αυτό το χρόνο. Χαρακτηριστικά Ενοποιεί δεδομένα από διαφορετικές πηγές Υψηλού επιπέδου δηλωτική γλώσσα για διαχείριση δομής σελίδας (Struql) Πλεονεκτήματα Παράγει πολλαπλές σελίδες από τα ίδια δεδομένα Υποστηρίζει την έυκολη αναδόμηση και αναδιαμόρφωση Παρέχει πλατφόρμα για: 1) ενδυνάμωση της ακεραιότητας των περιορισμών 2) σχεδίαση πολιτικής για αποτελεσματικό χρόνο εκτέλεσης διαχείρισης των σελίδων 18
21 Η αρχιτεκτονική αυτού του συστήματος διαχείρισης σελίδας STRUDEL φαίνεται στο παρακάτω διάγραμμα: H Strudel είναι βασισμένη πάνω σε ένα μοντέλο ημιδομημένων δεδομένων: Καθορισμένων κατευθυνόμενω γράφων οι κόμβοι στους γράφους παρουσιάζουν τα αντικείμενα Οι ετικέτες πάνω στα τόξα αναπαριστούν τα ονόματα των γνωρισμάτων Ονοματιζόμενες συλλογές. Ποιος ο λόγος για ημιδομημένα δεδομένα; Τα ανεπεξέργαστα δεδομένα είναι συνήθως ημιδομημένα Εύκολο για ενοποίηση δεδομένων web-sites είναι τελικά γράφοι. 19
22 Florid H Florid είναι μια πρωτότυπη υλοποίηση της F-logic. Για να χρησιμοποιηθεί ως μια μηχανή αναζήτησης του web θα πρέπει ένα web κείμενο να μοντελοποιηθεί με βάση τις δύο παρακάτω κλάσεις: url::string [get => webdoc] webdoc::string[url => url; author => string; modif =>string; type => string; hrefs@(string) =>> url; error =>> string] Η πρώτη δήλωση εισάγει μια κλάση url, υποκλάση ενός string με τη μέθοδο get. H εντολή get =>webdoc σημαίνει ότι το get είναι μια μέθοδος που επιστρέφει ένα αντικείμενο τύπου webdoc. Η μέθοδος get καθορίζεται από το σύστημα. Το αποτέλεσμα της επίδρασης της εντολής get για ένα url u είναι να ανακτήσει από το web το κείμενο με εκείνο το URL και να το αποθηκεύσει στη τοπική FLORID βάση δεδομένων ως ένα αντικείμενο webdoc, με αντικείμενο αναγνώρισης τη u.get. H κλάση webdoc με μεθόδους self, author, modif, type, hrefs kai error μοντελοποιεί τη βασική πληροφορία που είναι κοινή με όλα τα web documents. H πρόταση hrefs@(string) =>> url σημαίνει ότι η μέθοδος hregs παίρνει ένα string ως είσοδο και επιστρέφει ένα σύνολο αντικειμένων τύπου url. Η ιδέα είανι ότι αν το d είναι ένα webdoc, τότε το d.hreds@(alabel) επιστρέφει όλα τα urls των κειμένων που δείχνουν σε μέσα στο κείμενο d, από όλα τoυς συνδέσμους με το όνομα αlavel. Οι υποκλάσεις κειμένων μπορούν να δηλωθούν ως απαραιτήτες χρησιμοποιώντας την F-logic κληρονομικότητα. Htmldoc::webdoc[title => string; text =>string] Για παράδειγμα το παρακάτω πρόγραμμα τραβά από το web το σύνολο όλων των κειμένω που μπορούν να ανακτηθούν άμεσα ή έμμεσα από το url από συνδέσμους που περιέχουν το string database. ( :url).get (Y:url).get <- (X:url).get [hreds@(l) =>> {Y}] Substt ( database,l) 20
23 Επιπλέον η FLORID παρέχει μια δυνατή μέθοδο για διαχείριση ημιδομημένων δεδομένων μέσα σε ένα περιβάλλον web. Δεν υποστηρίζει παραυτά τη δομή νέων webs ως αποτέλεσμα μιας αναζήτησης. Το αποτέλεσμα πάντα είναι ένα σύνολο F- logic αντικειμένων αποθηκευμένο στην τοπική βάση δεδομένων. 21
24 Araneus Project Στο project Araneus, η αναζήτηση και η διαδικασία αλλαγής δομής διακρίνεται σε δύο φάσεις. Στη πρώτη φάση η Ulixes γλώσσα χρησιμοποιείται για να κατασκευάσει σχεσιακές όψεις πάνω στο web. Αυτές οι όψεις μπορεί να αναλυθούν και να μετατραπούν χρησιμοποιώντας συγκεκριμένες τεχνικές βάσεων δεδομένων. Οι Ulixes αναζητήσεις εξάγουν σχεσιακά δεδομένα από στιγμιότυπα σχημάτων σελίδων καθορισμένα στο ADM (Araneus Data Model) model, κάνοντας βαριά χρήση από εκφράσεις μονοπατιών. Η δεύτερη φάση αποτελείται από παραγόμενες όψεις δεδομένων χρησιμοποιώντας τη Penelope γλώσσα. Η αρχικτεκτονική αυτού του συστήματος διαχείρισης σελίδας φαίνεται στο παρακάτω διάγραμμα: To Araneus εισάγει νέα εργαλεία και τεχνικές για διαχείριση ιστοσελίδας και βάσης δεδομένων. Το σύστημα, που φαίνεται παραπάνω, είναι κατασκευασμένο με java και τρέχει πάνω σε πλατφόρμα java. Το interface του χρήστη είναι ολοκληρωτικά γραμμένα σε γλώσσα HTML, έτσι ώστε οι τελικοί αποδέκτες και διαχειριστές να μπορούν να έχουν στο σύστημα από οποιοδήποτε client στο δίκτυο. Λόγω της ετερογενής φύσης των βάσεων δεδομένων διαδικτύου πολλά μοντέλα δεδομένων αλλά και γλώσσες έχουν χρησιμοποιηθεί. 22
25 Από τη δική μας πλευρά, τα δομημένα δεδομένα είναι κυρίως πίνακες βάσεων δεδομένων. Ως εκ τούτου το μοντέλο δεδομένων που έχει χρησιμοποιηθεί για να περιγράψει τα δεδομένα είναι το σχεσιακό μοντέλο και η αντίστοιχη γλώσσα περιγραφής SQL. Η υιοθεσία του σχεσιακού μοντέλου παρέχει τεράστιες δυνατότητες. Λέμε ένα μοντέλο ότι είναι page-oriented, με την έννοια ότι οι σελίδες έχουν ενα κεντρικό ρόλο. Κάθε σελίδα θεωρείται ως ένα αντικείμενο με αναγνωριστικό (identifier), URL, και ένανα αριθμό γνωρισμάτων. Τα γνωρίσματα μπορεί να είναι είτε ατομικά, όπως string, εικόνες και συνδέσμους σε άλλες σελίδες είτε ομαδικά. Τα ομαδικά γνωρίσματα είναι κυρίως λίστες από μια ακολουθία γνωρισμάτων ίσως και εμφωλιασμένων μεταξύ τους. Οι σελίδες είναι ομαδοποιημένες σε page-schemes, το οποίο μοιάζει κατά πολύ με το σχεσιακό σχήμα ή τις κλάσεις στις βάσεις δεδομένων, όπως οι συλλογές αντικειμένων από ετερογενείς δομές. Με άλλα λόγια μια ιστοσελίδα είναι μια συλλογή από page-schemes συνδεδεμένα μεταξύ τους με συνδέσμους (links). Το σύστημα ARANEUS επιτρέπει την αναζήτηση σε ιστοσελίδες που χρησιμοποιούν μια γλώσσα που ονομάζεται ULIXES (αναφέρθηκε παραπάνω). Όμως η αναζήτηση απομακρυσμένων σελίδων τα οποία δεν είναι υπό τη άμεση διαχείριση του συστήματος απαιτεί μια πιο σύνθετη διαδικασία. Αυτή έχει ως εξής. Μια περιγραφή ADM (Araneus Data Model) της σελίδας θα πρέπει να παραχθεί αναλύοντας το περιεχόμενο της. Στη συνέχεια από το site θα πρέπει να εξάγουμε δεδομένα από σελίδς και να τα αναγνωρίσουμε ως στιγμιότυπα page-schemes. Αυτοί που αναλαμβάνουν τη παραπάνω δουλειά ονομάζονται wrappers και είναι αυτοί που επιτρέπουν την αναζήτηση και την αναδόμηση των ημιδομημένων κειμένων. 23
26 Unql Ένα ακρώνυμο το οποίο βγαίνει από τα αρχικά των λέξεων Unstructured Data Query Language, που σημαίνει γλώσσα αναζήτησης μη δομημένων δεδομένων. Η ιδέα σε αυτή τη γλώσσα αναζήτησης είναι να περιορίσει τη φόρμα ενός αναδρομικού προγράμματος με το να το δένει αυστηρώς στενά με την αναδρομική δομή των δεδομένων. Η Unql ήταν μια από τις πρώτες γλώσσες αναζήτησης για ημιδομημένα δεδομένα και πληρεί πολλά από τα κριτήρια για μια γλώσσα αναζήτησης δεδομένων (βελτιστοποιημένη άλγεβρα, απλή γλώσσα αναζήτησης, σύνθεση κ.α). Επιπρόσθετα με τη δομημένη αναδρομή, η Unql εισήγαγε την ιδέα της χρησιμοποίησης pattern (μορφής) και template (φόρμας) σε μια απλή επιφανειακή σύνταξη. Μιλώντας όμως πιο ουσιαστικά η Unql είναι ένα μοντέλο σα το σχεσιακό μοντέλο βασισμένο σε τιμές και αυτό επιτρέπει την ανάλογη βελτιστοποίηση με αυτές των σχεσιακών βάσεων δεδομένων. Το κύριο χαρακτηριστικό αυτής της γλώσσας αναζήτησης είναι η δομημένη αναδρομή (structural recursion). H ιδέα αυτού του χαρακτηριστικού είναι ότι η φόρμα του προγράμματος ακολουθεί τη δομή δεδομένων. Οι περιορισμοί, που είναι συντακτικού εγγυώνται ότι η αναδρομή πάντα τερματίζει. Η δομημένη αναδρομή είναι δηλωτική και επιτρέπει βελτιστοποιήσεις αναμενόμενες απο μια γλώσσα αναζήτησης βάσης δεδομένων. 24
27 Συγκριτικός πίνακας Μετά την περιγραφή διάφορων γλωσσών αναζήτησης, καταλήξαμε στο παρακάτω πίνακα όπου φαίνονται συγκεντρωτικά οι γλώσσες. System Data Model Language Style Path Expression Graph Websql Relational SQL YES NO W3QS LMG SQL YES NO WebLOG Relational Datalog NO NO Lorel LG OQL YES NO Weboql hypertrees OQL YES YES UnQL LG Recursion YES YES FLORID F-logic Datalog YES NO Strudel LG Datalog YES YES Araneus Page Schemes SQL YES YES 25
28 Βιβλιογραφία 1. UNQL: A Query language and algebra for semistructured data based on structural recursion. (Peter Buneman, Mary Fernandez, Dan Suciu) 2. Catching the boat with Strudel: Experiences with a web-site management system. (Mary Fernandez, Daniela Florescu, Jaewoo Kang, Alon Levy) 3. Querying the world wide web (Alberto O.Mendelzon, George A. Mihaila, and Tova Milo) 4. The Araneus web-base management system (G. Mecca, P.Atzeni, A.Masci, P.Merial, G.Sindoni) 5. Database Techniques for the world wide web: A survey (Daniela Florescu, Alon Levy, Alberto Mendelzon) 6. Formulating disjunctive coupling queries in a web warehouse (Sourav S Bhowmick, Ang Kho Kiong and Sanjay Madria ) 7. A Declarative Language for Querying and Restructing the Web (Laks V.S. Lakshmanan, Fereidoon Sadri, Iyer N. Subramanian) 8. WebOQL: Restructuring Documents, Databases and Webs (Gustavo O. Arocena, Alberto O. Mendelzon) 9. Information Gathering in the World-Wide Web: The W3QL Query Language and the W3QS System. (David Konopnicki, Oded Shmueli) 10. The Lorel Query Language for Semistructured Data (Serge Abiteboul, Dallan Quass, Jason McHugh, Jennifer Widom, Janet L. Wiener) 11. Lore: A Database Management System for Semistructured Data (Jason McHugh, Serge Abiteboul, Roy Goldman, Dallan Quass, JenniferWidom) 12. Design and Development of Data-Intensive Web Sites: The ARANEUS Approach ( Paolo Merialdo, Paolo Atzeni) 13. Applications of a Web Query Language (Gustavo O. Arocena, Alberto O. Mendelzon, George A. Mihaila) 26
O Παγκόσμιος Ιστός. Χαρακτηριστικά. Μία συλλογή πληροφοριών: Τεράστια Κατανεμημένη Ανομοιογενής Δυναμικά εξελισσόμενη
Ο Παγκόσμιος Ιστός O Παγκόσμιος Ιστός Χαρακτηριστικά Μία συλλογή πληροφοριών: Τεράστια Κατανεμημένη Ανομοιογενής Δυναμικά εξελισσόμενη Με περιορισμένους τρόπους προσπέλασης: Πλοήγηση μέσω συνδέσμων O Παγκόσμιος
Ερωτήσεις σε Ημι-δομημένα δεδομένα. 13/5/2008 Μ.Χατζόπουλος 1
Ερωτήσεις σε Ημι-δομημένα δεδομένα 13/5/2008 Μ.Χατζόπουλος 1 Βάσεις Δεδομένων Οι αποθηκευμένες πληροφορίες είναι γνωστές σαν δομημένα δεδομένα. Σεέναπίνακαόλεςοιπλειάδεςέχουντηνίδια μορφοποίηση Υπάρχει
Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων
Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)
ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams
ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς
Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο
Βάσεις Δεδομένων ΙΙ Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Εισαγωγή Πολλές εφαρμογές διαδικτύου υποστηρίζουν web διεπαφές
Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων
..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα
Information Technology for Business
Information Technology for Business! Lecturer: N. Kyritsis, MBA, Ph.D. Candidate!! e-mail: kyritsis@ist.edu.gr Διαχείριση Επιχειρηματικών Δεδομένων - Databases Ορισμός Βάσης Δεδομένων Συλλογή συναφών αρχείων
Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων
Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Βάσεις Δεδομένων - Γενικά Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα. Τα περιεχόμενα
1 Συστήματα Αυτοματισμού Βιβλιοθηκών
1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία
Αρχές Προγραμματισμού Υπολογιστών
Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,
Διαχείριση Πολιτισμικών Δεδομένων
Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις
K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων
K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού
Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Αρχιτεκτονική
Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων
Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create
. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων
.. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή
Προγραμματισμός διαδικτυακών εφαρμογών με PHP
ΕΣΔ516: Τεχνολογίες Διαδικτύου Προγραμματισμός διαδικτυακών εφαρμογών με PHP Ερωτήματα μέσω Περιεχόμενα Περιεχόμενα Λογισμικό για εφαρμογές Web Η τριεπίπεδη αρχιτεκτονική (3-tier architecture) Εισαγωγή
Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα
Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1
Εργαστήριο Σημασιολογικού Ιστού
Εργαστήριο Σημασιολογικού Ιστού Ενότητα 8: Εισαγωγή στη SPARQL Βασική Χρήση Μ.Στεφανιδάκης 3-5-2015. Η γλώσσα ερωτημάτων SPARQL Ερωτήσεις (και ενημερώσεις) σε σετ δεδομένων RDF Και σε δεδομένα άλλης μορφής
Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή
Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1
Orchid: Integrating Schema Mapping and ETL ICDE 2008
Orchid: Integrating Schema Mapping and ETL ICDE 2008 Δομουχτσίδης Παναγιώτης Γενικά Data warehouse (DW): Είναι μία αποθήκη πληροφοριών οργανωμένη από ένα ενοποιημένο μοντέλο. Τα δεδομένα συλλέγονται από
Αυτοματοποιημένη χαρτογραφία
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αυτοματοποιημένη χαρτογραφία Ενότητα # 5: Χαρτογραφικές βάσεις δεδομένων Ιωάννης Γ. Παρασχάκης Τμήμα Αγρονόμων & Τοπογράφων Μηχανικών
Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος
Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Η εξέλιξη των γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού είναι μια διαδικασία αφαίρεσης Στην αρχή ένα πρόγραμμα ήταν
Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο
Βάσεις Δεδομένων Εισαγωγή Ανάλυση Απαιτήσεων Φροντιστήριο 1 ο 16-10-2008 Εισαγωγή - Ορισμοί Βάση Δεδομένων είναι μία συλλογή από σχετιζόμενα αντικείμενα Ένα σύστημα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ)
Επεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων
Προγραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων
ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Συστήματα Διαχείρισης Βάσεων Δεδομένων 1 ΕΙΣΑΓΩΓΗ Η τεχνολογία των Βάσεων Δεδομένων (ΒΔ) (Databases - DB) και των Συστημάτων Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ)
Διαδικτυακές Εφαρμογές Ενότητα 1: JPA
Διαδικτυακές Εφαρμογές Ενότητα 1: JPA Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ
Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Χρήστες ΣΔΒΔ Απλοί Χρήστες: συγκεκριμένες λειτουργίες σε
Επεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Βασικά θέματα Βάσεων Δεδομένων Ένα Σύστημα Βάσης Δεδομένων
ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)
ΕΡΓΑΣΙΑ (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρμογή Διαδικτύου Ηλεκτρονικού Καταστήματος Ζητούμενο: Να αναπτυχθεί web εφαρμογή,
Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις
Τι είναι ένα σύστημα διαχείρισης περιεχομένου; δυναμικό περιεχόμενο
Τι είναι ένα σύστημα διαχείρισης περιεχομένου; Παρά την μεγάλη εξάπλωση του διαδικτύου και τον ολοένα αυξανόμενο αριθμό ιστοσελίδων, πολλές εταιρείες ή χρήστες δεν είναι εξοικειωμένοι με την τεχνολογία
Σχεδίαση Βάσεων Δεδομένων
Σχεδίαση Βάσεων Δεδομένων Η ιστορία των Βάσεων Δεδομένων History of the Database 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Στόχοι Το μάθημα αυτό καλύπτει τους ακόλουθους στόχους:
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------
«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.
ΕΡΓΑΣΙΑ 4 «Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. Στόχος Στόχος της Εργασίας 4 είναι να η εξοικείωση με την αντικειμενοστρέφεια (object oriented programming). Πιο συγκεκριμένα,
ΔΕ10: Πληροφοριακά Συστήματα Διοίκησης IΙ Εργαστήριο # 2
ΔΕ10: Πληροφοριακά Συστήματα Διοίκησης IΙ Εργαστήριο # 2 Dreamweaver 1/7 Εισαγωγή Το Dreamweaver είναι ένας HTML editor που αναπτύχθηκε από την Macromedia. Είναι WYSIWYG (What You See Is What You Get),
Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25
Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η
Βασικές Έννοιες Web Εφαρμογών
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα
ΥΠΗΡΕΣΙΑ. Ηλεκτρονική ιαχείριση Τάξης. Οδηγίες χρήσης για τον µαθητή.
ΥΠΗΡΕΣΙΑ Ηλεκτρονική ιαχείριση Τάξης Οδηγίες χρήσης για τον µαθητή http://eclass.sch.gr Η υπηρεσία ηλεκτρονικής διαχείρισης τάξης αναπτύχθηκε από το Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών για λογαριασµό
Σχεδιασμός Βάσεων Δεδομένων
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός
Εισαγωγή στην Πληροφορική
Εισαγωγή στην Πληροφορική Βάσεις Δεδομένων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις Δεδομένων; Σύστημα για αποθήκευση, μετάδοση
ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων
Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2010-2011 ΑΣΚΗΣΗ Συγκομιδή και δεικτοδότηση ιστοσελίδων Σκοπός της άσκησης είναι η υλοποίηση ενός ολοκληρωμένου συστήματος συγκομιδής και δεικτοδότησης ιστοσελίδων.
Επεξεργασία Ερωτήσεων
Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008
Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 25: Τεχνικές Κατακερματισμού II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear Probing, b) Quadratic Probing c) Double Hashing Διατεταγμένος
Σχεδίαση Βάσεων Δεδομένων
Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει
Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :
Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).
Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2017-2018. Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).
Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.
Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών
Σχεδίαση Βάσεων Δεδομένων
Σχεδίαση Βάσεων Δεδομένων Δεδομένα κατά Πληροφοριών Data vs. Information 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Δεδομένα κατά Πληροφοριών Στόχοι Το μάθημα αυτό καλύπτει τους
Εργαλεία ανάπτυξης εφαρμογών internet Ι
IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης
ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.
ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για
Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του
Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα
Εισαγωγή 1 Ζήτω οι Βάσεις εδοµένων!! Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Μοντελοποίηση Αποθήκευση Επεξεργασία (εύρεση πληροφορίας σχετικής µε µια συγκεκριµένη ερώτηση) Σωστή Λειτουργία
Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.
Εργαστήριο #12 Από τα προηγούμενα εργαστήρια: Το εργαστήριο αυτό είναι ανεξάρτητο από τα προηγούμενα επειδή όμως ασχολείται με τη γλώσσα JavaScript, βεβαιωθείτε ότι έχετε διαβάσει το εισαγωγικό Παράρτημα
A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ
A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο
GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ
ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΣΠΟΥ ΑΣΤΗΣ: Γιαννόπουλος Γεώργιος ΕΠΙΒΛΕΠΩΝ: Καθ. Ι. Βασιλείου ΒΟΗΘΟΙ: Α. ηµητρίου, Θ. αλαµάγκας Γενικά Οι µηχανές αναζήτησης
App Inventor 3ο Μάθημα (Ζάρια - επέκταση)
App Inventor 3ο Μάθημα (Ζάρια - επέκταση) Μεταβλητές Δομή επιλογής If then Λογικές συνθήκες Στο μάθημα αυτό θα επεκτείνουμε την εφαρμογή ζάρια που αναπτύξαμε στο πρώτο μάθημα ώστε να εμφανίζει μήνυμα επιτυχίας
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 6: Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών
ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW
Βάσεις Δεδομένων Ι - 06. Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών
Βάσεις Δεδομένων Ι - 06 Ευρετήρια/Indexes (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών ΤΕΙ Λάρισας Τι είναι τα ευρετήρια; Ευρετήριο/Index:
Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός
7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις
Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ
Διαδικτυακές Εφαρμογές Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006
Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006 A Θέμα 1 ο (30%) 1. (10%) α) Ποια τα πλεονεκτήματα ενός B + -tree ευρετηρίου; β) Αναφέρετε τις διαφορές ανάμεσα στα αραιά και τα πυκνά ευρετήρια.
Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL Ευαγγελία Πιτουρά 1 Τι έχουμε δει Μοντελοποίηση Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)
Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010
Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ
ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης
Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3
Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>
Εισαγωγη στην html Ο παγκόσμιος ιστός (αγγ.: World Wide Web ή www) είναι η πιο δημοφιλής υπηρεσία που μας παρέχει το Διαδίκτυο (Internet) και είναι ένα σύστημα διασυνδεδεμένων πληροφοριών (κειμένου, εικόνας,
Βάσεις Δεδομένων Σύνθετα SQL queries
Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ασάφεια και Πλήρη Ονόματα Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι
Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής
1. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ
1. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ Τα δεδομένα που θα επεξεργασθούμε στη διάρκεια του εργαστηρίου παραχωρήθηκαν από την εταιρεία ICAP ειδικά για τις ανάγκες του μαθήματος. Τα δεδομένα αυτά αντλήθηκαν από την
ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο. Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2.
ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2.0_v1 Page 17 of 29 Βάσεις Δεδομένων, Προχωρημένο Επίπεδο Ακολουθεί η Εξεταστέα
Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.
Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση
Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;
Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class
ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ
ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ 2.1 Εισαγωγή Η μέθοδος που θα χρησιμοποιηθεί για να προσομοιωθεί ένα σύστημα έχει άμεση σχέση με το μοντέλο που δημιουργήθηκε για το σύστημα. Αυτό ισχύει και
Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα
Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα Ευαγγελία Πιτουρά 1 Τι θα δούμε σήμερα: 1. Ο/Σ -> σχεσιακό 2. Ορισμός σχεσιακής βάσης σε SQL Αρχικά ας σχεδιάσουμε μια σχεσιακή βάση δεδομένων χωρίς να σχεδιάσουμε
Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7
Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Μέρος 1 1 Βασικοί όροι... 11 2 Βασική δομή κώδικα HTML... 25 3 Μορφοποίηση κειμένου... 39 4 Μορφοποίηση παραγράφων... 51 5 Εισαγωγή εικόνας... 63 6 Λίστες με
Εργαστήριο #10 (Ε10) 1
Εργαστήριο #10 Από τα προηγούμενα εργαστήρια......θα χρειαστείτε ορισμένες από τις οδηγίες μορφοποίησης CSS (ανατρέξτε στις εκφωνήσεις του 8 ου και 9 ου εργαστηρίου).! Οδηγίες Στη δυναμική δημιουργία ιστοσελίδων
8ο Πανελλήνιο Συμποσιο Ωκεανογραφίας & Αλιείας 637
8ο Πανελλήνιο Συμποσιο Ωκεανογραφίας & Αλιείας 637 Υλοποιηση νεων τεχνολογιων (Web GIS, Application Servers) για τη δυναμικη προσβαση μεσω διαδικτυου στη βαση δεδομενων του Ελληνικου Εθνικου Κεντρου Ωκεανογραφικων
METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα
METROPOLIS Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα Ενσωματωμένα συστήματα Ορίζονται ως ηλεκτρονικά συστήματα τα οποία χρησιμοποιούν υπολογιστές και ηλεκτρονικά υποσυστήματα για να εκτελέσουν
ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ Εργ. Συστημάτων Βάσεων Γνώσεων & Δεδομένων CONTEXT AWARE ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ
CONTEXT AWARE ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ Με τις συγκεκριμένες διπλωματικές εργασίες, ο στόχος μας είναι να κατασκευάσουμε το πρώτο ερευνητικό Σχεσιακό Σύστημα Διαχείρισης
Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)
Ασάφεια και Πλήρη Ονόματα Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι
Σχεδίαση Βάσεων Δεδομένων
Σχεδίαση Βάσεων Δεδομένων Εισαγωγή στις Έννοιες των Σχεσιακών Βάσεων Δεδομένων Introduction to Relational Database Concepts 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Στόχοι Το
Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub
Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub Σύνοψη Σ αυτό το κεφάλαιο θα περιγράψουμε τη δημιουργία φορμών, προκειμένου να εισάγουμε δεδομένα και να εμφανίζουμε στοιχεία από τους πίνακες
Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).
Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).
ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ - ΕΝΟΤΗΤΑ 1 7/4/2013 ΕΝΟΤΗΤΕΣ ΜΑΘΗΜΑΤΟΣ. Ορισμός
ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΕΝΟΤΗΤΑ 1 : ΕΙΣΑΓΩΓΗ Διάλεξη 1: Γενικά για το ΓΣΠ, Ιστορική αναδρομή, Διαχρονική εξέλιξη Διάλεξη 2 : Ανάλυση χώρου (8/4/2013) Διάλεξη 3: Βασικές έννοιες των Γ.Σ.Π.. (8/4/2013)
Σχεδιασμός Βάσεων Δεδομένων
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 1 Δρ. Βασιλική Κούφη Περιεχόμενα 1. Εισαγωγή 2. Κύκλος ζωής ανάπτυξης Βάσεως Δεδομένων 3. Oracle SQL Developer Data
Πληροφορική 2. Βάσεις Δεδομένων (Databases)
Πληροφορική 2 Βάσεις Δεδομένων (Databases) 1 2 Επίπεδα αρχεία (flat files) Επίπεδο αρχείο είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων. Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν
Φύλλο Κατανόησης 1.8
Σχολικό Έτος : 2012-2013 Τάξη : B Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι - Θεωρία Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya1 Φύλλο Κατανόησης 1.8 1.8. Το μοντέλο OSI Ερωτήσεις