Αθανασούλας Χαράλαµπος ράκος Παύλος Κίρτσιος Νικόλαος

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Αθανασούλας Χαράλαµπος ράκος Παύλος Κίρτσιος Νικόλαος"

Transcript

1 Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής, ΠΜΣ στα Πληροφοριακά Συστήµατα Η γλώσσα XPATH και η εφαρµογή της σε αρχειακά µεταδεδοµένα κωδικοποιηµένα στο πρότυπο EAD Εργασία στα πλαίσια του µαθήµατος Συστήµατα Οργάνωσης Γνώσης ιδάσκων: Παπαθεοδώρου Χρήστος Αθανασούλας Χαράλαµπος ράκος Παύλος Κίρτσιος Νικόλαος

2 Περιεχόµενα Περιεχόµενα Εγγενείς Βάσεις εδοµένων XML NXD [1] [2] [3] [4] Εισαγωγή Τι είναι µία Εγγενής Βάση εδοµένων NXD; Σχεσιακές και Εγγενείς Βάσεις εδοµένων εδοµένα και Έγγραφα Χαρακτηριστικά των Εγγενών Βάσεων εδοµένων Αποθήκευση XML Συλλογές (Collections) Ερωτήµατα Ενηµερώσεις Εύρος εφαρµογών Επίλογος Η γλώσσα ερωτηµάτων Xpath Μία γρήγορη µατιά [5] Αναλυτικά [6] Μονοπάτια τοποθεσίας Βήµατα τοποθεσίας Άξονες Έλεγχος κόµβου Κατηγορήµατα Πίνακες επεξηγήσεων Η γλώσσα ερωτηµάτων XQuery [7][8][9] EAD Encoded Archival Description [10] [11] [12] [13] [14] Ορισµός Ιστορικό Χρησιµότητα του EAD Η Αρχειακή Περιγραφή Η Κωδικοποιηµένη Αρχειακή Περιγραφή (Encoded Archival Description- EAD) Η χρήση της SGML

3 4.7. Το EAD Σχεδιαστικές Αρχές για Αναβαθµίσεις στο EAD exist [15] [16] Ορισµός Πλεονεκτήµατα του exist Πρότυπα και Τεχνολογίες του exist Ιστορία του exist Υποστήριξη του exist Η Μηχανή αναζητήσεως xterm Υπό χρήση τεχνολογίες Επικοινωνιακό µοντέλο Οδηγίες εγκατάστασης Παραδειγµατισµοί λειτουργίας xpath ερωτήµατα XQuery ερωτήµατα Παράθεση κώδικα include/class.exist.php include/functions.exist.php xterm.php overcurl.php Βιβλιογραφία

4 1. Εγγενείς Βάσεις εδοµένων XML NXD [1] [2] [3] [4] 1.1. Εισαγωγή Η ανάγκη για επεξεργασία και αποθήκευση των XML αρχείων έχει γεννήσει αρκετούς νέους τύπους εργαλείων λογισµικού. Ένας εκ των οποίων είναι και οι Native XML Databases (NXD) ή οι Εγγενείς Βάσεις εδοµένων κατά το ελληνικότερο. Στην πορεία της παρούσης εργασίας θα γίνει προσπάθεια να εξηγηθούν οι αρχές που κρύβονται πίσω από αυτές τις βάσεις δεδοµένων Τι είναι µία Εγγενής Βάση εδοµένων NXD; Ο όρος Εγγενής Βάση εδοµένων (NXD) είναι παραπλανητικός µε πολλούς και διαφόρους τρόπους. Στην πραγµατικότητα πολλές από τις αποκαλούµενες Εγγενείς Βάσεις εδοµένων δεν είναι καν Βάσεις εδοµένων. Για να πάρουµε, όµως µία καλύτερη ιδέα για το τι είναι µία Εγγενής Βάση εδοµένων ας ρίξουµε µία µατιά στα χαρακτηριστικά που έχει µία τέτοια Β όπως τα βρίσκουµε στον ιστότοπο Μία Εγγενής Βάση εδοµένων: Ορίζει ένα (λογικό) µοντέλο για ένα XML αρχείο (as opposed to the data in that document) και αποθηκεύει και ανακαλεί αρχεία σύµφωνα µε αυτό το µοντέλο. Κατ ελάχιστο, το µοντέλο πρέπει να περιλαµβάνει στοιχεία, χαρακτηριστικά, δεδοµένα και ταξινόµηση. Έχει ένα XML αρχείο ως θεµελιώδη µονάδα (λογικής) αποθήκευσης, όπως ακριβώς και µία σχεσιακή βάση δεδοµένων έχει τη γραµµή ενός πίνακα ως θεµελιώδη µονάδα (λογικής) αποθήκευσης. εν απαιτείται να έχει κανένα ιδιαίτερο βασικό φυσικό µοντέλο αποθήκευσης. Για παράδειγµα, µπορεί να χτιστεί σε µία σχεσιακή, ιεραρχική ή 4

5 αντικειµενοστραφή βάση δεδοµένων ή ακόµα να χρησιµοποιήσει µία ιδιαίτερη µορφή αποθήκευσης όπως µε δείκτες ή συµπιεσµένα αρχεία. Υπάρχουν πολλά που µπορούµε να µάθουµε από τους παραπάνω ορισµούς, αλλά τα τρία βασικά σηµεία µπορούν να συνοψιστούν στα εξής: Η βάση δεδοµένων ειδικεύεται στην αποθήκευση XML δεδοµένων και αποθηκεύει όλα τα συστατικά στοιχεία του XML µοντέλου πλήρως. Αρχεία εισάγονται και αρχεία εξάγονται. Μία Εγγενής Βάση εδοµένων µπορεί να µην είναι στην πραγµατικότητα µία ανεξάρτητη βάση δεδοµένων. Όπως θα έγινε ξεκάθαρο από τους παραπάνω ορισµούς, µία Εγγενής Βάση εδοµένων δεν εκπροσωπεί ένα νέο, χαµηλού επιπέδου, µοντέλο βάσεων δεδοµένων και δεν έχει πρόθεση να αντικαταστήσει τις υπάρχουσες βάσεις δεδοµένων. Είναι απλά ένα εργαλείο µε σκοπό να παράσχει σε όποιον το χρησιµοποιεί συµπαγή αποθήκευση και χειρισµό των XML αρχείων Σχεσιακές και Εγγενείς Βάσεις εδοµένων Μία σύγκριση µεταξύ των Εγγενών και των Σχεσιακών Βάσεων εδοµένων θα βοηθήσει να ξεκαθαρίσουν ακόµα πιο πολύ τα πράγµατα. Πολλές από τις σύγχρονες βάσεις δεδοµένων υποστηρίζουν την αποθήκευση δεδοµένων τύπου XML ή και εγγράφων XML. Αυτές µπορεί να είναι είτε σχεσιακές είτε Εγγενείς XML Βάσεις εδοµένων. Η επιλογή µιας βάσης δεδοµένων και του λογισµικού διαχείρισης για µια εφαρµογή εξαρτάται από το για ποιο σκοπό θα χρησιµοποιηθεί η βάση δεδοµένων. Αν, δηλαδή, υπάρχουν ιεραρχικά δεδοµένα µε συγγένεια µεταξύ τους που πρέπει να παρουσιαστούν ή αν θα χρησιµοποιηθούν από µια εφαρµογή ηλεκτρονικού εµπορίου και στην οποία η XML χρησιµοποιείται για τη µεταφορά δεδοµένων, κλπ. 5

6 Παραδείγµατος χάριν, ας υποθέσουµε ότι υπάρχει µια εφαρµογή ηλεκτρονικού εµπορίου όπου η XML χρησιµοποιείται για την µεταφορά - ανταλλαγή δεδοµένων. Αν τα δεδοµένα θα χρησιµοποιηθούν από µια µη-xml εφαρµογή στην οποία οι οντότητες και οι κωδικοποιήσεις που περιγράφονται από τα XML έγγραφα δεν είναι πιθανώς σηµαντικές. ηλαδή, ενδιαφέρον για την εφαρµογή παρουσιάζουν µόνο τα ίδια τα δεδοµένα και όχι το πως καταχωρήθηκαν στο έγγραφο XML. Τότε, είναι σωστό να επιλεγεί µια σχεσιακή βάση δεδοµένων και ένα λογισµικό για την µεταφορά των δεδοµένων µεταξύ των εγγράφων XML και της βάσης δεδοµένων. Αν όµως, υπάρχει ανάγκη για αποθήκευση, επεξεργασία και αναζήτηση δεδοµένων, που υπάρχουν σε έγγραφα XML, τα οποία είναι γλωσσοστραφή (proseoriented) και έχουν να κάνουν µε ιδιαιτερότητες της γλώσσας, τότε σε αυτή την περίπτωση µια σχεσιακή βάση δεδοµένων δεν θα µπορούσε να χρησιµοποιηθεί αλλά θα απαιτούνταν µια Εγγενής Βάση εδοµένων (NXD) ή ένα σύστηµα διαχείρισης περιεχοµένου (Content Management System). Αυτό θα επιτρέψει τη διατήρηση της φυσικής δοµής των εγγράφων και θα υποστηρίξει τις ανταλλαγές δεδοµένων σε επίπεδο εγγράφων, καθώς και την εκτέλεση ερωτήσεων σε µια γλώσσα διατύπωσης ερωτήσεων XML εδοµένα και Έγγραφα Όπως προκύπτει και από τα παραπάνω ο σηµαντικότερος παράγοντας στην επιλογή µιας βάσης δεδοµένων είναι το αν η χρήση της θα είναι για αποθήκευση δεδοµένων ή εγγράφων. Για παράδειγµα, άν η XML χρησιµοποιείται απλά για τη µεταφορά στοιχείων µεταξύ της βάσης δεδοµένων και µιας (ενδεχοµένως και µη- XML) εφαρµογής ή η χρήση της είναι ολοκληρωτική, όπως στην περίπτωση των εγγράφων XHTML και DocBook. Όλα τα δεδοµενο-κεντρικά έγγραφα έχουν κάποια χαρακτηριστικά, όπως και τα έγγραφο-κεντρικά έγγραφα, τα οποία επηρεάζουν το πως τα XML δεδοµένα θα αποθηκευθούν στη βάση δεδοµένων. Ας τα δούµε, λοιπόν, αυτές τις δύο έννοιες πιο αναλυτικά: 6

7 εδοµενο-κεντρικά έγγραφα Τα δεδοµενο-κεντρικά (Data-Centric) έγγραφα είναι έγγραφα που χρησιµοποιούν την XML για την µεταφορά δεδοµένων. Χρησιµοποιούνται από µηχανισµούς µεταφοράς δεδοµένων και το γεγονός ότι η γλώσσα XML χρησιµοποιείται είναι συνήθως µια περιττή πληροφορία. Παραδείγµατα δεδοµενοκεντρικών εγγράφων είναι οι λίστες πωλήσεων, οι προγραµµατισµοί αεροπορικών πτήσεων, διάφορα επιστηµονικά δεδοµένα και άλλα. Τα δεδοµενο-κεντρικά έγγραφα χαρακτηρίζονται από την σαφώς κανονική δοµή των δεδοµένων (δηλαδή η µικρότερη ανεξάρτητη µονάδα των δεδοµένων είναι στο επίπεδο ενός PCDATA µόνο ενός στοιχείου (element) ή µιας ιδιότητας (attribute), και το ελάχιστο ή και ανύπαρκτο µικτό περιεχόµενο. Η σειρά µε την οποία τα σχεσιακά στοιχεία και τα PCDATA εµφανίζονται δεν είναι γενικώς σηµαντική Έγγραφο-κεντρικά έγγραφα Τα έγγραφο-κεντρικά (Document-Centric) έγγραφα είναι συνήθως έγγραφα που σχεδιάζονται για απευθείας χρήση από τον άνθρωπο. Παραδείγµατα είναι τα βιβλία, το ηλεκτρονικό ταχυδροµείο, οι διαφηµίσεις, και σχεδόν οποιοδήποτε χειρόγραφο έγγραφο XHTML. Χαρακτηρίζονται από λιγότερο ανώµαλη δοµή. Η σειρά στην οποία τα σχεσιακά στοιχεία και PCDATA εµφανίζονται είναι σχεδόν πάντα σηµαντική. Τα έγγραφο-κεντρικά έγγραφα γράφονται είτε απευθείας σε XML είτε σε κάποια άλλη µορφή, όπως σε RTF, PDF, ή σε SGML και τα οποία µετατρέπονται στη συνέχεια σε XML. Αντίθετα από τα δεδοµενο-κεντρικά έγγραφα, τα έγγραφοκεντρικά έγγραφα συνήθως δεν προέρχονται από κάποια σχεσιακή βάση δεδοµένων Η διάκριση 7

8 Στην πράξη, η διάκριση µεταξύ των δεδοµενο-κεντρικών και έγγραφοκεντρικών εγγράφων δεν είναι πάντα σαφής. Για παράδειγµα, ένα δεδοµενο-κεντρικό έγγραφο, όπως ένα τιµολόγιο, µπορεί να περιέχει µεγάλα και µη κανονικά δοµηµένα δεδοµένα, όπως µια περιγραφή υλικών-αγαθών. Αντίθετα, ένα έγγραφο-κεντρικό έγγραφο, όπως ένα εγχειρίδιο µιας εφαρµογής, µπορεί να περιέχει µικρά κανονικά δοµηµένα δεδοµένα, όπως το όνοµα ενός συντάκτη και την ηµεροµηνία συγγραφής. Άλλα παραδείγµατα είναι τα νοµικά και ιατρικά έγγραφα, που γράφονται ως πεζογραφία αλλά περιέχουν ιδιαίτερα τµήµατα µε δεδοµένα, όπως οι ηµεροµηνίες, τα ονόµατα, οι διαδικασίες ή οι θεραπείες και πρέπει συχνά να αποθηκευθούν ως πλήρη έγγραφα για νοµικούς λόγους. Συνεπώς, χαρακτηρίζοντας τα έγγραφά ως δεδοµενο-κεντρικά ή έγγραφοκεντρικά είναι πιο εύκολη η επιλογή της βάσης δεδοµένων. Κατά γενικό κανόνα, τα δεδοµενο-κεντρικά έγγραφα αποθηκεύονται σε µια παραδοσιακή βάση δεδοµένων, όπως µια σχεσιακή, αντικειµενοστρεφής, ή ιεραρχική βάση δεδοµένων. Αυτό µπορεί να γίνει είτε από λογισµικό τρίτων κατασκευαστών είτε από εφαρµογές που ενσωµατώνονται στην ίδια τη βάση δεδοµένων. Στη περίπτωση αυτή, η βάση δεδοµένων λέγεται ότι είναι XML-enabled. Τα εγγραφο-κεντρικά έγγραφα αποθηκεύονται σε µια εγγενή βάση δεδοµένων XML (µια βάση δεδοµένων που σχεδιάζεται ειδικά για την αποθήκευση XML εγγράφων) ή σε ένα σύστηµα διαχείρισης περιεχοµένου (µια εφαρµογή που σχεδιάζεται για να διαχειριστεί τα έγγραφα και που χτίζεται πάνω από µια εγγενή βάση δεδοµένων XML). Αυτοί οι κανόνες δεν είναι απόλυτοι. Τα δεδοµένα, ειδικά τα ηµι-δοµηµένα δεδοµένα, µπορούν να αποθηκευθούν στις Εγγενείς Βάσεις εδοµένων και τα έγγραφα µπορούν να αποθηκευθούν στις παραδοσιακές βάσεις δεδοµένων όταν απαιτούνται λίγα XML χαρακτηριστικά γνωρίσµατα. Επιπλέον, τα όρια µεταξύ των παραδοσιακών βάσεων δεδοµένων και των Εγγενών Βάσεων εδοµένων αρχίζουν να θολώνουν, δεδοµένου ότι οι παραδοσιακές βάσεις δεδοµένων προσθέτουν εγγενείς δυνατότητες XML και οι εγγενείς βάσεις δεδοµένων XML υποστηρίζουν την αποθήκευση των τµηµάτων των εγγράφων σε εξωτερικές (συνήθως σχεσιακές) βάσεις δεδοµένων. 8

9 1.4. Χαρακτηριστικά των Εγγενών Βάσεων εδοµένων Αν και δεν είναι όλες οι Εγγενείς Βάσεις εδοµένων ίδιες, υπάρχουν, ωστόσο, αρκετές οµοιότητες στα χαρακτηριστικά τους. Το µοντέλο των Εγγενών Βάσεων εδοµένων βρίσκεται ακόµα σε εξέλιξη και θα εξακολουθήσει να βρίσκεται για τα επόµενα χρόνια. Επειδή υπάρχει µεγάλη ποικιλοµορφία µεταξύ των προϊόντων που κυκλοφορούν στην αγορά, στις επόµενες ενότητες θα γίνει µία προσπάθεια να δοθεί ένας υψηλοτέρου επιπέδου οδηγός ο οποίος βρίσκει εφαρµογή στα περισσότερα προϊόντα που υπάρχουν σήµερα. Ένας εκτενής οδηγός µε τα προϊόντα που υπάρχουν για XML βάσεις δεδοµένων έχει φτιαχτεί από το Ronald Bourret και βρίσκεται στον ιστότοπο Αποθήκευση XML Οι Εγγενείς Βάσεις εδοµένων αποθηκεύουν τα XML αρχεία ως µία ενότητα και δηµιουργούν ένα XML µοντέλο ή ένα µοντέλο βασισµένο σε σχετικές µε την XML τεχνολογίες όπως η Infoset ή η DOM. Αυτό το µοντέλο περιλαµβάνει αυθαίρετα επίπεδα και πολυπλοκότητα, όπως επίσης και ολοκληρωµένη υποστήριξη για ανοµοιογενή περιεχόµενο και ηµιδοµηµένα δεδοµένα. Το συγκεκριµένο µοντέλο είναι αυτόµατα συνδεδεµένο µε την Εγγενή Βάση εδοµένων στον µηχανισµό αποθήκευσης που υπάρχει από πίσω. Η σύνδεση που χρησιµοποιείται εξασφαλίζει ότι το συγκεκριµένο XML µοντέλο των δεδοµένων είναι διαχειρίσιµο. Από τη στιγµή που θα αποθηκευτούν τα δεδοµένα θα πρέπει να συνεχιστεί η χρήση των εργαλείων των Εγγενών Βάσεων εδοµένων (NXD), αν περιµένουµε να δούµε µία χρήσιµη αναπαράσταση των δεδοµένων. Για παράδειγµα, αν χρησιµοποιείτε µία Εγγενή Βάση εδοµένων που «κάθεται» πάνω µία σχεσιακή βάση δεδοµένων, η απευθείας προσπέλαση των πινάκων µε τα δεδοµένα χρησιµοποιώντας SQL δεν θα είναι τόσο αποδοτική όσο θα περιµένατε. Ο λόγος είναι ότι απλά τα δεδοµένα που θα δείτε είναι το µοντέλο του XML αρχείου (π.χ. στοιχεία και χαρακτηριστικά) κι όχι οι οντότητες τις οποίες αντιπροσωπεύουν αυτά τα δεδοµένα. Το µοντέλο οντοτήτων υπάρχει µέσα στο πεδίο του XML αρχείου κι όχι µέσα στο 9

10 πεδίο του συστήµατος αποθήκευσης που υπάρχει από πίσω. Για να δουλέψεις µε τα δεδοµένα θα πρέπει να δουλέψεις µε τα δεδοµένα ως XML. Αν κάποιος είναι εξοικειωµένος µε τη χρήση των XML εργαλείων, όπως είναι τα SAX, XPath και XSL-T τότε δεν θα έχει πρόβληµα να ασχοληθεί και µε µία Εγγενή Βάση εδοµένων. Η βάση δεδοµένων θα αποκρύψει όλες τις λεπτοµέρειες για το πώς τα XML αρχεία είναι αποθηκευµένα και θα σας αφήσει ελευθέρους να χτίσετε εφαρµογές χρησιµοποιώντας τις XML τεχνολογίες Συλλογές (Collections) Οι συλλογές (collections) των αρχείων των Εγγενών Βάσεων, επιτρέπουν τη διαχείριση και αυτών των αρχείων σαν ένα ενιαίο σύνολο και δίνουν τη δυνατότητα χρήσης ερωτηµάτων. Κάτι που µοιάζει πάρα πολύ µε την έννοια του πίνακα στις σχεσιακές βάσεις δεδοµένων. Η ειδοποιός διαφορά, όµως, βρίσκεται στο ότι δεν απαιτούν όλες οι Εγγενείς Βάσεις εδοµένων ένα σχήµα να συνδεέται µε µία συλλογή. Αυτό σηµαίνει ότι µπορούµε να αποθηκεύσουµε οποιοδήποτε XML αρχείο σε µία συλλογή ανεξαρτήτως σχήµατος. Επιπλέον, είµαστε σε θέση να θέσουµε ερωτήµατα που να απευθύνονται σε όλα τα αρχεία της συλλογής. Οι Εγγενής Βάση εδοµένων που υποστηρίζουν αυτή τη δυνατότητα ονοµάζονται Schema- Independent. Έχοντας, λοιπόν, συλλογές αρχείων ανεξάρτητες από σχήµα, η βάση δεδοµένων αποκτά µεγάλη ευελιξία και κάνει την ανάπτυξη της εφαρµογής ευκολότερη. υστυχώς, όµως, είναι ταυτόχρονα κι ένα χαρακτηριστικό που κάνει τους διαχειριστές βάσεων δεδοµένων να ανησυχούν για το ρίσκο που ενέχει η χαµηλή ακεραιότητα δεδοµένων. Το παλιό ρητό που λέει πως «όποιος έχει τα γένια έχει και τα χτένια» ταιριάζει θαυµάσια εδώ. Αν χρειάζεστε µια δοµή µε αυστηρό σχήµα, τότε βεβαιωθείτε πως χρησιµοποιείτε µία Εγγενή Βάση εδοµένων η οποία υποστηρίζει σχήµατα ή βρείτε κάποιον άλλο τρόπο να αποθηκεύσετε τα XML δεδοµένα σας. Μερικά προϊόντα υποστηρίζουν επικύρωση µε DTD και κάποια µπορούν να περιορίσουν ολόκληρη τη συλλογή των αρχείων µέσω ιδιότυπων γλωσσών σχήµατος. 10

11 Στο µέλλον είναι πολύ πιθανό το W3C XML σχήµα να εµφανίζεται ως η επικρατέστερη γλώσσα σχήµατος για Εγγενείς Βάσεις εδοµένων Ερωτήµατα Η Xpath είναι η επικρατέστερη τρέχουσα γλώσσα ερωτηµάτων για Εγγενείς Βάσεις εδοµένων. Προκειµένου να λειτουργήσει ως γλώσσα ερωτηµάτων βάσεων δεδοµένων, η Xpath έχει επεκταθεί ελαφρά ώστε να επιτρέπει ερωτήµατα σε συλλογές εγγράφων / αρχείων. υστυχώς η Xpath δεν είχε αρχικά σχεδιαστεί ως µία γλώσσα ερωτηµάτων βάσεων δεδοµένων και κάποιες φορές δεν είναι επαρκής από µόνη της. Κάποιοι εξόφθαλµοι περιορισµοί της Xpath αφορούν στην έλλειψη οµαδοποίησης (group), ταξινόµησης (sort), σύνδεσης αρχείων (join) και υποστήριξης για τους τύπους δεδοµένων. Λόγω αυτών των θεµάτων η Xpath χρειάζεται να επεκταθεί ως µέρος πιο κατανοητών γλωσσών. Πολλά από τα παραπάνω προβλήµατα µπορούν να λυθούν αξιοποιώντας την XSLT για να κλείσουν τα κενά. Ωστόσο, µία γλώσσα πιο προσανατολισµένη στις βάσεις δεδοµένων είναι υπό κατασκευή µε τη µορφή της XQuery. Πολλοί κατασκευαστές έχουν ήδη αρχίσει να κυκλοφορούν πρότυπες XQuery υλοποιήσεις για χρήση µε τις βάσεις δεδοµένων τους. Για να βελτιώσουν την απόδοση των ερωτηµάτων οι Εγγενείς Βάσεις εδοµένων υποστηρίζουν τη δηµιουργία δεικτών πάνω στα δεδοµένα που είναι αποθηκευµένα στις συλλογές. Αυτοί οι δείκτες µπορούν να χρησιµοποιηθούν για να βελτιώσουν δραµατικά την εκτέλεση των ερωτηµάτων. Οι λεπτοµέρειες για το που µπορούν να µπουν δείκτες και για το πώς αυτοί οι δείκτες δηµιουργούνται ποικίλει πολύ µεταξύ των προϊόντων. ωστόσο τα περισσότερα προϊόντα υποστηρίζουν αυτή τη λειτουργία. Στις γλώσσες ερωτηµάτων Xpath και XQuery θα αναφερθούµε εκτενώς σε επόµενα κεφάλαια. 11

12 Ενηµερώσεις Οι ενηµερώσεις είναι πραγµατικά το αδύνατο σηµείο για τις µέχρι τώρα Εγγενείς Βάσεις εδοµένων. Τα περισσότερα προϊόντα απαιτούν να ανακαλέσεις το αρχείο, να το αλλάξεις, χρησιµοποιώντας το XML API που προτιµάς, και µετά να το επιστρέψεις στη βάση δεδοµένων. Ελάχιστα προϊόντα έχουν ενσωµατωµένες γρώσσες οι οποίες σου επιτρέπουν να κάνεις ενηµερώσεις στον Server και κανα δυο, ανοιχτού κώδικα Εγγενείς Βάσεις εδοµένων, υποστηρίζουν XML:DB XUpdate για τον ίδιο σκοπό. Αυτό θα συνεχίσει να αποτελεί πρόβληµα µέχρι η XQuery να ενσωµατώσει µία γλώσσα που να καλύπτει ενηµερώσεις. Μέχρι τότε, η Data Object Model (DOM) διαχείριση θα αποτελεί την πιο κοινή µέθοδο ενηµερώσεων για τα προϊόντα των Εγγενών Βάσεων εδοµένων Εύρος εφαρµογών Υπάρχει µόνο µία αυστηρή απαίτηση για οποιαδήποτε εφαρµογή θέλει να χρησιµοποιήσει µία Εγγενή Βάση εδοµένων: Η εφαρµογή θα πρέπει να χρησιµοποιεί XML. Πέρα από αυτό δεν υπάρχουν αυστηροί περιορισµοί για το τύπο των εφαρµογών που πρέπει ή δεν πρέπει να αναπτυχθούν µε µία Εγγενή Βάση εδοµένων. Μόνο κάποιες χαλαρές κατευθύνσεις µπορεί να δοθούν. Γενικά, οι NXD διακρίνονται στην αποθήκευση εγγραφο-κεντρικών δεδοµένων (π.χ. XHTML ή DocBook), δεδοµένων τα οποία έχουν µία πού σύνθετη δοµή µε βαθύ εµφωλιασµό και δεδοµένων τα οποία είναι από τη φύση τους ηµι-δοµηµένα. Βασικά, αν τα δεδοµένα αναπαρίστανται ως XML και είναι γενικά περίπλοκα, µία Εγγενής Βάση εδοµένων είναι, κατά πάσα πιθανότητα, µία καλή λύση. Μία Εγγενής Βάση εδοµένων µπορεί να αποθηκεύσει οποιονδήποτε τύπο XML δεδοµένων, αλλά πιθανά δεν είναι και το καλύτερο εργαλείο που µπορεί να χρησιµοποιήσει κανείς για ένα λογιστικό σύστηµα (για παράδειγµα) όπου τα δεδοµένα είναι πολύ καλά και αυστηρά ορισµένα. Μερικές πιθανές περιοχές εφαρµογών είναι: 12

13 Ενηµερωτικά portals οργανισµών. εδοµένα καταλόγων. Βάσεις δεδοµένων για εργοστασιακά προϊόντα. Αποθήκευση ιατρικών πληροφοριών. Συστήµατα διαχείρισης περιεχοµένου (CMS). Business-to-business (B2B) ιστορικά αρχεία συναλλαγών (transaction logs). Προσωπικές βάσεις δεδοµένων. Τέλος, οι Εγγενείς Βάσεις εδοµένων είναι απλά ένα νέο εργαλείο και η απόλυτη ωφελιµότητά τους εξαρτάται από τη δηµιουργικότητα των ανθρώπων που τις χρησιµοποιούν. Επίλογος Οι Εγγενείς Βάσεις εδοµένων δεν αποτελούν πανάκεια και σίγουρα δεν έχουν σκοπό να αντικαταστήσουν τα υπάρχοντα συστήµατα βάσεων δεδοµένων. Είναι απλά άλλο ένα εργαλείο στο «οπλοστάσιο» των ανθρώπων που αναπτύσσουν µε XML εργαλεία και όταν εφαρµόζονται στις κατάλληλες συνθήκες µπορούν να δώσουν σηµαντικά αποτελέσµατα. Αν έχετε πολλά XML δεδοµένα να αποθηκεύσετε, τότε αξίζει να ρίξετε µία µατιά στις Εγγενείς Βάσεις εδοµένων και ίσως αποδειχτεί το κατάλληλο εργαλείο γι αυτή τη δουλεία. 13

14 2. Η γλώσσα ερωτηµάτων Xpath 2.1. Μία γρήγορη µατιά [5] Μία έκφραση XPath είναι µία σειρά από βήµατα τοποθεσίας (location steps) χωρισµένα µε τον χαρακτήρα / (slash). Το κάθε βήµα συγκεντρώνει ένα σύνολο από κόµβους σχετικούς µε τον εκάστοτε κόµβο. Αυτοί οι κόµβοι γίνονται ο/οι τρέχων/ες κόµβος/οι για το επόµενο βήµα. Το σύνολο των επιλεγµένων από την έκφραση κόµβων είναι οι εναποµείναντες κόµβοι µετά από την εκτέλεση του κάθε βήµατος µε τη σειρά. Για παράδειγµα η έκφραση child::part αποτελείται από ένα βήµα. Αυτό το βήµα συγκεντρώνει το σύνολο όλων των στοιχείων Part τα οποία είναι παιδιά του τρέχοντα κόµβου. Η έκφραση parent::node()/child::part έχει δύο βήµατα. Το πρώτο βήµα (parent::node()) επιλέγει ένα µόνο κόµβο, τον πατέρα του τρέχοντος κόµβου. Το δεύτερο βήµα (child::part) επιλέγει όλα τα στοιχεία Part τα οποία είναι παιδιά αυτού του κόµβου. Έτσι, η έκφραση αναγνωρίζει όλα τα Part τα οποία είναι παιδιά του τρέχοντος κόµβου. Με άλλα λόγια, επιλέγει όλα τα αδέλφια του Part που υπάρχουν στον τρέχοντα κόµβο, περιλαµβάνοντας πιθανά και τον ίδιο τον τρέχοντα κόµβο. Ένα βήµα σε µία XPath έκφραση αποτελείται από τρία µέρη: έναν άξονα, έναν έλεγχο κόµβου και µηδέν ή περισσότερα κατηγορήµατα. Ο άξονας ορίζει την κατεύθυνση προς την οποία θα κινηθούµε µέσα στο δέντρο (το οποίο είναι σχεδόν ίδιο µε ένα DOM δέντρο). Για παράδειγµα, ο άξονας child λέει να κοιτάξουµε σε όλους τους κόµβους παιδιά. Ο άξονας parent λέει να κοιτάξουµε στον κόµβο του γονέα. Ο άξονας descendant λέει να κοιτάξουµε σε όλους τους απογόνους κόµβους και ου το καθεξής. 14

15 Ένας έλεγχος κόµβου ελέγχει αν οι κόµβοι που απαντώνται κατά µήκος ενός συγκεκριµένου άξονα θα πρέπει να επιλεχθούν ή όχι για το επόµενο βήµα. Για παράδειγµα, στην περίπτωση child::part, το child είναι ο άξονας και το Part ο έλεγχος κόµβου. Ένας κόµβος child ικανοποιεί τον έλεγχο κόµβου αν είναι στοιχείο µε το όνοµα του Part. Ένα κατηγόρηµα είναι µία έκφραση η οποία φιλτράρει τους επιλεγµένους κόµβους µε βάση τον έλεγχο κόµβου. Έχει την µορφή µίας έκφρασης ισότητας (=,!=, >, <, >=, <=). Για παράδειγµα, το [self::text()="123"], ελέγχει αν το κείµενο του τρέχοντα κόµβου είναι "123". Ενώ η έκφραση [child::partnumber/self::text()="123"], ελέγχει αν ο τρέχον κόµβος έχει ένα PartNumber παιδί µε κείµενο "123". Έτσι η έκφραση [child::partnumber[self::text()="123"] επιλέγει όλα τα PartNumber παιδιά του τρέχοντα κόµβου µε κείµενο "123". Και (πιο άτυπα) η child::part[child::partnumber/self::text()="123"] επιλέγει όλα τα Part τα οποία είναι παιδιά του τρέχοντα κόµβου και έχουν αριθµό Part το "123" Αναλυτικά [6] Η XPath µοντελοποιεί ένα XML έγγραφο σαν ένα δέντρο µε κόµβους. Υπάρχουν διάφοροι τύποι κόµβων, συµπεριλαµβανοµένων και των κόµβων στοιχείων, των κόµβων γνωρισµάτων και των κόµβων κειµένου. Η XPath ορίζει έναν τρόπο υπολογισµού µίας τιµής χαρακτήρων για κάθε τύπο κόµβου. Μερικοί τύποι κόµβων έχουν επιπλέον και ονόµατα. Η XPath υποστηρίζει XML Namespace. Γι αυτό το όνοµα ενός κόµβου µοντελοποιείται ως ένα ζεύγος αποτελούµενο από ένα τοπικό κοµµάτι και από ένα πιθανά κενό namespace URL. Αυτό το λέµε διευρυµένο όνοµα (expanded-name). Η βασική συντακτική έννοια στην XPath είναι η έκφραση. Μία έκφραση αποτιµάται για να παράξει ένα αντικείµενο, το οποίο έχει έναν από τους παρακάτω τύπους: 15

16 Node-set (µία αταξινόµητη συλλογή κόµβων χωρίς επαναλήψεις). Boolean (Αλήθεια ή Ψέµατα). Number (ένας αριθµός κινητής υποδιαστολής). String (µία ακολουθία από UCS χαρακτήρες). Η αποτίµηση της έκφρασης γίνεται µε σεβασµό στο περιεχόµενο. Το περιεχόµενο αποτελείται από: Έναν κόµβο (τον κόµβο περιεχοµένου). Ένα ζεύγος από µη µηδενικούς θετικούς ακεραίους (η θέση του περιεχοµένου και το µέγεθος του περιεχοµένου). Ένα σύνολο από δεσµευµένες µεταβλητές. Μία βιβλιοθήκη συναρτήσεων. Το σύνολο των δηλώσεων Namespace που απαιτούνται για την έκφραση. περιεχοµένου. Η θέση του περιεχοµένου είναι πάντα µικρότερη ή ίση από το µέγεθος του Οι δεσµευµένες µεταβλητές αποτελούνται από µία αντιστοίχηση από ονόµατα µεταβλητών και τιµές µεταβλητών. Η τιµή µίας µεταβλητής είναι ένα αντικείµενο, το οποίο µπορεί να είναι οποιουδήποτε τύπου ο οποίος µπορεί να είναι πιθανός για την τιµή µίας έκφρασης και µπορεί να είναι επίσης και άλλων επιπλέον τύπων οι οποίοι δεν ορίζονται εδώ. Η βιβλιοθήκη συναρτήσεων αποτελείται από µία αντιστοίχηση από ονόµατα συναρτήσεων και συναρτήσεις. Η κάθε συνάρτηση δέχεται µηδέν ή περισσότερα ορίσµατα και επιστρέφει ένα και µόνο αποτέλεσµα. Οι δηλώσεις Namespace αποτελούνται από µία αντιστοίχηση από προθέµατα και namespace URLs. 16

17 Οι δεσµευµένες µεταβλητές, η βιβλιοθήκη συναρτήσεων και οι δηλώσεις Namespace χρησιµοποιούνται για να αποτιµηθεί µία υπο-έκφραση είναι πάντα ίδιες µε αυτές που χρησιµοποιούνται για να αποτιµηθεί η περικλείουσα έκφραση. Ο κόµβος περιεχοµένου, η θέση του περιεχοµένου και το µέγεθος περιεχοµένου που χρησιµοποιούνται για να αποτιµηθεί µία υπο-έκφραση µπορεί, όµως, να είναι διαφορετικές από αυτές που χρησιµοποιούνται για να αποτιµηθεί η περικλείουσα έκφραση. Αρκετά είδη εκφράσεων αλλάζουν τον κόµβο περιεχοµένου, αλλά µόνο κατηγορήµατα αλλάζουν τη θέση και το µέγεθος περιεχοµένου. Ένα πολύ σηµαντικό είδος εκφράσεων είναι το µονοπάτι τοποθεσίας. Ένα µονοπάτι τοποθεσίας επιλέγει ένα σύνολο από κόµβους σχετικούς µε τον κόµβο περιεχοµένου. Το αποτέλεσµα της αποτίµησης µίας έκφρασης, η οποία είναι µονοπάτι τοποθεσίας, είναι το σύνολο κόµβων (node-set) το οποίο περιλαµβάνει τους επιλεγµένους από το µονοπάτι τοποθεσίας κόµβους. Τα µονοπάτια τοποθεσίας µπορούν αναδροµικά να περιέχουν εκφράσεις οι οποίες χρησιµοποιούνται για να φιλτράρουν σύνολα κόµβων Μονοπάτια τοποθεσίας Παρόλο που τα µονοπάτια τοποθεσίας δεν είναι η γενικότερη γραµµατική έννοια στην γλώσσα XPath (ένα µονοπάτι τοποθεσίας είναι µία ειδική περίπτωση έκφρασης), είναι ωστόσο θεµελιώδης έννοια και γι αυτό θα περιγραφεί πρώτη. Το κάθε µονοπάτι τοποθεσίας µπορεί να περιγραφεί χρησιµοποιώντας µία ευθεία σύνταξη ή µία πιο φλύαρη σύνταξη. Υπάρχουν επίσης πάρα πολλές συντακτικές συντοµεύσεις, οι οποίες επιτρέπουν να εκφραστούν κάποιες κοινές περιπτώσεις λακωνικά. Στη συνέχεια θα προσπαθήσουµε να εξηγήσουµε τη σηµασιολογία των µονοπατιών τοποθεσίας µε την αναλυτική σύνταξη. Ακολουθούν µερικά παραδείγµατα µονοπατιών τοποθεσίας χρησιµοποιώντας την αναλυτική σύνταξη: 17

18 child::para επιλέγει τα στοιχεία para τα οποία είναι παιδιά του κόµβου περιεχοµένου. child::* επιλέγει όλα τα στοιχεία τα οποία είναι παιδιά του κόµβου περιεχοµένου. child::text() επιλέγει όλους κόµβους κειµένου οι οποίοι είναι παιδιά του κόµβου περιεχοµένου. child::node() επιλέγει όλα τα παιδιά του κόµβου περιεχοµένου, άσχετα από τον τύπο κόµβου τους. attribute::name επιλέγει τη µεταβλητή name του κόµβου περιεχοµένου. attribute::* επιλέγει όλες τις µεταβλητές του κόµβου περιεχοµένου. descendant::para επιλέγει όλα τα στοιχεία para τα οποία είναι απόγονοι του κόµβου περιεχοµένου. ancestor::div επιλέγει όλους τους div προγόνους του κόµβου περιεχοµένου. ancestor-or-self::div επιλέγει τους div προγόνους του κόµβου περιεχοµένου και, αν ο κόµβος περιεχοµένου είναι στοιχείο div, τότε επιλέγει και τον κόµβο περιεχοµένου. descendant-or-self::para επιλέγει τα στοιχεία para τα οποία είναι απόγονοι του κόµβου περιεχοµένου και, αν ο κόµβος περιεχοµένου είναι στοιχείο para, τότε επιλέγει και τον κόµβο περιεχοµένου. self::para επιλέγει τον κόµβο περιεχοµένου αν είναι στοιχείο para, αλλιώς δεν επιλέγει τίποτα. child::chapter/descendant::para επιλέγει τα στοιχεία para τα οποία είναι απόγονοι των παιδιών κεφαλαίων του κόµβου περιεχοµένου. child::*/child::para επιλέγει όλα τα εγγόνια para του κόµβο περιεχοµένου. / επιλέγει τη ρίζα του εγγράφου (η οποία είναι πάντα ο γονέας του του στοιχείου του εγγράφου). /descendant::para επιλέγει όλα τα στοιχεία para τα οποία βρίσκονται στο ίδιο έγγραφο µε τον κόµβο περιεχοµένου. /descendant::olist/child::item επιλέγει όλα τα στοιχεία τα οποία έχουν έναν γονέα olist και βρίσκονται στο ίδιο έγγραφο µε τον κόµβο περιεχοµένου. child::para[position()=1] επιλέγει το πρώτο παιδί para του κόµβου περιεχοµένου. 18

19 child::para[position()=last()] επιλέγει το τελευταίο παιδί para του κόµβου περιεχοµένου. child::para[position()=last()-1] επιλέγει το προτελευταίο παιδί para του κόµβου περιεχοµένου. child::para[position()>1] επιλέγει όλα τα παιδιά para του κόµβου περιεχοµένου εκτός από το πρώτο παιδί του κόµβου περιεχοµένου. following-sibling::chapter[position()=1] επιλέγει τα αδέλφια του εποµένου κεφαλαίου του κόµβου περιεχοµένου. preceding-sibling::chapter[position()=1] επιλέγει τα αδέλφια του προηγούµενου κεφαλαίου του κόµβου περιεχοµένου. /descendant::figure[position()=42] επιλέγει την τεσσαρακοστό δεύτερο στοιχείο - σχήµα του εγγράφου. /child::doc/child::chapter[position()=5]/child::section[position()=2] επιλέγει τη δεύτερη ενότητα του πέµπτου κεφαλαίου του στοιχείου doc του εγγράφου. child::para[attribute::type="warning"] επιλέγει όλα τα παιδιά para του κόµβου περιεχοµένου τα οποία έχουν έναν τύπο µεταβλητής µε τιµή warning. child::para[attribute::type='warning'][position()=5] επιλέγει το πέµπτο para παιδί του κόµβου περιεχοµένου το οποίο έχει έναν τύπο µεταβλητής µε τιµή warning. child::para[position()=5][attribute::type="warning"] επιλέγει το πέµπτο para παιδί του κόµβου περιεχοµένου µόνο αν αυτό το παιδί έχει έναν τύπο µεταβλητής µε τιµή warning. child::chapter[child::title='introduction'] επιλέγει τα παιδιά κεφάλαια του κόµβου περιεχοµένου τα οποία έχουν ένα η περισσότερα παιδιά τίτλους µε τιµή (string-value) ίση µε το «Introduction». child::chapter[child::title] επιλέγει τα παιδιά κεφάλαια του κόµβου περιεχοµένου τα οποία έχουν ένα η περισσότερα παιδιά. child::*[self::chapter or self::appendix] επιλέγει τα παιδιά κεφάλαια και παραρτήµατα του κόµβου περιεχοµένου. child::*[self::chapter or self::appendix][position()=last()] επιλέγει το τελευταίο παιδί κεφάλαιο ή παράρτηµα του κόµβου περιεχοµένου. 19

20 Υπάρχουν δύο είδη µονοπατιών τοποθεσίας: τα σχετικά µονοπάτια τοποθεσίας και τα απόλυτα µονοπάτια τοποθεσίας. Ένα σχετικό µονοπάτι τοποθεσίας αποτελείται από µία σειρά από ένα ή περισσότερα µονοπάτια τοποθεσίας χωρισµένα από τον χαρακτήρα / (slash). Τα βήµατα σε ένα σχετικό µονοπάτι τοποθεσίας συντίθενται από τα αριστερά προς τα δεξιά. Το κάθε βήµα µε τη σειρά του επιλέγει ένα σύνολο από κόµβους σχετικούς έναν κόµβο περιεχοµένου. Κάθε ένας κόµβος από αυτό το σύνολο χρησιµοποιείται ως κόµβος περιεχοµένου για το επόµενο βήµα. Τα σύνολα των κόµβων που βρίσκονται από αυτό το βήµα συγκεντρώνονται όλα µαζί. Το σύνολο των κόµβων που προκύπτει από τη σύνθεση των βηµάτων είναι αυτή η ένωση. Για παράδειγµα, η child::div/child::para επιλέγει τα στοιχεία para τα οποία είναι παιδιά των στοιχείων div τα οποία είναι παιδιά του κόµβου περιεχοµένου ή, µε άλλα λόγια, τα στοιχεία para τα οποία είναι εγγόνια και έχουν γονείς στοιχείο div. Ένα απόλυτο µονοπάτι τοποθεσίας αποτελείται από χαρακτήρες / προαιρετικά ακολουθούµενους από ένα σχετικό µονοπάτι τοποθεσίας. Ένα / από µόνο του επιλέγει τον κόµβο ρίζα του εγγράφου που περιέχει τον κόµβο περιεχοµένου. Αν ακολουθείται από ένα σχετικό µονοπάτι τοποθεσίας, τότε το µονοπάτι τοποθεσίας επιλέγει το σύνολο των κόµβων οι οποίοι θα µπορούσαν να επιλεχθούν από το σχετικό µονοπάτι τοποθεσίας το οποίο είναι σχετικό µε τον κόµβο ρίζα του εγγράφου που περιέχει τον κόµβο περιεχοµένου. Μονοπάτια τοποθεσίας [1] LocationPath ::= RelativeLocationPath AbsoluteLocationPath [2] AbsoluteLocationPath ::= '/' RelativeLocationPath? AbbreviatedAbsoluteLocationPath [3] RelativeLocationPath ::= Step RelativeLocationPath '/' Step AbbreviatedRelativeLocationPath 20

21 Βήµατα τοποθεσίας Ένα βήµα τοποθεσίας έχει τρία µέρη: Ένα άξονα, ο οποίος ορίζει την δενδρική σχέση µεταξύ των κόµβων οι οποίοι επιλέγονται από το βήµα τοποθεσίας και τον κόµβο περιεχοµένου. Έναν έλεγχο κόµβου, ο οποίος ορίζει τον τύπο κόµβου και το εκτεταµένο όνοµα των κόµβων οι οποίοι επιλέγονται από το βήµα τοποθεσίας, και Μηδέν ή περισσότερα κατηγορήµατα, τα οποία χρησιµοποιούν εκφράσεις για να προσδιορίσουν περεταίρω το σύνολο των επιλεγµένων από το βήµα τοποθεσίας κόµβων. Η σύνταξη για το βήµα τοποθεσίας είναι το όνοµα του άξονα και ο έλεγχος κόµβου χωρισµένα µε µία διπλή άνω κάτω τελεία, ακολουθούµενη από µηδέν ή περισσότερες εκφράσεις, κάθε µία εκ των οποίων µέσα σε τετράγωνες αγκύλες. Για παράδειγµα στο child::para[position()=1], το child είναι το όνοµα του άξονα, το para είναι ο έλεγχος κόµβου και το [position()=1] είναι το κατηγόρηµα. Βήµατα τοποθεσίας [4] Step ::= AxisSpecifier NodeTest Predicate* AbbreviatedStep [5] AxisSpecifier ::= AxisName '::' AbbreviatedAxisSpecifier 21

22 Άξονες Υπάρχουν οι παρακάτω διαθέσιµοι άξονες: Άξονας Child Descendant Parent Ancestor Following-sibling Preceding-sibling Following Preceding Attribute Namespace Self Descendant-or-self Ancestor-or-self Επεξήγηση Τα παιδιά του τρέχοντα κόµβου. Οι απόγονοι του τρέχοντα κόµβου. Ο γονέας του τρέχοντα κόµβου. Όλοι οι πρόγονοι του εκάστοτε κόµβου. Περιλαµβάνει τα στοιχεία στα οποία περιέχεται το στοιχείο αυτό, συµπεριλαµβανοµένου και του κόµβου-ρίζα. Όλοι οι κόµβοι που τον ακολουθούν και βρίσκονται στο ίδιο επίπεδο µε αυτόν. Όλοι οι κόµβοι που έπονται του τρέχοντα κόµβου και βρίσκονται στο ίδιο επίπεδο µε αυτόν. Όλοι οι κόµβοι που τον ακολουθούν. Όλοι οι κόµβοι που έπονται του τρέχοντα κόµβου. Οι ιδιότητες του τρέχοντα κόµβου. Όλοι οι κόµβοι µε συγκεκριµένο χώρο ονοµατοδοσίας (Namespace). Ο ίδιος ο τρέχων κόµβος. Ο τρέχοντας κόµβος και οι απόγονοι του. Ο τρέχοντας κόµβος και όλοι οι πρόγονοι του. Προσοχή: Οι άξονες ancestor, descendant, following, preceding και self χωρίζουν ένα έγγραφο (αγνοώντας κόµβους µε µεταβλητές ή namespace). εν επικαλύπτουν και όλοι µαζί περιλαµβάνουν όλους τους κόµβους του εγγράφου. 22

23 Άξονες [6] AxisName ::= 'ancestor' 'ancestor-or-self' 'attribute' 'child' 'descendant' 'descendant-or-self' 'following' 'following-sibling' 'namespace' 'parent' 'preceding' 'preceding-sibling' 'self' Έλεγχος κόµβου Ο κάθε άξονας έχει έναν βασικό τύπο κόµβου. Αν ένας άξονας µπορεί να περιέχει στοιχεία, τότε ο βασικός τύπος κόµβου είναι κι αυτός στοιχείο, µε άλλα λόγια, είναι ο τύπος των κόµβων τον οποίο ο άξονας µπορεί να εµπεριέχει. Γι αυτό: Για τον άξονα attribute, ο βασικός τύπος κόµβου είναι attribute. Για τον άξονα namespace, ο βασικός τύπος κόµβου είναι namespace. Για τους άλλους άξονες, ο βασικός τύπος κόµβου είναι στοιχείο. Ο έλεγχος κόµβου είναι οι όροι οι οποίοι χρησιµοποιούνται για την σύνδεση των αξόνων. Στη συνέχεια παραθέτουµε τους κυριότερους από αυτούς: 23

24 όρος επεξήγηση / Ο κόµβος ρίζας. Node() Κάθε κόµβος εκτός της ρίζας και των χαρακτηριστικών. * Το σύνολο των στοιχείων. Text() Κάθε κόµβος κειµένου. Processing-instruction Κάθε οδηγία επεξεργασίας. Comment() Κάθε κόµβος Μία ιδιότητα. Ο έλεγχος κόµβου text() είναι αληθής για κάθε κόµβο text. Για παράδειγµα, το child::text() θα επιλέξει τον κόµβο text, ο οποίος είναι παιδί του κόµβου περιεχοµένου. Οµοίως, ο έλεγχος κόµβου comment() είναι αληθής για κάθε κόµβο comment και ο έλεγχος κόµβου processing-instruction() είναι αληθής για κάθε κόµβο processing instruction. Ο έλεγχος processing-instruction() µπορεί να έχει ένα όρισµα το οποίο είναι Literal. Σε αυτή την περίπτωση, είναι αληθής για κάθε κόµβο processing instruction ο οποίος έχει ένα όνοµα ίσο µε την τιµή του Literal. τύπου. Ένας έλεγχος κόµβου node() είναι αληθής για κάθε κόµβο οποιουδήποτε Έλεγχος κόµβου [7] NodeTest ::= NameTest NodeType '(' ')' 'processing-instruction' '(' Literal ')' Κατηγορήµατα Ένας άξονας έχει κατεύθυνση είτε προς τα εµπρός είτε προς τα πίσω. Ένας άξονας ο οποίος έχει πάντα µόνο τον κόµβο περιεχοµένου ή τους κόµβους οι οποίοι είναι µετά τον κόµβο περιεχοµένου µε βάση τη σειρά του εγγράφου είναι ένας προς τα εµπρός (forward) άξονας. Ένας άξονας ο οποίος έχει πάντα µόνο τον κόµβο 24

25 περιεχοµένου ή τους κόµβους οι οποίοι είναι πριν τον κόµβο περιεχοµένου µε βάση τη σειρά του εγγράφου είναι ένας προς τα πίσω (reverse) άξονας. Οπότε οι άξονες ancestor, ancestor-or-self, preceding και preceding-sibling είναι προς τα πίσω άξονες, ενώ όλοι οι άλλοι είναι προς τα εµπρός άξονες. Η εγγύς θέση ενός µέλους ενός συνόλου κόµβων, µε βάση κάποιον άξονα, ορίζεται να είναι η θέση του κόµβου στο σύνολο ταξινοµηµένη µε τη σειρά του εγγράφου αν ο άξονας είναι forward και ταξινοµηµένη ανάποδα αν ο άξονας είναι reverse. Η πρώτη θέση είναι η 1. Ένα κατηγόρηµα φιλτράρει ένα σύνολο κόµβων µε βάση έναν άξονα για να παράξει ένα νέο σύνολο κόµβων. Μία έκφραση κατηγορήµατος (PredicateExpr) αποτιµάται εκτελώντας ουσιαστικά την έκφραση (Expr) και µετατρέπει το αποτέλεσµα σε Boolean. Αν το αποτέλεσµα είναι αριθµός, το αποτέλεσµα θα µετατραπεί σε αληθές αν ο αριθµός είναι ίσος µε τη θέση περιεχοµένου, αλλιώς θα µετατραπεί σε ψευδές. Αν το αποτέλεσµα δεν είναι αριθµός, τότε το αποτέλεσµα θα µετατραπεί όπως κι αν καλούσαµε µία boolean συνάρτηση. Οπότε το µονοπάτι τοποθεσίας para[3] είναι ίσο µε το para[position()=3]. Κατηγορήµατα [8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr 2.3. Πίνακες επεξηγήσεων Λόγω του τεράστιου όγκου των δυνατοτήτων της γλώσσας ερωτηµάτων XPath θα αποφύγουµε τη βαθύτερη ανάλυση αλλά θα παραθέσουµε τους πίνακες αναφοράς που θα χρειαστεί ο επίδοξος χρήστης της. 25

26 Συντοµογραφίες [10] AbbreviatedAbsoluteLocationPath ::= '//' RelativeLocationPath [11] AbbreviatedRelativeLocationPath ::= RelativeLocationPath '//' Step [12] AbbreviatedStep ::= '.' '..' [13] AbbreviatedAxisSpecifier ::= Βασικές εκφράσεις [14] Expr ::= OrExpr [15] PrimaryExpr ::= VariableReference '(' Expr ')' Literal Number FunctionCall Κλήσεις συναρήσεων [16] FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument )* )? ')' [17] Argument ::= Expr Σύνολα κόµβων [18] UnionExpr ::= PathExpr UnionExpr ' ' PathExpr [19] PathExpr ::= LocationPath FilterExpr FilterExpr '/' RelativeLocationPath FilterExpr '//' RelativeLocationPath [20] FilterExpr ::= PrimaryExpr FilterExpr Predicate 26

27 Booleans [21] OrExpr ::= AndExpr OrExpr 'or' AndExpr [22] AndExpr ::= EqualityExpr AndExpr 'and' EqualityExpr [23] EqualityExpr ::= RelationalExpr EqualityExpr '=' RelationalExpr EqualityExpr '!=' RelationalExpr [24] RelationalExpr ::= AdditiveExpr RelationalExpr '<' AdditiveExpr RelationalExpr '>' AdditiveExpr RelationalExpr '<=' AdditiveExpr RelationalExpr '>=' AdditiveExpr Αριθµητικέ εκφράσεις [25] AdditiveExpr ::= MultiplicativeExpr AdditiveExpr '+' MultiplicativeExpr AdditiveExpr '-' MultiplicativeExpr [26] MultiplicativeExpr ::= UnaryExpr MultiplicativeExpr MultiplyOperator UnaryExpr MultiplicativeExpr 'div' UnaryExpr MultiplicativeExpr 'mod' UnaryExpr [27] UnaryExpr ::= UnionExpr '-' UnaryExpr 27

28 Εκφράσεις λεξικογραφικής δοµής [28] ExprToken ::= '(' ')' '[' ']' '.' '..' ',' '::' NameTest NodeType Operator FunctionName AxisName Literal Number VariableReference [29] Literal ::= '"' [^"]* '"' "'" [^']* "'" [30] Number ::= Digits ('.' Digits?)? '.' Digits [31] Digits ::= [0-9]+ [32] Operator ::= OperatorName MultiplyOperator '/' '//' ' ' '+' '-' '=' '!=' '<' '<=' '>' '>=' [33] OperatorName ::= 'and' 'or' 'mod' 'div' [34] MultiplyOperator ::= '*' [35] FunctionName ::= QName - NodeType [36] VariableReference ::= '$' QName [37] NameTest ::= '*' NCName ':' '*' QName [38] NodeType ::= 'comment' 'text' 'processing-instruction' 'node' 28

29 [39] ExprWhitespace ::= S Τέλος υπάρχουν δεκάδες συναρτήσεις οι οποίες µπορούν να χρησιµοποιηθούν προκειµένου να επιτύχει ο χρήστης το αποτέλεσµα που επιθυµεί. Η βιβλιοθήκη συναρτήσεων αποτελείται από µία αντιστοίχηση από ονόµατα συναρτήσεων και συναρτήσεις. Η κάθε συνάρτηση δέχεται µηδέν ή περισσότερα ορίσµατα και επιστρέφει ένα και µόνο αποτέλεσµα. 29

30 3. Η γλώσσα ερωτηµάτων XQuery [7][8][9] Η XQuery (XML Query Language) είναι γλώσσα ερωτηµάτων σε βάσεις XML δεδοµένων και σε XML έγγραφα. Σχεδιάστηκε για την ανάκτηση πληροφοριών από XML συλλογές δεδοµένων. Σηµασιολογικά παρουσιάζει οµοιότητες µε την SQL. Η XQuery, η γλώσσα ερωτηµάτων της XML, η οποία κατασκευάστηκε από την W3C είναι συµβατή, όπως έχει προαναφερθεί, µε την XML, την XSLT, την XPath και την XML Schema. Παρά την µεγάλη χρηστικότητα της, δεν έχει αποτελέσει ακόµα καθιερωµένο πρότυπο. Η XQuery ακολουθώντας, την δοµή της XPath αναπαριστά ένα δέντρο κόµβων. Τα είδη των κόµβων είναι τα ήδη γνωστά µας από την XPath: Τεκµηρίου (document nodes). Στοιχείων (element nodes). Γνωρισµάτων (attribute nodes). Κειµένου (text nodes). Χώρων ονοµάτων (namespace nodes). Οδηγιών επεξεργασίας (processing instruction nodes). Σχολίων (comment nodes). Κάθε κόµβος έχει µία µοναδική ταυτότητα κόµβου που του δίνει τη δυνατότητα να ξεχωρίζει από άλλους κόµβους. Συγχρόνως, είναι επιτρεπτές οι ατοµικές τιµές (atomic values), όπως οι συµβολοσειρές (string), οι ακέραιοι (integer), οι δεκαδικοί (decimal) και οι ηµεροµηνίες (date). Ένα αντικείµενο (item) είναι µία µοναδική τιµή ή ένας µεµονωµένος κόµβος. Μία σειρά αντικειµένων αποτελεί µία ακολουθία. Στην XQuery κάθε τιµή είναι µία ακολουθία και γι αυτό το λόγο δεν διακρίνεται διαφορά µεταξύ ενός αντικειµένου και µίας µακροσκελούς ακολουθίας. 30

31 Ο πρώτος κόµβος σε ένα τεκµήριο είναι ο κόµβος του τεκµηρίου (document node), ο οποίος εµπεριέχει ολόκληρο το τεκµήριο, αναπαριστά, δηλαδή, το ίδιο το τεκµήριο. Οι κόµβοι στοιχείων, σχολίων και οδηγιών επεξεργασίας έχουν την ίδια σειρά µε την οποία τους συναντάµε στην XML. Οι κόµβοι στοιχείων συναντιόνται πριν τα παιδιά τους (που είναι επίσης κόµβοι στοιχείων), τους κόµβους κειµένου, τους κόµβους σχολίων και τις οδηγίες επεξεργασίας. Τα γνωρίσµατα δεν θεωρούνται παιδιά των στοιχείων, αλλά έχουν µία προκαθορισµένη θέση µέσα στο κείµενο, τα συναντάµε πριν τα παιδιά του στοιχείου στο οποίο βρίσκονται. Ιδιαίτερα σηµαντικό, εδώ, είναι να σηµειώσουµε, ότι κάθε κόµβος συναντάται µόνο µία φορά στο κείµενο. Η XQuery παρέχει τη δυνατότητα ανάκτησης και διαχείρισης δεδοµένων που περιέχονται σε XML έγγραφα ή σε οποιαδήποτε πηγή µπορεί να αντιµετωπιστεί ως XML. Η XQuery είναι µια λειτουργική γλώσσα στην οποία κάθε ερώτηµα είναι µια έκφραση. Οι εκφράσεις XQuery εµπίπτουν σε επτά ευρείς τύπους: 1. Εκφράσεις διαδροµής (path expressions). 2. Κατασκευαστές στοιχείων (element constructor). 3. Εκφράσεις FLWR (FLWR expressions). 4. Εκφράσεις που περιέχουν χειριστές και συναρτήσεις. 5. Εκφράσεις συνθήκης (conditional expressions). 6. Ποσοτικές εκφράσεις. 7. Εκφράσεις που δοκιµάζουν ή µετατρέπουν τύπους δεδοµένων. Η XQuery είναι ένα περίπλοκο σύστηµα τύπων βασισµένο στους τύπους δεδοµένων των XML Schemas και υποστηρίζει την διαχείριση των κόµβων του εγγράφου. Η XQuery, διαχειρίζεται τα XML έγγραφα ως δένδρα που αποτελούνται από κόµβους. Τα είδη των κόµβων που προκύπτουν είναι τα εξής: έγγραφο, στοιχείο, κείµενο, γνώρισµα, χώρος ονοµατοδοσίας (namespace), οδηγίες επεξεργασίας, και σχόλιο. Η σύνταξη των δηλώσεων που χρησιµοποιούνται για τον εντοπισµό των κόµβων (δηλώσεις διαδροµής - path expression) προέρχεται από τη σύνταξη της γλώσσας XPath. 31

32 Ένα απλό παράδειγµα χρήσης της XQuery για τον εντοπισµό κόµβων είναι το εξής: doc ( books.xml )/bib/book. Η παραπάνω δήλωση ανοίγει το έγγραφο books.xml χρησιµοποιώντας την συνάρτηση doc (), η οποία επιστρέφει το έγγραφο. Στο επόµενο βήµα δηλώνεται το /bib που επιστρέφει το root element και στη συνέχεια δηλώνεται το /book που επιστρέφει όλα τα στοιχεία book που βρίσκονται στο στοιχείο (element) bib. Το αποτέλεσµα αυτού είναι να επιστρέψει τα τρία στοιχεία book που περιέχονται στο ριζικό στοιχείο bib. Μέσω της XQuery παρέχεται η δυνατότητα δηµιουργίας νέων κόµβων. Συγκεκριµένα, για τη δηµιουργία των νέων στοιχείων, χρησιµοποιούνται οι αγκύλες οι οποίες περιέχουν δηλώσεις που εκτελούνται για τη δηµιουργία νέου περιεχοµένου. Οι δηλώσεις που περιέχονται στις αγκύλες επιτρέπουν την δηµιουργία νέων XML τιµών αναδοµώντας υπάρχουσες XML τιµές. Καθώς οι τιµές µέσα στις αγκύλες αποτιµώνται (γίνονται evaluate) πρώτα και µετά επιστέφεται η τιµή που προκύπτει από την αποτίµηση. Οι δηλώσεις FLWR, είναι οι πιο συνηθισµένες και πιο ισχυρές δηλώσεις της γλώσσας XQuery. Οι δηλώσεις αυτές είναι παρόµοιες µε τις δηλώσεις SELECT FROM WHERE που χρησιµοποιούνται στην γλώσσα SQL για την διαχείριση των βάσεων δεδοµένων. Αντίθετα, όµως µε την SQL, όπου οι δηλώσεις καθορίζονται µε βάση τους πίνακες µιας βάσης δεδοµένων, τις εγγραφές και τα χαρακτηριστικά τους, οι FLWR δηλώσεις δεσµεύουν µεταβλητές µε τιµές µέσω των for και των let συντακτικών µονάδων (clause), και χρησιµοποιούν αυτές τις αντιστοιχίες για την δηµιουργία νέων αποτελεσµάτων. Ένας συνδυασµός τέτοιων αποτελεσµάτων ονοµάζεται συστοιχία (tuple). Τα αρχικά FLWR προέρχονται από τα πρώτα γράµµατα των συντακτικών µονάδων που χρησιµοποιούνται στις εκφράσεις FLWR και είναι οι εξής : 32

33 For:: εσµεύει µια ή περισσότερες µεταβλητές σε σειρά από συστοιχίες. Let: εσµεύουν µεταβλητές σε ολόκληρο το αποτέλεσµα µιας δήλωσης, είτε προσθέτοντας αυτές τις δεσµεύσεις στις συστοιχίες που δηµιουργούνται από τη µονάδα for, είτε δηµιουργώντας µια απλή συστοιχία που να περιέχει αυτές τις δεσµεύσεις σε περίπτωση που δεν έχει οριστεί µια for συντακτική µονάδα. Where: Φιλτράρει συστοιχίες, διατηρώντας µόνο αυτές που ικανοποιούν µια συνθήκη. Οrder by: Ταξινοµεί τις συστοιχίες. Return: ηµιουργούν αποτελέσµατα µιας FLWR δήλωσης για µια δοσµένη συστοιχία. Μια FLWR δήλωση ξεκινάει µε µια ή περισσότερες for, let µονάδες τοποθετηµένες σε οποιαδήποτε σειρά, ακολουθούµενες από τις συντακτικές µονάδες where, order by και return. Η χρήση των where και order by είναι προαιρετική ενώ η χρήση της return είναι υποχρεωτική. Οι FLWR δηλώσεις καθορίζονται από τις συστοιχίες οι οποίες δηµιουργούνται µέσω των µονάδων for και let, συνεπώς κάθε FLWR δήλωση πρέπει να αποτελείται από τουλάχιστον µια for ή let µονάδα. Τα παραδείγµατα που ακολουθούν βοηθούν ώστε να γίνει κατανοητός ο τρόπος µε τον οποίο δηµιουργούνται οι συστοιχίες στις FLWR δηλώσεις. Η συντακτική µονάδα let δεσµεύει µια µεταβλητή σε ολόκληρο το αποτέλεσµα µιας δήλωσης. Αν δεν έχουν οριστεί for µονάδες, τότε δηµιουργείται µια απλή συστοιχία, που περιέχει τις δεσµεύσεις µιας µεταβλητής όπως ορίστηκε µέσω της let µονάδας. Η συντακτική µονάδα where επιλέγει τις συστοιχίες αυτές που ικανοποιούν συγκεκριµένες συνθήκες. Η µονάδα return εκτελείται µόνο για τις συστοιχίες που επιστρέφονται από τη µονάδα where. Η συντακτική µονάδα order by, ταξινοµεί τις συστοιχίες πριν την εκτέλεση της µονάδας return προκειµένου να αλλάξει η σειρά των αποτελεσµάτων. 33

34 Όµοια µε τις συντακτικές µονάδες for και let, όπου επιτρέπουν τη δέσµευση µεταβλητών σε οποιαδήποτε δήλωση και µε την µονάδα where η οποία µπορεί να περιέχει οποιαδήποτε Boolean δήλωση, η µονάδα return µπορεί να περιέχει οποιαδήποτε δήλωση. Τέλος η XQuery επιτρέπει και τη δήλωση συναρτήσεων. Για την εκτέλεση µίας συνάρτησης η έκφραση στο σώµα της συνάρτησης υπολογίζεται και η τιµή επιστρέφεται. 34

35 4. EAD Encoded Archival Description [10] [11] [12] [13] [14] 4.1. Ορισµός Το EAD (Encoded Archival Description) είναι ένα XML πρότυπο για την κωδικοποίηση των βοηθηµάτων εύρεσης αρχείων, το οποίο διατηρείται από τη βιβλιοθήκη του κογκρέσου σε συνεργασία µε την Κοινωνία των Αµερικανών Αρχειοφυλάκων (Society of American Archivists). Πρόκειται για ένα συνεχώς αναπτυσσόµενο πρότυπο το οποίο χρησιµοποιείται διεθνώς σε ένα αυξανόµενο αριθµό βιβλιοθηκών αρχείων και χειρογράφων για την κωδικοποίηση δεδοµένων που περιγράφουν επιχειρηµατικά αρχεία και προσωπικά έγγραφα. Υπάρχει µεγάλη ποικιλία περιγραφών από βοηθήµατα εύρεσης, οδηγοί µέχρι λίστες ή κατάλογοι. Η περιγραφή αρχείων έχει πολλά κοινά µε τη βιβλιογραφική περιγραφή, αλλά διαφέρει απ αυτήν σε πολλά. Από το ξεκίνηµά της το EAD στηρίχθηκε στην SGML (Standard Generalized Markup Language) και µε την κυκλοφορία της έκδοσης 1.0 το 1998, είναι πλέον συµβατό µε την XML. To EAD αναπτύχθηκε και συνεχίζει να αναπτύσσεται από την κοινωνία των αρχειοφυλάκων. Αν και η ανάπτυξή του άρχισε στις Ηνωµένες Πολιτείες, το διεθνές ενδιαφέρον και η συµβολή του αυξάνουν συνεχώς Ιστορικό To EAD ξεκίνησε το 1993 στο Πανεπιστήµιο της Καλιφόρνιας (Berkeley). Ο στόχος της έρευνας ήταν η δηµιουργία ενός προτύπου για την περιγραφή συλλογών που απαρτίζονται από αρχεία και ειδικές συλλογές, παρόµοιο µε το πρότυπο MARC για την περιγραφή κανονικών βιβλίων. Ένα τέτοιο πρότυπο επιτρέπει στα µουσεία, βιβλιοθήκες και στις αποθήκες χειρογράφων να δηµιουργούν λίστες µε τα αντικείµενά τους και να τα περιγράφουν µε τέτοιο τρόπο, ώστε να είναι αναγνώσιµα από µηχανές και εποµένως εύκολα στην αναζήτηση διατήρηση και συναλλαγή. Από τη δηµιουργία του πολλές ειδικές συλλογές και αρχεία το απέκτησαν. 35

36 Συµπληρωµατικά προς την εργασία ανάπτυξης και διατήρησής του που πραγµατοποιήθηκε από τη βιβλιοθήκη του κογκρέσου και την Κοινωνία των Αµερικανών Αρχειοφυλάκων, ο Όµιλος Έρευνας Βιβλιοθηκών (Research Libraries Group-RLG) ανέπτυξε και εξέδωσε ένα σύνολο «καλών πρακτικών», οδηγιών υλοποίησης του EAD, το οποίο παρουσιάζει υποχρεωτικά, προτεινόµενα και προαιρετικά στοιχεία και χαρακτηριστικά. O RLG παρείχε επίσης και ένα είδος εύκολου τρόπου εύρεσης βοηθηµάτων σε EAD διαµόρφωση, ο οποίος είναι γνωστός ως ArchiveGrid. Οι βιβλιοθήκες-µέλη δίνουν στον RLG το URL των βοηθηµάτων εύρεσης που διαθέτουν και ο RLG αυτόµατα µαζεύει δεδοµένα από τα βοηθήµατα αυτά, τα ευρετηριάζει και παρέχει µια διεπαφή αναζήτησης για το ευρετήριο. Επίσης παρέχει στους αναζητητές τη δυνατότητα αναζήτησης µεταξύ αρκετών εκατοντάδων συλλογών ιδρυµάτων µε ένα απλό ερώτηµα. Ο RLG ανέπτυξε το «RLG Report Card», ένα αυτοµατοποιηµένο πρόγραµµα ελέγχου ποιότητας το οποίο θα αναλύει ένα EAD στιγµιότυπο και θα αναφέρει τυχόν περιοχές που διαφοροποιείται από τις οδηγίες των «καλών πρακτικών» Χρησιµότητα του EAD Υπάρχουν πολλοί λόγοι για την ανάπτυξη ενός προτύπου κωδικοποίησης αρχείων το οποίο βασίζεται στην ύπαρξη µιας κοινότητας. Καθώς τα αρχεία απασχολούν όλο και περισσότερη τεχνολογία υπολογιστών και δικτύων για τη δηµιουργία και τη διατήρηση πολύ σηµαντικών πληροφοριών που έχουν ιδιαίτερη αξία, χρειάζονται µια επαρκή εγγύηση ότι οι πληροφορίες αυτές θα επιβιώσουν των ραγδαίων αλλαγών στο software και hardware. Αν οι αρχειοφύλακες δε λάβουν υπόψη του αυτή την απαίτηση, τότε θα διαπιστώσουν-για την ακρίβεια πολλοί το έχουν ήδη διαπιστώσει- ότι οι πληροφορίες που δηµιουργήθηκαν χθες, δε µπορούν να χρησιµοποιηθούν σήµερα. Τα ανεξάρτητα πρότυπα κωδικοποίησης του hardware και του software, προσφέρουν τη µόνη επαρκή εγγύηση επιβίωσης της πληροφορίας. Προκειµένου να 36

37 καταφέρουν οι αρχειοφύλακες την αρχειακή περιγραφή εξ ολοκλήρου σ ένα υπολογιστικό περιβάλλον, θα πρέπει να αναπαραστήσουν µε συνέπεια και ακρίβεια τη εννοιολογική του φύση και περιεχόµενο. Τα λογικά τµήµατα της αρχειακής περιγραφής και η σχέσεις τους µεταξύ τους πρέπει να αναγνωριστούν µε ακρίβεια σε µια µορφή µηχανικά αναγνώσιµη, προκειµένου να υποστηρίξουν την εξεζητηµένη ευρετηρίαση, πλοήγηση και παρουσίαση αποτελεσµάτων, που παρέχουν πλήρη και ακριβή πρόσβαση σε, και περιγραφή και έλεγχο των, αρχειακών υλικών. Επιπρόσθετα σ αυτά τα οφέλη, οι οµοιόµορφες προτυποποιηµένες περιγραφές θα διευκολύνουν τους αρχειοφύλακες και τους ερευνητές στην εύκολη αναγνώριση και κατανόηση των σηµαντικών τµηµάτων της αρχειακής περιγραφής και έτσι θα κάνουν τις περιγραφές πολύ πιο χρήσιµες σε σχέση µε το τωρινό χάος των αντικανονικοτήτων. Ωστόσο ο πιο σηµαντικός λόγος για την προτυποποίηση των βοηθηµάτων εύρεσης είναι ότι θα υποστηρίξει το παλιό όνειρο των αρχειοφυλάκων και των ερευνητών να αποκτήσουν παγκόσµια ενοποιηµένη πρόσβαση σε πρωταρχικούς πόρους. Η προτυποποίηση θα καταστήσει εφικτό το χτίσιµο µιας ενοποιηµένης πρόσβασης (µέσω ενοποιηµένων βάσεων δεδοµένων, αλλά πιο ιδανικά µέσω ενοποιηµένων ευρετηρίων) σε αρχειακές περιγραφές που προέρχονται από αποθήκες σε όλο τον κόσµο, οι οποίες θα βοηθήσουν τους χρήστες να ανακαλύψουν ή να εντοπίσουν αρχειακά υλικά από κάθε χώρο κάθε στιγµή. Μια τέτοια πρόσβαση θα βοηθήσει τις βιβλιοθήκες και τα αρχεία να µοιραστούν εύκολα πληροφορίες που αφορούν σε σχετικές, αλλά διαφορετικές εγγραφές και συλλογές καθώς και διασκορπισµένες εγγραφές και συλλογές. Η προτυποποιηµένη περιγραφή επίσης θα ενεργοποιήσει την «ιδεατή» επανένωση των συλλογών που σχετίζονται λόγω προελεύσεως, αλλά είχαν διασκορπιστεί σε διαφορετικές αποθήκες (repositories) Η Αρχειακή Περιγραφή Τα αρχεία και οι βιβλιοθήκες µοιράζονται την ευθύνη να θυµούνται για τους άλλους. Τα αρχεία διαφέρουν από της βιβλιοθήκες ως προς τη φύση τω αρχείων που θυµούνται. Οι βιβλιοθήκες συλλέγουν ξεχωριστά βιβλία και σειρές ή συνδεδεµένα 37

3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath

3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath ιαχείριση εδομένων στον Παγκόσμιο Ιστό Χρήστος ουλκερίδης Τμήμα

Διαβάστε περισσότερα

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ XML-XPath Ι. Χατζηλυγερούδης Ερωτήματα σε έγγραφα XML Αντίστοιχα των ερωτημάτων (queries) σε βάσεις δεδομένων Γλώσσες ερωτημάτων (αντίστοιχες της SQL) XQL (XML Query

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery ιαχείριση εδομένων στον Παγκόσμιο Ιστό Χρήστος ουλκερίδης

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Βασικές Έννοιες - εδοµένα { Νίκος, Μιχάλης, Μαρία, Θάλασσα, Αυτοκίνητο }, αριθµοί, π.χ. {1, 2, 3, 5, 78}, συµβολοσειρές (strings) π.χ. { Κώστας, 5621, ΤΡ 882, 6&5 #1, +

Διαβάστε περισσότερα

επιµέλεια Θοδωρής Πιερράτος

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

Διαβάστε περισσότερα

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

Διαβάστε περισσότερα

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο. Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2.

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (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 Βάσεις Δεδομένων, Προχωρημένο Επίπεδο Ακολουθεί η Εξεταστέα

Διαβάστε περισσότερα

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα. ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο Βάσεις Δεδομένων Εισαγωγή Ανάλυση Απαιτήσεων Φροντιστήριο 1 ο 16-10-2008 Εισαγωγή - Ορισμοί Βάση Δεδομένων είναι μία συλλογή από σχετιζόμενα αντικείμενα Ένα σύστημα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ)

Διαβάστε περισσότερα

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

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο 1 Γλώσσες Σήµανσης Γλώσσες σήµανσης: Αρχικά για τον καθορισµό εµφάνισης σελίδων, γραµµατοσειρών. Στη συνέχεια επεκτάθηκαν

Διαβάστε περισσότερα

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ:

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ: ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: Υπολογιστικά Συστήµατα & Τεχνολογίες Πληροφορικής ΣΥΓΓΡΑΦΕΑΣ: Γιώργος Γιαννόπουλος, διδακτορικός φοιτητής

Διαβάστε περισσότερα

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access... 9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 22 Άνοιγμα και κλείσιμο βάσης δεδομένων... 24 Ερωτήσεις ανακεφαλαίωσης... 25 Πρακτική εξάσκηση...

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

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

Διαβάστε περισσότερα

Πρόβλημα 29 / σελίδα 28

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

Διαβάστε περισσότερα

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος 2.5 Σύστημα αρχειοθέτησης, έγγραφα και βάσεις δεδομένων 2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος Να είναι σε θέση να διατηρήσει ένα καθιερωμένο, ηλεκτρονικό και

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG Μια από τις πιο σηµαντικές ανάγκες που αντιµετωπίζει µια επιχείρηση κατά την εγκατάσταση ενός λογισµικού «πακέτου» (Οικονοµικής & Εµπορικής ιαχείρισης), είναι ο τρόπος µε τον οποίο πρέπει να ανταποκριθεί

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 6. Σχήµατα ιαλειτουργικότητας Μεταδεδοµένων. Το RDF Το Warwick Framework. Ιόνιο Πανεπιστήµιο - Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

ΜΑΘΗΜΑ 6. Σχήµατα ιαλειτουργικότητας Μεταδεδοµένων. Το RDF Το Warwick Framework. Ιόνιο Πανεπιστήµιο - Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας ΜΑΘΗΜΑ 6 195 Σχήµατα ιαλειτουργικότητας Μεταδεδοµένων Το RDF Το Warwick Framework 196 1 Resource Data Framework RDF Τα πολλαπλά και πολλαπλής προέλευσης σχήµατα παραγωγής δηµιουργούν την ανάγκη δηµιουργίας

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

Διαβάστε περισσότερα

Οι διαθέσιμες μέθοδοι σε γενικές γραμμές είναι:

Οι διαθέσιμες μέθοδοι σε γενικές γραμμές είναι: Χωρική Ανάλυση Ο σκοπός χρήσης των ΣΓΠ δεν είναι μόνο η δημιουργία μίας Β.Δ. για ψηφιακές αναπαραστάσεις των φαινομένων του χώρου, αλλά κυρίως, η βοήθειά του προς την κατεύθυνση της υπόδειξης τρόπων διαχείρισής

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

Διαβάστε περισσότερα

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου Ορισµοί κεφαλαίου Αλγόριθµος είναι µια πεπερασµένη σειρά ενεργειών, αυστηρά καθορισµένων και εκτελέσιµων σε πεπερασµένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήµατος. Σηµαντικά σηµεία κεφαλαίου Κριτήρια

Διαβάστε περισσότερα

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

Διαβάστε περισσότερα

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Εργαστήριο 1. Ηλεκτρονικοί Υπολογιστές ΙI. Ακαδημαϊκό Έτος Διαφάνεια 1. Κάπαρης Αναστάσιος

Βάσεις Δεδομένων. Εργαστήριο 1. Ηλεκτρονικοί Υπολογιστές ΙI. Ακαδημαϊκό Έτος Διαφάνεια 1. Κάπαρης Αναστάσιος Βάσεις Δεδομένων Εργαστήριο 1 Διαφάνεια 1 Πώς να δημιουργήσω ένα νέο πίνακα στην ACCESS, όταν έχω την αντίστοιχη οντότητα; Ας υποθέσουμε ότι έχουμε την οντότητα φοιτητής, με ιδιότητες (γνωρίσματα), όπως

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων 1 2.1 Τύποι Δεδομένων Τα δεδομένα σήμερα συναντώνται σε διάφορες μορφές, στις οποίες περιλαμβάνονται αριθμοί,

Διαβάστε περισσότερα

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

Διαβάστε περισσότερα

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

Διαβάστε περισσότερα

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

Διαβάστε περισσότερα

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

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

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

Διαβάστε περισσότερα

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α : Α1. Να

Διαβάστε περισσότερα

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ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. Περίληψη Συνεισφοράς

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

Διαβάστε περισσότερα

o AND o IF o SUMPRODUCT

o AND o IF o SUMPRODUCT Πληροφοριακά Εργαστήριο Management 1 Information Συστήματα Systems Διοίκησης ΤΕΙ Τμήμα Ελεγκτικής Ηπείρου Χρηματοοικονομικής (Παράρτημα Πρέβεζας) και Αντικείµενο: Μοντελοποίηση προβλήµατος Θέµατα που καλύπτονται:

Διαβάστε περισσότερα

Κεφάλαιο 10 Ψηφιακά Λεξικά

Κεφάλαιο 10 Ψηφιακά Λεξικά Κεφάλαιο 10 Ψηφιακά Λεξικά Περιεχόμενα 10.1 Εισαγωγή... 213 10.2 Ψηφιακά Δένδρα... 214 10.3 Υλοποίηση σε Java... 222 10.4 Συμπιεσμένα και τριαδικά ψηφιακά δένδρα... 223 Ασκήσεις... 225 Βιβλιογραφία...

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

Οι νεότερες εξελίξεις στον GM EPC

Οι νεότερες εξελίξεις στον GM EPC Οι νεότερες εξελίξεις στον GM EPC Πλοήγηση με χρήση γραφικών στοιχείων Ο κατάλογος επόμενης γενιάς GM Next Gen EPC διαθέτει διάφορες λειτουργίες που έχουν σχεδιαστεί για ταχύτερη και ευκολότερη εύρεση

Διαβάστε περισσότερα

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

Διαβάστε περισσότερα

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.

Διαβάστε περισσότερα

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

Διαβάστε περισσότερα

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας από βάση δεδομένων Όταν εκκινήσουμε τον Discoverer εμφανίζεται στην οθόνη μας το παράθυρο διαλόγου του βοηθητικού προγράμματος

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Βάσεις Δεδομένων - Γενικά Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα. Τα περιεχόμενα

Διαβάστε περισσότερα

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

Διαβάστε περισσότερα

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

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

Διαβάστε περισσότερα

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Κεφάλαιο 2 - Πρόβλημα 2.1.1. Η έννοια του προβλήματος Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2.1.2. Κατηγορίες προβλημάτων

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ > ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΡΙΣΜΟΣ: Το Cloud Computing είναι η ονοµασία της τεχνολογίας η οποία επιτρέπει στους χρήστες να

Διαβάστε περισσότερα

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

Μεταδεδομένα στο Ψηφιακό περιβάλλον Μεταδεδομένα στο Ψηφιακό περιβάλλον Μονάδα Αριστείας Ανοικτού Λογισμικού - Χαροκόπειο Πανεπιστήμιο Ψηφιακό Τεκμήριο Οτιδήποτε υπάρχει σε ηλεκτρονική μορφή και μπορεί να προσπελαστεί μέσω υπολογιστή Μεταδεδομένα

Διαβάστε περισσότερα

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

Διαβάστε περισσότερα

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Βάσεις εδοµένων Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης v.vescoukis@cs.ntua.gr ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ Βάσεις εδοµένων

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

Εγχειρίδιο Χρήστη - Μαθητή

Εγχειρίδιο Χρήστη - Μαθητή Εγχειρίδιο Χρήστη - Μαθητή 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr Εγχειρίδιο Χρήσης Μελών ΔΕΠ Αναζήτηση Δημόσιου Περιεχομένου Η διεύθυνση ιστού της νεάς πλατφόρμας διαχείρισης βιντεοδιαλέξεων Δήλος είναι: http://delos.uoa.gr

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

Διαβάστε περισσότερα

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :

Διαβάστε περισσότερα

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 21η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: «Artificial Intelligence A Modern Approach» των. Russel

Διαβάστε περισσότερα

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος... Περιεχόμενα Πρόλογος...11 Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών... 13 1.1 Εισαγωγή στους υπολογιστές... 15 1.2 Μονάδες μέτρησης... 27 1.3 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή...

Διαβάστε περισσότερα

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΑ 1-6 ΟΝΟΜΑ: ΗΜΕΡΟΜΗΝΙΑ: ΒΑΘΜΟΣ: ΘΕΜΑ 1ο Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό,

Διαβάστε περισσότερα

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή Εγχειρίδιο Φοιτητών 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα από

Διαβάστε περισσότερα

ΥΠΗΡΕΣΙΑ. Ηλεκτρονική ιαχείριση Τάξης. Οδηγίες χρήσης για τον µαθητή.

ΥΠΗΡΕΣΙΑ. Ηλεκτρονική ιαχείριση Τάξης. Οδηγίες χρήσης για τον µαθητή. ΥΠΗΡΕΣΙΑ Ηλεκτρονική ιαχείριση Τάξης Οδηγίες χρήσης για τον µαθητή http://eclass.sch.gr Η υπηρεσία ηλεκτρονικής διαχείρισης τάξης αναπτύχθηκε από το Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών για λογαριασµό

Διαβάστε περισσότερα

Atlantis - Νέο user interface

Atlantis - Νέο user interface New Desktop 1 Atlantis - Νέο user interface ATLANTIS - ΝΕΟ USER INTERFACE...2 ΓΕΝΙΚΗ ΠΑΡΟΥΣΙΑΣΗ...3 ΓΡΑΜΜΗ ΣΥΣΤΗΜΑΤΟΣ...4 ΜΠΑΡΑ ΧΡΗΣΤΗ (USER TOOLBAR)...5 ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ...6 Κεντρικό μενού

Διαβάστε περισσότερα

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΕΝΟΤΗΤΑ 1.1 ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΔΙΔΑΚΤΙΚΟI ΣΤOΧΟΙ Στο τέλος της ενότητας αυτής πρέπει να μπορείτε: να επεξηγείτε τις έννοιες «βάση δεδομένων» και «σύστημα διαχείρισης βάσεων δεδομένων» να αναλύετε

Διαβάστε περισσότερα

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

Διαβάστε περισσότερα

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας ΚΕΦΑΛΑΙΟ 8: Αφηρηµένοι τύποι δεδοµένων 8.1 οµές δεδοµένων (data structures) 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας Αδόµητα δεδοµένα οδός Ζέας

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

Διαβάστε περισσότερα

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 4: Χρησιμοποιώντας Ενιαία Αναγνωριστικά URIs και IRIs Μ.Στεφανιδάκης 28-2-2016. Η έννοια της οντότητας Στον Σημασιολογικό Ιστό οι τριάδες μπορούν να εκληφθούν ως

Διαβάστε περισσότερα