ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

Download "ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ"

Transcript

1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Γλώσσα Ερωτήσεων για εδοµένα ενδρικής οµής ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΜΠΟΥΡΟΥ ΠΑΝΑΓΙΩΤΗ Επιβλέπων : Τιµολέων Σελλής Καθηγητής Ε.Μ.Π. Αθήνα, Νοέµβριος 2003

2

3 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ ΓΝΩΣΕΩΝ ΚΑΙ Ε ΟΜΕΝΩΝ Γλώσσα Ερωτήσεων για εδοµένα ενδρικής οµής ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΜΠΟΥΡΟΥ ΠΑΝΑΓΙΩΤΗ Επιβλέπων : Τιµολέων Σελλής Καθηγητής Ε.Μ.Π. Εγκρίθηκε από την τριµελή εξεταστική επιτροπή την 3 η Νοεµβρίου (Υπογραφή) (Υπογραφή) (Υπογραφή) Τιµολέων Σελλής Παναγιώτης Τσανάκας Νεκτάριος Κοζύρης Καθηγητής Ε.Μ.Π. Καθηγητής Ε.Μ.Π. Επίκουρος καθηγητής Ε.Μ.Π. Αθήνα, Νοέµβριος 2003

4 (Υπογραφή)... ΠΑΝΑΓΙΩΤΗΣ Γ. ΜΠΟΥΡΟΣ ιπλωµατούχος Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Ε.Μ.Π All rights reserved

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

6

7 Περίληψη Η γλώσσα XML αποτελεί το νέο πρότυπο ανταλλαγής δεδοµένων στο διαδίκτυο. Επιτρέπει την καταγραφή και οργάνωση της πληροφορίας τόσο ως προς το περιεχόµενό της όσο και ως προς δοµή της. Το µοντέλο δεδοµένων της XML εµφανίζεται στη γενική περίπτωση µε τη µορφή γράφου, ωστόσο υπό συγκεκριµένες προϋποθέσεις έχει τη µορφή δέντρου. Πολλοί κόµβοι του παγκόσµιου ιστού, π.χ. ηλεκτρονικά καταστήµατα, πύλες πληροφόρησης, κ.λ.π., προσφέρουν πληροφορίες στο χρήστη οργανωµένες σε θεµατικές δενδρικές ιεραρχίες χρησιµοποιώντας το πρότυπο της XML. Στόχος της εργασίας αυτής είναι ο ορισµός και η ανάπτυξη της γλώσσας ερωτήσεων TreeSQuerL για δενδρικές µορφές XML δεδοµένων. Η προτεινόµενη γλώσσα TreeSQuerL περιέχει τελεστές αντίστοιχους µε αυτούς που ορίζονται στη σχεσιακή άλγεβρα µε τη διαφορά ότι δεν εφαρµόζονται σε σχέσεις, αλλά σε δέντρα. Η αποτίµηση των ερωτήσεων γίνεται σε ιεραρχίες και το αποτέλεσµά τους είναι ένα σύνολο µονοπατιών τα οποία καταλήγουν σε σύνολα εγγραφών από δεδοµένα. Στις ερωτήσεις της γλώσσας TreeSQuerL µπορούν επίσης να χρησιµοποιηθούν φίλτρα σχεσιακής επιλογής και προβολής για τις εγγραφές των δεδοµένων. Λέξεις Κλειδιά: έντρα, ιεραρχίες, µονοπάτια, αντικείµενα, σχέσεις, επιλογή, προβολή, ένωση, τοµή, διαφορά, γινόµενο.

8

9 Abstract The XML language is becoming the new standard for exchanging data through internet. It records and organizes information based on its content and on its structure. In general, the XML data model is a graph, but under certain conditions becomes a tree. Many nodes in the web information space, i.e. e-shops, information gates, portals etc., provide information to users, organized in thematic hierarchies using XML standard. This thesis defines and develops the query language TreeSQuerL for tree-structure XML data. The suggesting language TreeSQuerL contains operators similar to those defined in relational algebra, with the difference that TreeSQuerL uses trees and not relations. The queries are evaluated over the hierarchy and their result is a set of paths to sets of data records. With TreeSQuerL s queries, filters of relational selection and projection can be used on these data records. Keywords: Trees, hierarchies, paths, items, relations, selection, project, product, union, intersection, difference.

10 1

11 Πίνακας περιεχοµένων 1 Εισαγωγή Αντικείµενο της διπλωµατικής Οργάνωση του τόµου Περιγραφή Θέµατος Σχετικές εργασίες Γλώσσα ερωτήσεων XPath Γλώσσα ερωτήσεων XQuery Άλγεβρα TAX Στόχος Θεωρητική Μελέτη ικτυακός κατάλογος Tree Structure Relation Rp Ri µοντέλο Περιγραφή µοντέλου Κατασκευή Μετάβαση από σχήµα TSR σε µοντέλο Rp - Ri Σύγκριση µονοπατιών Ισότητα Ανισότητα Αυστηρό υποσύνολο Χαλαρό υποσύνολο Ερωτήσεις Πράξεις Βασικοί τελεστές Επιλογή (σ) Προβολή (π) Καρτεσιανό Γινόµενο (Χ) Ένωση (U) Τοµή ( ) ιαφορά ( ) Σύνθετοι τελεστές ii

12 Σύνδεση ( ) Ανάλυση και σχεδίαση Ανάλυση Περιγραφή Αρχιτεκτονικής ιαχωρισµός υποσυστηµάτων Περιγραφή υποσυστηµάτων Υποσύστηµα ανάγνωσης σχηµάτων TSR Υποσύστηµα αποθήκευσης σχηµάτων TSR Υποσύστηµα ερωτήσεων πράξεων Υποσύστηµα διαπροσωπείας χρήστη Υποσύστηµα απεικόνισης σχηµάτων TSR Σχεδίαση του συστήµατος Εφαρµογές ιαχειριστής XML αρχείου σχήµατος ιαχειριστής βάσης δεδοµένων Εφαρµογή εκτέλεσης αποτίµησης ερωτήσεων γλώσσας TreeSQuerL Μεταγλωττιστής (Interpreter) Γραφικό περιβάλλον παρουσίασης αποτελεσµάτων TSR σχηµάτων Υλοποίηση Πλατφόρµες και προγραµµατιστικά εργαλεία Λεπτοµέρειες υλοποίησης Βάση δεδοµένων Μεταγλωττιστής Γραµµατική γλώσσας TreeSQuerL Συντακτική ανάλυση Χειρισµός εντολών Περιγραφή κλάσεων public class Attribute public class Path public class OR public class Item public class TSR public class Condition public class TSRfunctions public class XMLschema public class DBschema iii

13 public class TSRxmlDialog public class TSRdbDialog public class TSRviewer public class HelpViewer Αλγόριθµοι Ανάγνωση TSR σχήµατος από τη βάση δεδοµένων Ανάγνωση TSR σχήµατος από XML αρχείο Αποθήκευση TSR σχήµατος στη βάση δεδοµένων Αποθήκευση TSR σχήµατος σε XML αρχείο Επιλογή Select Προβολή Project Καρτεσιανό γινόµενο Cartesian Product Ένωση Union Τοµή Intersection ιαφορά Difference Αυστηρό υποσύνολο Χαλαρό υποσύνολο Έλεγχος Μεθοδολογία Ελέγχου Αναλυτική παρουσίαση έλεγχου Επίλογος Σύνοψη και συµπεράσµατα Μελλοντικές επεκτάσεις Βιβλιογραφία...87 iv

14 v

15 1 Εισαγωγή Το διαδίκτυο (internet) προσφέρει ένα ενιαίο και απλό τρόπο ανταλλαγής και µετάδοσης πληροφοριών. Η διαχείριση της πληροφορίας που µεταφέρεται µέσω του διαδικτύου προϋποθέτει τρεις παράγοντες: τα δεδοµένα, τη δοµή µε την οποία οργανώνονται και ένα µηχανισµό για την ανάκτησή τους. Όσον αφορά τη δοµή, τα δεδοµένα που µεταφέρονται είναι οργανωµένα σε ιεραρχίες και σχήµατα που περιγράφονται µε τον όρο ηµιδοµηµένα µοντέλα οργάνωσης της πληροφορίας. Το τρίτο στοιχείο περιγράφει τις γλώσσες ερωτήσεων που αποτιµώνται πάνω στα δεδοµένα ή και στη δοµή της πληροφορίας, αποτελώντας τα εργαλεία επεξεργασίας της πληροφορίας. Η χρήση του µοντέλου της γλώσσας XML (www.w3.org/xml) παρέχει ένα πρότυπο για τη µετάδοση της πληροφορίας, λαµβάνοντας υπόψη τους παραπάνω πρώτους δύο παράγοντες. Το µοντέλο αυτό είναι στη γενική του µορφή ένας γράφος που σύµφωνα µε κατάλληλες προϋποθέσεις µπορεί να πάρει τη µορφή δέντρου. Πρόκειται για ένα µοντέλο που κατορθώνει να παντρεύει την χαλαρότητα των απαιτήσεων των ηµιδοµηµένων δεδοµένων µε τους αυστηρούς περιορισµούς των καλά δοµηµένων συστηµάτων βάσεων δεδοµένων. Η XML προσφέρει ένα πρότυπο επικοινωνίας και ανταλλαγής πληροφοριών µεταξύ ετερογενών κόµβων πληροφοριών του διαδικτύου και αποτελεί πλέον standard στο διαδίκτυο. 1

16 1.1 Αντικείµενο της διπλωµατικής Το αντικείµενο της διπλωµατικής εργασίας αυτής είναι ο τρίτος παράγοντας του χώρου της διαχείρισης της πληροφορίας στο διαδίκτυο και συγκεκριµένα ένας νέος µηχανισµός ανάκτησης δεδοµένων µε τη γλώσσα ερωτήσεων TreeSQuerL 1. Η TreeSQuerL αποτελείται από σύνολο ερωτήσεων ανάλογων της σχεσιακής άλγεβρας, οι οποίες όµως αποτιµώνται σε δενδρικές δοµές δεδοµένων, δίνοντας ως αποτέλεσµα ένα σύνολο µονοπατιών που οδηγούν σε εγγραφές δεδοµένων. Ας φανταστούµε ένα δικτυακό τόπο µε µεγάλο όγκο δεδοµένων συγκεκριµένου αντικειµένου ή τοµέα. Ένας τέτοιος τόπος ονοµάζεται κάθετος δικτυακός κατάλογος. Χρησιµοποιώντας το µοντέλο της XML, ο τεράστιος όγκος πληροφοριών του καταλόγου οργανώνεται µε συγκεκριµένη ιεραρχία, προσθέτοντας ταυτόχρονα το στοιχείο της δοµικής πληροφορίας που δεν υπάρχει στις κλασικές βάσεις δεδοµένων. Στο Σχ. 1.1 παρουσιάζεται η ιεραρχία για τον κάθετο κατάλογο παρουσίασης φωτογραφικού υλικού adorama (www.adorama.com). root caps hoods lenses point & shoot cameras & lenses 35mm SLR APS cameras digital printers Close Up filters UV PL film brand model ppm hp b&w slide negative hp brand model price Canon EOS Minolta N Pentax ZX-M hp Σχ Στα φύλλα της ιεραρχίας αυτής βρίσκονται τοποθετηµένες οµάδες εγγραφών µε τα χαρακτηριστικά τους για κάθε αντίστοιχο προϊόν µε τη µορφή των κλασικών σχέσεων. Χρησιµοποιώντας γλώσσες ερωτήσεων ηµιδοµηµένων δεδοµένων (π.χ. XQuery, XPath) στην παραπάνω ιεραρχία µπορούν να απαντηθούν ερωτήµατα όπως: 1 Η λέξη TreeSQuerL προέρχεται από τις λέξεις Tree Structure Query Language και βασίζεται στη έκφραση tree squirrel, δηλαδή σκίουρος του δέντρου. 2

17 Φέρε όλα τα UV φίλτρα που βρίσκονται κάτω ακριβώς από τον κόµβο filter της ρίζας. Βρες τους ψηφιακούς εκτυπωτές, κάτω από τη ρίζα σε οποιοδήποτε βάθος, µε περισσότερες από 15 σελίδες ανά λεπτό. Με τη γλώσσα TreeSQuerL µπορούν να εκφραστούν ερωτήµατα πάνω στα µονοπάτια της ιεραρχίας αλλά και ερωτήσεις σχεσιακής επιλογής και προβολής στις εγγραφές. Επίσης δίνεται η δυνατότητα συνδυασµού δύο ιεραρχιών µε τις πράξεις της ένωσης, της τοµής, της διαφοράς, αλλά και του καρτεσιανού γινοµένου, παράγοντας έτσι µια καινούρια ιεραρχία µε τις επιθυµητές εγγραφές προϊόντων και τα επιθυµητά µονοπάτια που καταλήγουν σ αυτές. Έτσι µε χρήση της TreeSQuerL γίνονται ερωτήµατα όπως: (Από ένα σχήµα) Φέρε όλες τις εγγραφές των φακών µε προϋπόθεση ότι τα µονοπάτια που οδηγούν σ αυτούς είναι τµήµατα του µονοπατιού root/lenses/caps, καθώς και τα µονοπάτια αυτά. (Από πολλά σχήµατα) Φέρε τις εγγραφές των εκτυπωτών µε την προϋπόθεση ότι τα µονοπάτια που οδηγούν σ αυτούς περιέχουν το µονοπάτι /digital/printers, καθώς και τα µονοπάτια αυτά. που όµως δεν µπορούν να εκφραστούν σε υπάρχουσες γλώσσες ηµιδοµηµένων δεδοµένων. 1.2 Οργάνωση του τόµου Η εργασία αυτή χωρίζεται σε 8 κεφάλαια. Στο 2 ο κεφάλαιο γίνεται µια σύντοµη παρουσίαση εργασιών µε συναφές θέµα. Στο 3 ο κεφάλαιο παρουσιάζεται η θεωρητική µελέτη του θέµατος της εργασίας. ίνονται οι αντίστοιχοι ορισµοί των βασικών εννοιών, παρουσιάζονται τα µοντέλα που χρησιµοποιούνται και ορίζονται οι πράξεις της γλώσσας TreeSQuerL. Στη συνέχεια, το 4 ο κεφάλαιο ασχολείται µε την αρχιτεκτονική του συστήµατος που υλοποιεί τη γλώσσα TreeSQuerL. ίνονται τα ανεξάρτητα υποσυστήµατα που το αποτελούν και οι λειτουργίες τους, καθώς και οι εφαρµογές που υλοποιούν το καθένα απ αυτά. Οι λεπτοµέρειες υλοποίησης του συστήµατος παρουσιάζονται στο 5 ο κεφάλαιο µαζί µε τα προγραµµατιστικά εργαλεία και τις τεχνολογίες που χρησιµοποιήθηκαν. Παράλληλα παρατίθενται τµήµατα του κώδικα του συστήµατος και οι βασικοί του αλγόριθµοι. Το 6 ο κεφάλαιο βοηθάει στην καλύτερη κατανόηση του συστήµατος που υλοποιεί τη γλώσσα TreeSQuerL, δίνοντας κατάλληλα παραδείγµατα εκτέλεσης. Στο 7 ο κεφάλαιο επιχειρείται µια σύνοψη της εργασίας και παρουσιάζονται µελλοντικές επεκτάσεις και θέµατα γύρω από τη γλώσσα TreeSQuerL. Τέλος, το 8 ο κεφάλαιο παρουσιάζει τη σχετική βιβλιογραφία. 3

18 4

19 2 Περιγραφή Θέµατος Στο κεφάλαιο αυτό παρουσιάζεται το θεωρητικό υπόβαθρο της διπλωµατικής. Αναφέρονται ερευνητικές εργασίες και συναφείς τεχνολογίες. Τέλος παρουσιάζεται η προσφορά της παρούσας µελέτης σε σχέση µ αυτές τις εργασίες. 2.1 Σχετικές εργασίες Στην ενότητα αυτή περιγράφονται περιληπτικά τα θέµατα που καλύπτουν οι εργασίες: Γλώσσα ερωτήσεων XPath Γλώσσα ερωτήσεων XQuery Άλγεβρα TAX Γλώσσα ερωτήσεων XPath Η γλώσσα XPath [XPATH] δηµιουργήθηκε για να προσφέρει συντακτικό και σηµασιολογία στις λειτουργίες που ορίζουν οι XSLT [XSLT] µετασχηµατισµοί και οι XPointers [XPTR]. Βασική λειτουργία της είναι η αναγνώριση συγκεκριµένων τµηµάτων XML εγγράφων. Εντοπίζονται κόµβοι µε βάση τη θέση τους στο έγγραφο, τον τύπο, το περιεχόµενο ή οποιαδήποτε άλλο κριτήριο. Επίσης, προσφέρεται η δυνατότητα αναπαράστασης και διαχείρισης αλφαριθµητικών γραµµατοσειρών αλλά και αριθµητικών µε αποτέλεσµα να είναι εφικτή η εφαρµογή και η αποτίµηση απλών µαθηµατικών εκφράσεων µέσω των ερωτήσεων. 5

20 Η σύνταξη της XPath ορίζει το XML έγγραφο ως ένα δέντρο µε τα εξής δοµικά στοιχεία: ρίζα (root node) κόµβος αντικείµενο (element node) κόµβος κειµένου (text node) κόµβος ιδιότητα (attribute node) κόµβος σχόλιο (comment node) κόµβος επεξεργασίας (processing instruction node) κόµβος ονοµασίας (namespace node) Η βασικότερη έκφραση της γλώσσας XPath είναι αυτή του µονοπατιού. Ορισµός 2.1. Μονοπάτι (location path) είναι ένα σύνολο από έναν ή περισσότερους κόµβους δοµικά στοιχεία του XML εγγράφου. Οι κόµβοι του µονοπατιού ξεχωρίζονται από το χαρακτήρα / (slash) που χρησιµοποιείται και για το συµβολισµό της ρίζας. Στην περίπτωση που ένας κόµβος του µονοπατιού είναι κόµβος ιδιότητα τότε χρησιµοποιείται το Έτσι έστω για παράδειγµα το portal.xml έγγραφο που ορίζει τα περιεχόµενα ενός δικτυακού τόπου που προσφέρει πληροφορίες και πουλάει φωτογραφικό υλικό: <portal> <cameras> <digital> <cam brand="canon" model="a60" price="550"></cam> </digital> <SLR> <cam brand="canon" model="eos-3" price="980"></cam> </SLR> </cameras> </portal> Ένα µονοπάτι προσπέλασης όλων των ψηφιακών µηχανών είναι: /cameras/digital Ενώ για να προσπελαστεί η ιδιότητα τιµή κάθε SLR µηχανής, το µονοπάτι είναι: Ωστόσο επειδή τις περισσότερες φορές αυτό που χρειάζεται για την επεξεργασία ενός XML εγγράφου είναι η επιλογή των κόµβων εκείνων που ικανοποιούν συγκεκριµένες συνθήκες, η XPath ορίζει προθέµατα σε κάθε κόµβο που περιλαµβάνεται στο µονοπάτι. Ορισµός 2.2. Πρόθεµα (Predicate) είναι µια Boolean έκφραση που αποτιµάται σε ένα κόµβο. Παράδειγµα: 6

21 Στο σχήµα του δικτυακού τόπου που περιγράφεται στο έγγραφο portal.xml του προηγούµενου παραδείγµατος, για να επιλεχθούν οι SLR κάµερες µάρκας Canon µε τιµή µεγαλύτερη από 100 Ευρώ συντάσσεται η XPath έκφραση = 'Canon' >= 100] Γλώσσα ερωτήσεων XQuery Η XQuery [XQUERY] είναι µια συναρτησιακή γλώσσα που δηµιουργήθηκε από το W3C (www.w3c.org) ως γλώσσα ερωτήσεων XML δεδοµένων. Αποτελεί υπερσύνολο της γλώσσας XPath που παρουσιάστηκε στην προηγούµενη παράγραφο και κατά συνέπεια χρησιµοποιεί και επεκτείνει τη λειτουργικότητα αυτής. Το µοντέλο δεδοµένων της XQuery στηρίζεται στο αντίστοιχο µοντέλο της XPath για το XML έγγραφο. Ως βασικές έννοιές του ορίζονται ο κόµβος, το αντικείµενο, η ατοµική τιµή και η ακολουθία. Ο κόµβος (node) ορίζεται αντίστοιχα µε την έννοια του κόµβου στη γλώσσα XPath, ενώ η ατοµική τιµή (atomic value) µπορεί να είναι ένας από τους βασικούς τύπους δεδοµένων της γλώσσας XQuery: συµβολοακολουθία (string), ακέραιος (integer), δεκαδικός (decimal), ηµεροµηνία (date). Ορισµός 2.3. Αντικείµενο (item) ονοµάζεται ένας κόµβος ή µία ατοµική τιµή. Ορισµός 2.4. Ακολουθία (sequence) είναι µια ταξινοµηµένη συλλογή από ένα ή περισσότερα αντικείµενα. Κατά αντιστοιχία µε τις εκφράσεις της XPath ορίζονται οι εκφράσεις της γλώσσας XQuery καθώς και η έννοια του προθέµατος. Ορισµός 2.5. Πρόθεµα είναι µία έκφραση που περιέχεται σε [ ] και χρησιµοποιείται στο φιλτράρισµα ακολουθιών τιµών. Με βάση τις παραπάνω βασικές έννοιες της γλώσσας το µοντέλο δεδοµένων βασίζεται σε µία ετερογενή ακολουθία κόµβων ή ατοµικών τιµών. Στα Σχ. 2.1 και 2.2 βλέπουµε δύο µοντέλα δεδοµένων από τα items.xml και bids.xml αρχεία αντίστοιχα. Οι κόµβοι D, Ε, Α και Τ αναπαριστούν το έγγραφο, αντικείµενο, ιδιότητα και κόµβο κείµενο αντίστοιχα. Ένα απλό ερώτηµα σε XQuery θα µπορούσε να επιλέγει από το έγγραφο items.xml όλα τα αντικείµενα που πωλούνται από ένα άτοµο µε όνοµα Smith: document("items.xml")/*/item[seller = "Smith"]/description Η XQuery εκτός από τη δυνατότητα επιλογής κόµβων και αντικειµένων από ένα µοντέλο δεδοµένων, προσφέρει και τη δυνατότητα κατασκευής νέων κόµβων. Για παράδειγµα µε το παρακάτω ερώτηµα κατασκευάζεται ένα νέο αντικείµενο µε όνοµα highbid που έχει τη µεγαλύτερη προσφορά. Οι τιµές της ιδιότητας status και των κόµβων κειµένου itemno και bid-amount δεν είναι σταθερές, αλλά προκύπτουν από το αρχικό µοντέλο του Σχ

22 µέσω των µεταβλητών $s, $i που αντιστοιχούν στην ιδιότητα status και στο αντικείµενο item αντίστοιχα. <highbid status = "{$s}"> <itemno> {$i} </itemno> <bid-amount> {max($bids[itemno = $i]/bid-amount)} </bid-amount> </highbid> D items.xml E items item E A status item E A status E E itemno seller description reserve -price E E T T T T E (ALL BID ELEMENTS HAVE SIMILAR STRUCTURE) end-date T - Σχ. 2.1 (Από κείµενο [Cha02]) - D bids.xml E bids bid E E bid (ALL BID ELEMENTS HAVE E E E E SIMILAR STRUCTURE) itemno bidder bid-amount bid-date T T T T - Σχ. 2.2 (Από κείµενο [Cha02]) - Βασική λειτουργία που προσφέρει η γλώσσα XQuery είναι οι εκφράσεις FLWR, που περιέχουν επαναληπτικό βρόχο (For), έκφραση ανάθεσης (Let), έκφραση συνθήκης (Where) και επιστροφής κατασκευής αποτελέσµατος (Return).Έστω για παράδειγµα ότι θέλουµε για κάθε αντικείµενο του Σχ. 2.1 που περιέχει πάνω από δέκα προσφορές, που παρουσιάζονται στο Σχ. 2.2, να κατασκευάσουµε ένα νέο αντικείµενο µε όνοµα popular-item που περιέχει τον αριθµό του (itemno), την περιγραφή (description) και το πλήθος των προσφορών. Συντάσσεται η παρακάτω ερώτηση: 8

23 for $i in document("items.xml")/*/item let $b : = document("bids.xml") /*/bid[itemno = $i/itemno] where count($b) > 10 return <popular-item> ( $i/itemno $i/description <bid-count>( count ($b) )</bid-count> ) </popular-item> Στο παραπάνω ερώτηµα ορίζουµε ως µεταβλητή για κάθε αντικείµενο του items.xml τη $i και µεταβλητή κάθε προσφοράς από το bids.xml το $b. Έτσι οι εκφράσεις $i/itemno και $i/description δίνουν τον αριθµό και την περιγραφή κάθε αντικειµένου. Η συνάρτηση count µετράει το πλήθος των προσφορών $b κάθε αντικειµένου. Τέλος, η έκφραση where εξασφαλίζει ότι το αντικείµενο popular-item κατασκευάζεται µόνο όταν οι προσφορές για το $i είναι τουλάχιστον Άλγεβρα TAX Η TAX [JLS+01] είναι µία άλγεβρα για το χειρισµό και την επεξεργασία XML δεδοµένων που είναι οργανωµένα σε δάση και δενδρικές µορφές δεδοµένων. Είναι µια προσπάθεια επέκτασης της σχεσιακής άλγεβρας ώστε να διαχειρίζεται δέντρα και όχι σχέσεις. Επίσης η TAX είναι σχεσιακά πλήρης και µπορεί να εκφράσει ερωτήσεις των βασικών γλωσσών ερωτήσεων XML δεδοµένων, συµπεριλαµβανοµένου και της XQuery που περιγράφεται στην ενότητα εδοµένου ότι η άλγεβρα TAX ορίζεται σε αντιστοιχία µε τη σχεσιακή άλγεβρα, όπως στο σχεσιακό µοντέλο βασική έννοια αποτελεί η πλειάδα, σ αυτήν υπάρχει το δέντρο δεδοµένων. Ορισµός 2.6. έντρο δεδοµένων (data tree) είναι ένα ταξινοµηµένο δέντρο µε βασικά συστατικά µία ρίζα και ονοµασµένους κόµβους, που καθένας τους έχει δεδοµένα σε µορφή ιδιοτήτων (attributes). Κατά αντιστοιχία µε τη σχεσιακή άλγεβρα ορίζεται η έννοια της συλλογής (collection) δέντρων δεδοµένων αντίστοιχα µε την έννοια της σχέσης. Έτσι, όπως η σχεσιακή βάση δεδοµένων είναι ένα σύνολο σχέσεων, µία XML βάση δεδοµένων είναι ένα σύνολο συλλογών δέντρων δεδοµένων. Τέλος κατ αντιστοιχία µε τους σχεσιακούς τελεστές, οι τελεστές της TAX δεν αποτιµώνται σε σχέσεις, αλλά σε συλλογές δέντρων δεδοµένων. Ορισµός 2.7. έντρο πρότυπο (Pattern Tree) ορίζεται ως ένα ζευγάρι P = (T, F), όπου T = (V, E) είναι ένα δέντρο µε ονοµασµένους κόµβους V και ακµές E, τέτοιο ώστε: Κάθε κόµβος του V έχει ένα µοναδικό ακέραιο ως αναγνωριστικό του. 9

24 Κάθε ακµή ονοµάζεται είτε pc (πατέρας παιδί) είτε ad (πρόγονος απόγονος). Η F είναι µία φόρµουλα, όπως συνδυασµός προθεµάτων στους κόµβους. Στο Σχ. 2.3 (α) βλέπουµε ένα παράδειγµα XML βάσης δεδοµένων και στο (β) ένα πρότυπο που βρίσκει τα βιβλία που εκδόθηκαν πριν το 1988 και έχουν ένα τουλάχιστον συγγραφέα. Στο Σχ. 2.3 (γ) παρουσιάζεται το δέντρο πρότυπο που δείχνει τα βιβλία που εκδόθηκαν από εκδοτικό οίκο µε όνοµα που περιέχει το Science. bib pc $1 ad $1.tag = book & $2.tag = year & $2.content < 1988 & $3.tag = author book book book $2 $3 (β) year[1990] author[jill] title[the Life of a Dummy] publisher[morgan Kaufman] year[1970] author[jill] author[jack] (α) title[a Dummy for a Computer] publisher[computer Science Press] year[1985] author[jack] title[how To Be A Dummy] publisher[morgan Kaufman] $1 pc pc pc $2 $3 $4 $1.tag = book & $2.tag = publisher & $2.content = "*Science*" & $3.tag = author & $4.tag = author & $3 BEFORE $4 & $3.content = "Jack" & $4.content = "Jill" (γ) - Σχ. 2.3 (Από κείµενο [JLS+01]) - Ορισµός 2.8. Αν C είναι µια συλλογή δέντρων δεδοµένων, P = (T, F) είναι ένα δέντρο πρότυπο και h : P C είναι µία απεικόνιση του δέντρου προτύπου P στη συλλογή C τότε δέντρο µάρτυρας (Witness Tree) h c (P) ορίζεται µια συσχέτιση µε το P ως εξής: Κάθε κόµβος n της C υπάρχει στο δέντρο µάρτυρας αν n = h(u) για κάποιο κόµβο u του δέντρου προτύπου P. Για κάθε ζευγάρι κόµβων n, m του δέντρου µάρτυρα, όταν ο m είναι ο κοντινότερος πρόγονος του n στη C µεταξύ των κόµβων που υπάρχουν στο δέντρο µάρτυρας, τότε το δέντρο µάρτυρας περιέχει την ακµή (m, n). Το δέντρο µάρτυρας διατηρεί τη σειρά των κόµβων που υπάρχει στη συλλογή δέντρων δεδοµένων C. Για παράδειγµα στο Σχ. 2.4 (α), (β), (γ) φαίνονται δέντρα µάρτυρες που µπορούν να προκύψουν από το δέντρο του Σχ. 2.3 (α). Έχοντας ορίσει τις βασικές έννοιες του δέντρου προτύπου και του δέντρου µάρτυρα ορίζονται οι βασικοί τελεστές της επιλογής, προβολής και καρτεσιανού γινοµένου. Η επιλογή σ P,SL (C) δέχεται ως είσοδο µία συλλογή C, ένα δέντρο πρότυπο P και µία λίστα παραµέτρων SL και επιστρέφει µία νέα συλλογή δέντρων δεδοµένων σύµφωνα µε τα παρακάτω: 10

25 Ένας κόµβος u της συλλογής C ανήκει στο αποτέλεσµα ανν ο u απεικονίζεται µέσω της h : P C σ ένα κόµβο του P ή ο u είναι απόγονος ενός κόµβου v της C, ο οποίος απεικονίζεται µέσω της h σ ένα κόµβου w του P, που το αναγνωριστικό του περιέχεται στη λίστα SL. Αν δύο κόµβοι u, v περιέχονται στο αποτέλεσµα και ο u είναι ο κοντινότερος πρόγονος του v στη συλλογή C, τότε το αποτέλεσµα περιέχει και την ακµή (u, v). Η σειρά των κόµβων στη συλλογή εισόδου C διατηρείται και στο αποτέλεσµα. Στο Σχ. 2.4 (α) φαίνεται η επιλογή στη συλλογή του Σχ. 2.3 (α) µε δέντρο πρότυπο το Σχ. 2.3 (β) και λίστα παραµέτρων κενή. book book book book book book book author[jack] year[1985] author[jill] author[jack] year[1970] author[jack] author[jill] author[jack] author[jack] year[1985] author[jill] year[1970] author[jack] year[1970] (α) (β) (γ) - Σχ. 2.4 (Από κείµενο [JLS+01]) - Η προβολή π P,SL (C) δέχεται ως είσοδο µία συλλογή δέντρων δεδοµένων C, ένα δέντρο πρότυπο P και µία λίστα παραµέτρων SL και παράγει µία νέα συλλογή σύµφωνα µε τα εξής: Ένας κόµβος u της C ανήκει στο αποτέλεσµα ανν υπάρχει απεικόνιση h : P C τέτοια ώστε ο u απεικονίζεται σ ένα κόµβο του P του οποίου το αναγνωριστικό περιέχεται στη SL ή ο u είναι απόγονος ενός κόµβου v της C, ο οποίος απεικονίζεται σ ένα κόµβο w του P, που έχει αναγνωριστικό που περιέχεται στη SL. Όταν δύο κόµβοι u, v ανήκουν στο αποτέλεσµα και ο u είναι ο κοντινότερος πρόγονος του v στη συλλογή εισόδου C, τότε το αποτέλεσµα περιέχει και την ακµή (u, v). Η σειρά των κόµβων στη συλλογή εισόδου C διατηρείται και στο αποτέλεσµα. Στο Σχ. 2.4 (γ) φαίνεται η επιλογή στη συλλογή του Σχ. 2.3 (α) µε δέντρο πρότυπο το Σχ. 2.3 (β) και λίστα παραµέτρων {$1, $2, $3}. Το καρτεσιανό γινόµενο C x D δέχεται ως εισόδους δύο συλλογές δέντρων δεδοµένων C και D και παράγει συνδυάζοντας ζευγάρια δέντρων από το C στο D µία νέα συλλογή σύµφωνα µε τα παρακάτω: 11

26 Κάθε ζευγάρι δέντρων δεδοµένων T i C και T j D το C x D περιέχει ένα δέντρο, του οποίου η ρίζα είναι ένας νέος κόµβος µε όνοµα tax_product_root και χωρίς ιδιότητες. Το αριστερό παιδί της ρίζας είναι η ρίζα του T i και το δεξί του T j. Για κάθε κόµβο στο αριστερό και στο δεξιό υποδέντρο της νέας ρίζας οι ιδιότητες είναι όµοιες µ αυτές που υπήρχαν στις εισόδους C και D. Για παράδειγµα το γινόµενο της συλλογής του Σχ. 2.5 (α) µ αυτήν του Σχ. 2.3 (α) και µε επιλογή στο αποτέλεσµα µε βάση το δέντρο πρότυπο του Σχ. 2.5 (β) δίνει τη συλλογή του Σχ. 2.5 (γ). review review $1 tax_prod_root ad ad $2 $4 review review reviewer[lewis] book-title[how To Be A Dummy] reviewer[carroll] book-titlecrouching Theorem] pc pc pc $3 $5 $6 $3.content = $6.content & $3.tag = book-title & $6.tag = title & $2.tag = review & $4.tag = book & $5.tag = author (α) (β) (γ) book-title[how To Be A Dummy] author[jack] title[how To Be A Dummy] - Σχ. 2.5 (Από κείµενο [JLS+01]) - Τέλος σύµφωνα µε τον ορισµό της TAX είναι δυνατόν να εκφραστούν ερωτήµατα που έχουν συνταχθεί σε γλώσσες ερωτήσεων XML δεδοµένων, όπως η XQuery. Για παράδειγµα το παρακάτω ερώτηµα σε XQuery επιλέγει από ένα XML σχήµα τα βιβλία που εκδόθηκαν το 1999 ανά συγγραφέα. FOR $pub IN DISTINCT //publisher LET $bk := //book[pubinfo/publisher=$pub AND pubinfo/year= 1999 ] RETURN $pub Χρησιµοποιώντας την άλγεβρα TAX και την πράξη της επιλογής µπορούµε να εκτελέσουµε το παραπάνω ερώτηµα µε το δέντρο πρότυπο και τη λίστα παραµέτρων του Σχ $1 pc pc $2 pc C: $1.tag = book & $2.tag = pubinfo & $3.tag = publisher & $4.tag = year & $4.content = 1999 $3 $4 Selection - Σχ. 2.6 (Από κείµενο [JLS+01]) - 12

27 2.2 Στόχος Οι εργασίες που παρουσιάστηκαν στην προηγούµενη ενότητα προσφέρουν ένα τρόπο ανάκτησης και επεξεργασίας δεδοµένων από XML έγγραφα. Ας φανταστούµε ένα προϊόν που παρουσιάζεται σε διάφορους δικτυακούς καταλόγους. Η προσπέλαση αυτού του προϊόντος µπορεί να γίνεται µε διαφορετικούς τρόπους στους καταλόγους αυτούς. Θα θέλαµε να µπορούµε να εκµεταλλευτούµε τη διαφορετικότητα αυτή. Στόχος της διπλωµατικής εργασίας αυτής είναι να συµπεριλάβει και να επεκτείνει τη λειτουργικότητα επιλογής και επεξεργασίας δεδοµένων οργανωµένων σε XML δενδρικές µορφές. Με τη γλώσσα TreeSQuerL µπορούν να συνδυαστούν οι διαφορετικοί τρόποι προσπέλασης σε ένα αντικείµενο προϊόν και να κατασκευαστεί µία καινούρια ιεραρχία, σύνοψη των αρχικών. Με το σύνολο των ερωτήσεων επιλογής, προβολής, καρτεσιανού γινοµένου, ένωσης, τοµής και διαφοράς που προτείνει η παρούσα διπλωµατική, µπορούν να επιλεγούν και να επεξεργαστούν τα δεδοµένα και οι τρόποι προσπέλασης (µονοπάτια) ενός προϊόντος από πολλούς δικτυακούς καταλόγους και να παραχθεί µια καινούρια οργάνωση προϊόντων. 13

28 14

29 3 Θεωρητική Μελέτη Στο κεφάλαιο αυτό παρουσιάζουµε τους ορισµούς των βασικών δοµών της γλώσσας TreeSQuerL, ενώ ταυτόχρονα εισάγεται το µοντέλο Rp-Ri που χρησιµοποιείται στην αναπαράσταση των δοµών. Τέλος ορίζεται το σύνολο των πράξεων της άλγεβρας της γλώσσας µε τους βασικούς τελεστές: επιλογή, προβολή, καρτεσιανό γινόµενο, ένωση, τοµή και διαφορά, καθώς και το σύνθετο τελεστή της σύνδεσης. 3.1 ικτυακός κατάλογος Tree Structure Relation Τα περιεχόµενα ενός δικτυακού καταλόγου οργανώνονται σε µια ιεραρχία µε µορφή δέντρου που ονοµάζεται σχήµα καταλόγου (catalog schema). Το σχήµα ενός καταλόγου αποτελείται από ονοµασµένους κόµβους που αντιστοιχούν σε θεµατικές κατηγορίες και φύλλα που περιέχουν εγγραφές των περιεχόµενων αντικειµένων. Ακολουθεί ο ορισµός του σχήµατος καταλόγου: Ορισµός 3.1. Έστω τα παρακάτω δοµικά στοιχεία: ρίζα (root) κόµβος (property node) κόµβος αντικείµενο (resource node item). Κάθε τέτοιο αντικείµενο έχει µια σειρά ιδιοτήτων (attributes). 15

30 Σχήµα καταλόγου (CS) είναι ένα δέντρο µε ρίζα, κόµβους και φύλλα. CS := Tree(root, V, R), όπου V το σύνολο των κόµβων και R το σύνολο των κόµβων αντικειµένων. Στο Σχ. 3.1 φαίνεται το σχήµα του δικτυακού καταλόγου adorama (www. adorama.com) που περιέχει φωτογραφικό εξοπλισµό. Για παράδειγµα, το αντικείµενο SLR cameras περιέχει εγγραφές για κάµερες SLR 35mm µε ιδιότητες brand, model και price για το µάρκα, µοντέλο και την τιµή αντίστοιχα. X caps hoods 1 lenses point & shoot 2 cameras & lenses 35mm SLR APS SLR cameras cameras brand model price Canon EOS Minolta N Pentax ZX-M digital printers Close Up filters Digital printers UV PL brand model ppm hp hp hp film b&w slide negative 6 - Σχ Σύµφωνα µε τη θεωρία γράφων και δέντρων εισάγουµε την έννοια του µονοπατιού για το σχήµα καταλόγου. Ορισµός 3.2. Ορίζουµε µονοπάτι του σχήµατος καταλόγου µια ακολουθία κόµβων v 0 (ρίζα), v 1, v 2,,, v k-1 µε k Ν που οδηγούν µέσω ακµών στον κόµβο αντικείµενο v k. Για παράδειγµα στο Σχ. 3.1 για να προσπελάσουµε το αντικείµενο Digital printers µε τις εγγραφές των ψηφιακών εκτυπωτών ακολουθούµε το µονοπάτι: /digital/printers Στη συνέχεια, εισάγουµε την έννοια της δοµικής σχέσης TSR (Tree Structure Relation), µε την οποία περιγράφουµε και συνδυάζουµε σχήµατα καταλόγων. Ορισµός 3.3. Έστω S = {CS 1, CS 2, CS n } σύνολο σχηµάτων καταλόγων και ένας κόµβος αντικείµενο που υπάρχει σε όλα τα σχήµατα. Ένα σχήµα TSR είναι ένας AND OR γράφος που αποτελείται από µία ρίζα, τον κοινό κόµβο αντικείµενο και συνδυασµούς των µονοπατιών από τα σχήµατα του S που καταλήγουν σ αυτόν. 16

31 Σε ένα σχήµα TSR: 1. OR ονοµάζονται τα µονοπάτια που αντιστοιχούν στην ύπαρξη περισσότερων του ενός δρόµων προσπέλασης του κόµβου αντικειµένου 2. Τα AND µονοπάτια ορίζουν µια σύνθετη έννοια κατά αντιστοιχία µ αυτή που προκύπτει από την εφαρµογή καρτεσιανού γινοµένου σε σχέσεις στη σχεσιακή άλγεβρα. 3. OR συνιστώσα ενός σχήµατος TSR ονοµάζεται ο συνδυασµός των γειτονικών AND και των ανεξάρτητων OR µονοπατιών. Το Σχ. 3.2 (α) αποτελεί µια εκφυλισµένη µορφή του AND OR γράφου µιας TSR µε δύο OR µονοπάτια που δείχνουν τους διαφορετικούς τρόπους προσπέλασης εγγραφών φωτογραφικών µηχανών. Στην περίπτωση αυτή τα δύο ανεξάρτητα OR µονοπάτια σχηµατίζουν τις δύο OR συνιστώσες του σχήµατος. Στο Σχ. 3.2 (β) φαίνεται µια TSR που περιγράφει τα µονοπάτια που οδηγούν σε εγγραφές ψηφιακών φωτογραφικών µηχανών. Ένα τέτοιο σχήµα προέρχεται από συνδυασµό µονοπατιών πολλών σχηµάτων καταλόγων που αναφέρονται στο ίδιο κόµβο αντικείµενο. Τα γειτονικά AND µονοπάτια /photo/digital/cameras και /SLR/digital ορίζουν την πρώτη συνιστώσα της TSR, ενώ τα /cameras&lenses/35mmslr/digital και /digital/cameras/35mmslr ορίζουν τη δεύτερη OR συνιστώσα. Ενώνοντας δύο µονοπάτια µε ένα τόξο δηλώνουµε ότι πρόκειται για AND µονοπάτια. Το Σχ.3.2 (β) θα γίνει πιο σαφές όταν θα οριστούν οι τελεστές που εφαρµόζονται πάνω σε σχήµατα TSR. X X cameras & lenses digital photo SLR cameras & lenses digital 35mm SLR digital cameras SLR digital cameras digital 35mm SLR digital 35mm SLR cameras (α) Digital cameras model price (β) Digital cameras model price CCD CCD - Σχ

32 3.2 Rp Ri µοντέλο Περιγραφή µοντέλου Το µοντέλο Rp Ri αναπαριστά ένα σχήµα TSR µε σχέσεις σχεσιακής άλγεβρας. Για κάθε λοιπόν κόµβο αντικείµενο ορίζουµε τη σχέση Ri που περιέχει τις ιδιότητες και τις εγγραφές του και επιπλέον τη σχέση Rp µε τα µονοπάτια που οδηγούν σ αυτόν. Τέλος ορίζουµε και µια σχέση R tsr που περιέχει πληροφορίες του TSR σχήµατος. Στο Σχ. 3.3 παρουσιάζεται το διάγραµµα οντοτήτων συσχετίσεων του µοντέλου Rp Ri. Παρατηρούµε ότι για κάθε TSR φυλάσσεται το όνοµα και το σχήµα καταλόγου απ όπου προήρθε. Η οντότητα Rp έχει γνωρίσµατα τις µεταβλητές µονοπατιών (path variables) που αντιστοιχούν στα AND µονοπάτια της TSR και στην οντότητα Ri υπάρχουν γνωρίσµατα που αντιστοιχούν στις ιδιότητες που έχει ο κόµβος αντικείµενο της TSR. tid (κωδικός) όνοµα σχήµατος Rtsr Έχει µονοπάτια m Έχει κόµβο - αντικείµενο n Ri Rp... P1 (αριστερότερο µονοπάτι 1) Pm (δεξιότερο µονοπάτι m)... An (ιδιότητα n)... An (ιδιότητα 1) - Σχ Κατασκευή Μετάβαση από σχήµα TSR σε µοντέλο Rp - Ri Για την κατασκευή του Rp Ri µοντέλου µιας TSR πρέπει να εντοπιστούν οι OR συνιστώσες του σχήµατος, καθεµιά από τις οποίες προσθέτει µία πλειάδα στην Rp σχέση. Η OR συνιστώσα µε τα περισσότερα AND µονοπάτια καθορίζει τον αριθµό των µεταβλητών 18

33 µονοπατιών Pi που υπάρχουν. Οι αρίθµηση των µεταβλητών µονοπατιών µιας OR συνιστώσας γίνεται ξεκινώντας από το αριστερό µονοπάτι προς το δεξιό. Τέλος για κάθε OR συνιστώσα τοποθετούνται στη σχέση Rp στην κατάλληλη µεταβλητή µονοπατιών τα AND µονοπάτια. Η Ri σχέση κατασκευάζεται απλά χρησιµοποιώντας τις ιδιότητες του κόµβου αντικειµένου της TSR. Για παράδειγµα στα Σχ 3.4 και Σχ. 3.5 παρουσιάζονται οι σχέσεις Rp και Ri για δύο TSR σύµφωνα µε το µοντέλο Rp Ri. Για απλούστευση, οι εγγραφές των κόµβων αντικειµένων δεν εισάγονται στις σχέσεις Ri και τα ονόµατα των κόµβων έχουν αντικατασταθεί µε αναγνωριστικά (A, B, C ). Στο Σχ. 3.4 τα µονοπάτια /A/D και /G/F/E αποτελούν τα AND µονοπάτια που ορίζουν τη µοναδική συνιστώσα του σχήµατος. Τα AND αυτά µονοπάτια καθορίζονται από τις δύο µεταβλητές µονοπατιών P 1 και P 2, όπου P 1 είναι το αριστερότερο από τα δύο. root x R p P 1 P 2 digital photo A G /A/D /G/F/E R i printers cameras D F a b c d SLR E brand model price gift a b c d - Σχ root X R p P 1 P 2 digital photo video A C F /A/B /F/A/G/I /C/D/E null printers cameras digital B D A R i SLR UV filter E G I a b c d brand model price gift a b c d - Σχ

34 Στο Σχ. 3.5 υπάρχουν δύο OR συνιστώσες στο σχήµα της TSR και κατά συνέπεια δηµιουργούνται δύο πλειάδες στη σχέση Rp. Η πρώτη συνιστώσα αποτελείται από τα AND µονοπάτια /A/B και /C/D/E, ενώ η δεύτερη από το /F/A/G/I. Επειδή η δεύτερη συνιστώσα έχει µόνο ένα AND µονοπάτι η πλειάδα της Rp σχέση έχει στην αντίστοιχη µεταβλητή µονοπατιού null. 3.3 Σύγκριση µονοπατιών Στη συνέχεια ορίζουµε ένα σύνολο τελεστών που καθορίζουν τη σύγκριση µεταξύ δύο µονοπατιών µιας TSR σχέσης Ισότητα Ανισότητα Ορισµός 3.7. Για δύο µονοπάτια P1 και P2 ισχύει P1 = P2 ανν έχουν τους ίδιους ακριβώς κόµβους µε την ίδια σειρά Παράδειγµα: /cameras/slr = /cameras/slr Ορισµός 3.8. Για δύο µονοπάτια P1 και P2 ισχύει P1 P2 ανν οι κόµβοι τους δεν είναι ίδιοι ή δεν είναι µε την ίδια σειρά προηγούµενου επόµενου. Παράδειγµα: /SLR/cameras/digital /digital/cameras/slr Αυστηρό υποσύνολο Ορισµός 3.9. Για δύο µονοπάτια P1 και P2 ισχύει P1 P2 ανν όλοι οι κόµβοι του πρώτου υπάρχουν στο δεύτερο και µε την ίδια ακριβώς σειρά προηγούµενου επόµενου, χωρίς να παρεµβάλλονται άλλοι. Μια τέτοια σχέση µεταξύ των µονοπατιών σηµαίνει εναλλακτικά ότι το P1 προσφέρει µια πιο γενική κατηγοριοποίηση από το P2, δηλαδή το P2 είναι πιο εξειδικευµένο. Παράδειγµα: /cameras/slr /digital/cameras/slr Αντίθετα το µονοπάτι /digital/slr δεν είναι αυστηρό υποσύνολο του /digital/cameras/srl. 20

35 3.3.3 Χαλαρό υποσύνολο Ορισµός Για δύο µονοπάτια P1 και P2 ισχύει P1 P2 ανν όλοι οι κόµβοι του πρώτου περιέχονται στο δεύτερο µε την ίδια σειρά προηγούµενου επόµενου, ανεξάρτητα αν παρεµβάλλονται και άλλοι κόµβοι. Μια τέτοια σχέση µεταξύ των µονοπατιών σηµαίνει εναλλακτικά ότι το P1 προσφέρει µια πιο γενική κατηγοριοποίηση από το P2, δηλαδή το P2 είναι πιο εξειδικευµένο. Παράδειγµα: /digital/slr /digital/cameras/slr 3.4 Ερωτήσεις Πράξεις Στην παράγραφο αυτή ορίζεται το σύνολο των πράξεων που µπορούν να εφαρµοστούν σε TSR σχέσεις. Το σύνολο των τελεστών αυτών πρέπει να ικανοποιεί την απαίτηση της κλειστότητας, δηλαδή σε κάθε πράξη είσοδος να είναι ένα ή περισσότερα TSR σχήµατα και το αποτέλεσµα πρέπει να είναι κι αυτό TSR σχήµα Βασικοί τελεστές Αρχικά ορίζονται οι βασικοί τελεστές που αποτελούν τον πυρήνα της γλώσσας Επιλογή (σ) Με την επιλογή επιλέγονται τα µονοπάτια που οδηγούν στον κόµβο αντικείµενο της TSR και τα δεδοµένα των εγγραφών που ικανοποιούν τις συνθηκών µονοπατιών και ιδιοτήτων αντίστοιχα. Ακολουθεί η σύνταξη της πράξης: Σύνταξη σ σ <Συνθήκη ιδιοτήτων><συνθήκη µονοπατιών> (TSR) Συνθήκη ιδιοτήτων: Ένωση ή τοµή Boolean συνθηκών που αναφέρονται στα attributes των κόµβων αντικειµένων µε τη µορφή ιδιότητα τελεστής τιµή ή ιδιότητα τελεστής ιδιότητα, όπου τελεστής { =,, >, <,, }. Συνθήκη µονοπατιών: Ένωση ή τοµή Boolean συνθηκών που αναφέρονται στα µονοπάτια των κόµβων αντικειµένων µέσω της σχέσης R p µε τη µορφή µεταβλητή µονοπατιών τελεστής τιµή ή µεταβλητή µονοπατιών τελεστής µεταβλητή µονοπατιών, όπου τελεστής { =,,,,, }. 21

36 Παράδειγµα Θεωρούµε τη TSR R 1 του Σχ. 3.6 (α). Θέλουµε µε χρήση της επιλογής να κατασκευάσουµε µια νέα TSR τις οποίας τα αριστερότερα µονοπάτια κάθε OR συνιστώσας να είναι αυστηρά υπερσύνολα του /Α/Β, ενώ ο κόµβος αντικείµενο να έχει εγγραφές που ικανοποιούν τη συνθήκη ιδιοτήτων a = c. Η ερώτηση που εκτελούµε είναι: σ <a = c><p1 /A/B> ( R 1 ) (αν θέλαµε τα δεξιότερα µονοπάτια να ικανοποιούν τη συνθήκη θα βάζαµε P2 αντί για P1) και το αποτέλεσµα βρίσκεται στο Σχ. 3.6 (β) (σ.σ. για συντοµία δεν εισάγονται στους Ri οι εγγραφές). x R p x R p P 1 P 2 P 1 P 2 A C F /A/B /F/A/G/I /C/D/E Null A C /A/B /C/D/E B D A R i B D R i a b c d E I G a b c d E a b c d a b c d (α) (β) - Σχ Προβολή (π) Χρησιµοποιώντας την προβολή καθορίζονται ποια AND µονοπάτια σε κάθε OR συνιστώσα της TSR και ποιες ιδιότητες του κόµβου αντικειµένου θα υπάρχουν στο αποτέλεσµα. Ακολουθεί η σύνταξη της πράξης: Σύνταξη π π <Λίστα ιδιοτήτων><λίστα µεταβλητών µονοπατιών> (TSR) Παράδειγµα Θεωρούµε τη TSR R 1 του Σχ. 3.7 (α). Θέλουµε µε χρήση της προβολής να κατασκευάσουµε µια νέα TSR που να έχει µόνο τα µονοπάτια µε µεταβλητή µονοπατιού P1 από τα αρχικά, ενώ παράλληλα ο κόµβος αντικείµενό της να έχει εγγραφές µε ιδιότητες µόνο τις a και c. Η ερώτηση που εκτελούµε είναι: 22

37 και το αποτέλεσµα βρίσκεται στο Σχ. 3.7 (β). π <a,b><p1> (R 1 ) x R p R p A G P 1 P 2 /A/D /G/F/E x P 1 /A/D A D F R i a b c d D R i a b E a b c d a b (α) (β) - Σχ Καρτεσιανό Γινόµενο (Χ) Το καρτεσιανό γινόµενο εφαρµόζεται πάνω σε δύο TSR. Παράγεται µια νέα TSR της οποίας τα µονοπάτια προκύπτουν από συνδυασµούς των OR συνιστωσών των αρχικών σχέσεων και ο νέος κόµβος αντικείµενο έχει ιδιότητες το συνδυασµό των ιδιοτήτων των εισόδων. Ακολουθεί η σύνταξη της πράξης: Σύνταξη Χ (TSR) Χ (TSR) Παράδειγµα Θεωρούµε τα σχήµατα TSR R 1 και R 2 των Σχ. 3.8 (α) και Σχ. 3.8 (β). Κατασκευάζουµε µια νέα TSR µε συνδυασµό των αρχικών χρησιµοποιώντας το καρτεσιανό γινόµενο. Ο συνδυασµός δηµιουργεί νέες OR συνιστώσες συνδυάζοντας αυτές της πρώτης TSR µε αυτής της δεύτερης. Παράλληλα στον κόµβο αντικείµενο συνδυάζονται οι εγγραφές των αρχικών σχηµάτων. Η ερώτηση που εκτελούµε είναι: (R 1 )Χ(R 2 ) και το αποτέλεσµα βρίσκεται στο Σχ

38 x R p x R p P 1 P 2 P 1 P 2 A C F /A/B /F/A/G/I /C/D/E null A G /A/D /G/F/E B D E I A G R i a b c d D E F R i e f a b c d e f (α) (β) - Σχ x R p P 1 P 2 P 3 P 4 /A/B /C/D/E /A/D /G/F/E A C A G F A G /F/A/G/I null /A/D /G/F/E B D D F A D F R i E E I G E a b c d e f a b c d e f - Σχ Ένωση (U) Ένωση εφαρµόζεται σε δύο TSR µε αποτέλεσµα µια νέα TSR µε σύνολο µονοπατιών που προκύπτει από την ένωση των OR συνιστωσών των αρχικών TSR και κόµβο αντικείµενο µε εγγραφές που υπάρχουν είτε στη µία είσοδο είτε στην άλλη. Ακολουθεί η σύνταξη της πράξης: Σύνταξη (TSR) U (TSR) Για να θεωρηθούν οι TSR έγκυρες ως προς την πράξη της ένωσης πρέπει οι κόµβοι - αντικείµενα τους έχουν την ίδια δοµή, δηλαδή τις ίδιες ιδιότητες. 24

39 Παράδειγµα Θεωρούµε τα σχήµατα R 1 και R 2 TSR των Σχ (α) και Σχ (β). Κατασκευάζουµε µια νέα TSR που αποτελεί την ένωση των αρχικών. Η νέα TSR προκύπτει από την πρώτη προσθέτοντας ως καινούριες OR συνιστώσες τις συνιστώσες της δεύτερης εισόδου. Η ερώτηση που εκτελούµε είναι: (R 1 )U(R 2 ) και το αποτέλεσµα βρίσκεται στο Σχ R p x R p x P 1 /A/V A G P 1 P 2 /A/D /G/F/E A R i a b c d D F R i a b c d V E a b c d a b c d (α) (β) - Σχ x R p P 1 P 2 A A G /A/V /A/D null /G/F/E V D F R i E a b c d a b c d - Σχ

40 Τοµή ( ) Η τοµή ορίζεται ανάλογα µε τον ένωση µε τη διαφορά ότι στο αποτέλεσµα υπάρχουν µόνο οι κοινές εγγραφές των κόµβων αντικειµένων των αρχικών TSR. Ακολουθεί η σύνταξη της πράξης: Σύνταξη (TSR) (TSR) Για να είναι οι σχέσεις έγκυρες ως προς την πράξη της τοµής πρέπει οι κόµβοι - αντικείµενα τους να έχουν την ίδια δοµή, δηλαδή τις ίδιες ιδιότητες ιαφορά ( ) Οµοίως µε ένωση και τοµή ορίζεται και η διαφορά, µόνο που το τελικό αποτέλεσµα περιέχει τις εγγραφές που υπάρχουν στο πρώτο κόµβο αντικείµενο και δεν υπάρχουν στο δεύτερο. Ακολουθεί η σύνταξη της πράξης: Σύνταξη (TSR) (TSR) Για να είναι οι σχέσεις έγκυρες ως προς την πράξη της διαφοράς πρέπει οι κόµβοι - αντικείµενα τους να έχουν την ίδια δοµή, δηλαδή τις ίδιες ιδιότητες Σύνθετοι τελεστές Χρησιµοποιώντας τις βασικές πράξεις της άλγεβρας της γλώσσας TreeSQuerL µπορούν να οριστούν σύνθετοι τελεστές Σύνδεση ( ) Η πράξη της σύνδεσης εφαρµόζεται σε δύο TSR και δίνει αποτέλεσµα ένα καινούριο σχήµα επιλέγοντας από τους συνδυασµούς των OR συνιστωσών των αρχικών σχηµάτων αυτούς που τα AND µονοπάτια ικανοποιούν συγκεκριµένες συνθήκες. Ακόµα στο νέο σχήµα για τον κόµβο αντικείµενο επιλέγονται από τις εγγραφές των συνδυασµών των αρχικών TSR αυτές που ικανοποιούν τις δοσµένες συνθήκες. Ακολουθεί η σύνταξη της πράξης: Σύνταξη (TSR) <Συνθήκη ιδιοτήτων><συνθήκη µονοπατιών> (TSR) 26

41 Συνθήκη ιδιοτήτων: Ένωση ή τοµή Boolean συνθηκών που αναφέρονται στα attributes των κόµβων αντικειµένων µε τη µορφή ιδιότητα τελεστής τιµή ή ιδιότητα τελεστής ιδιότητα, όπου τελεστής { =,, >, <,, }. Συνθήκη µονοπατιών: Ένωση ή τοµή Boolean συνθηκών που αναφέρονται στα µονοπάτια των κόµβων αντικειµένων µέσω της σχέσης R p µε τη µορφή µεταβλητή µονοπατιών τελεστής τιµή ή µεταβλητή µονοπατιών τελεστής µεταβλητή µονοπατιών, όπου τελεστής { =,,,,, }. Παράδειγµα Θεωρούµε τα σχήµατα R 1 και R 2 TSR των Σχ (α) και Σχ (β). Θέλουµε να συνδέσουµε τα δύο σχήµατα κρατώντας από τους συνδυασµούς των µονοπατιών αυτούς των οποίων η µεταβλητή µονοπατιού P1 είναι χαλαρό υπερσύνολο του /Α/Β και η P2 είναι διαφορετική από /C/D/E. Ενώ από τους συνδυασµούς των εγγραφών θέλουµε να κρατήσουµε αυτούς που ικανοποιούν τις συνθήκες ιδιοτήτων a = f ή a = c. Η ερώτηση που εκτελούµε είναι: (R 1 ) <a = f a = c><p1 /A/B, P2 /C/D/E> (R 2 ) και το αποτέλεσµα βρίσκεται στο Σχ x R p x R p P 1 P 2 P 1 P 2 A C F /A/B /F/A/G/B /C/D/E null A G /A/D /G/F/E B D A R i D F R i e f G a b c d E B E a b c d e f (α) (β) - Σχ

42 x R p P 1 P 2 P 3 P 4 F A G /F/A/G/I null /A/D /G/F/E A G D F E R i a b c d e f I a b c d e f - Σχ

43 4 Ανάλυση και σχεδίαση Στο κεφάλαιο αυτό παρουσιάζεται η µελέτη του συστήµατος που υλοποιεί τη γλώσσα TreeSQuerL. Αρχικά γίνεται ο διαχωρισµός του συστήµατος σε επιµέρους υποσυστήµατα και παρουσιάζονται οι λειτουργικές απαιτήσεις του καθενός. Τέλος παρουσιάζονται αναλυτικά οι εφαρµογές που υλοποιούν το σύστηµα. 4.1 Ανάλυση Περιγραφή Αρχιτεκτονικής Στην ενότητα αυτή περιγράφεται η αρχιτεκτονική του συστήµατος, ξεκινώντας µε την απαρίθµηση των επιµέρους ανεξάρτητων µονάδων του ιαχωρισµός υποσυστηµάτων Το σύστηµα απαρτίζεται από πέντε υποσυστήµατα: 1. Υποσύστηµα ανάγνωσης σχηµάτων TSR 2. Υποσύστηµα αποθήκευσης σχηµάτων TSR 3. Υποσύστηµα ερωτήσεων πράξεων 4. Υποσύστηµα διαπροσωπείας χρήστη 5. Υποσύστηµα απεικόνισης σχηµάτων TSR Το Σχ. 4.1 παρουσιάζει την αρχιτεκτονική του συστήµατος. Μέσα από τη διαπροσωπεία χρήστη (interface) διατυπώνονται ερωτήσεις σε σχήµατα TSR που βρίσκονται στο 29

44 αποθηκευτικό µέσο του συστήµατος. Για να εκτελεστεί κάθε πράξη, χρησιµοποιείται αρχικά το υποσύστηµα ανάγνωσης σχηµάτων TSR και στη συνέχεια το υποσύστηµα ερωτήσεων πράξεων της γλώσσας TreeSQuerL. Το υποσύστηµα απεικόνισης σχηµάτων είναι υπεύθυνο για την παρουσίαση των αποτελεσµάτων µιας πράξης. Σε περίπτωση που χρειαστεί να αποθηκευτεί ένα σχήµα TSR τότε χρησιµοποιείται το υποσύστηµα αποθήκευσης TSR. ιαπροσωπεία χρήστη Υποσύστηµα ανάγνωσης TSR σχηµάτων Υποσύστηµα ερωτήσεων - πράξεων Αποθηκευτικό µέσο Υποσύστηµα αποθήκευσης TSR σχηµάτων Υποσύστηµα απεικόνισης TSR σχηµάτων - Σχ Περιγραφή υποσυστηµάτων Στη συνέχεια παρουσιάζονται οι προδιαγραφές του κάθε υποσυστήµατος και οι λειτουργίες που πρέπει να επιτελεί Υποσύστηµα ανάγνωσης σχηµάτων TSR Τα TSR σχήµατα που επεξεργάζεται η γλώσσα TreeSQuerL βρίσκονται αποθηκευµένα στο αποθηκευτικό µέσο που προσφέρει το σύστηµα. Η εκτέλεση µιας ερώτησης του υποσυστήµατος ερωτήσεων πράξεων προϋποθέτει τη φόρτωση των σχηµάτων που ορίζονται στη σύνταξή της. Αυτή είναι και η βασική λειτουργία του υποσυστήµατος ανάγνωσης σχηµάτων TSR. Στο Σχ. 4.2 φαίνεται το σχετικό διάγραµµα ροής δεδοµένων. Από το υποσύστηµα της διαπροσωπείας χρήστη ζητείται η φόρτωση ενός σχήµατος TSR. Στη συνέχεια το υποσύστηµα ανάγνωσης εντοπίζει την εγγραφή της TSR στο αποθηκευτικό µέσο και προσπελαύνει το σύνολο µονοπατιών και τον κόµβο αντικείµενο για να δηµιουργήσει το TSR σχήµα το οποίο θα χρησιµοποιηθεί για την εκτέλεση της ερώτησης. 30

45 ιαπροσωπεία χρήστη Αναγνωριστικό TSR Αποθηκευτικό µέσο TSR σχήµα Προσπέλαση στοιχείων TSR στο αποθηκευτικό µέσο TSR σχήµα ιαπροσωπεία χρήστη - Σχ Υποσύστηµα αποθήκευσης σχηµάτων TSR Το υποσύστηµα αυτό είναι υπεύθυνο για τη αποθήκευση των TSR. Στο Σχ. 4.3 βλέπουµε πως όταν από το υποσύστηµα απεικόνισης σχηµάτων ζητείται η αποθήκευση µιας TSR, τότε µε κατάλληλο τρόπο καταγράφονται στο αποθηκευτικό µέσο οι ιδιότητες και οι εγγραφές του κόµβου αντικειµένου που περιέχονται στο TSR σχήµα, καθώς και το σύνολο των µονοπατιών που οδηγούν στον κόµβο αυτό. Αποθηκευτικό µέσο Αποθήκευση στοιχείων TSR στο αποθηκευτικό µέσο TSR σχήµα Υποσύστηµα απεικόνισης σχηµάτων TSR - Σχ Υποσύστηµα ερωτήσεων πράξεων Το υποσύστηµα αυτό αποτελεί την καρδιά του συστήµατος, καθώς υλοποιεί τους βασικούς τελεστές της γλώσσας TreeSQuerL. Από το υποσύστηµα διαπροσωπείας χρήστη συλλέγονται όλες οι παράµετροι που χρειάζονται για την εκτέλεση της ερώτησης στα TSR σχήµατα που έχουν φορτωθεί µέσω του υποσυστήµατος ανάγνωσης σχηµάτων TSR. Το αποτέλεσµα κάθε ερώτησης επιστρέφει στη διαπροσωπεία χρήστη. Στο Σχ. 4.4 φαίνεται το διάγραµµα ροής του υποσυστήµατος ερωτήσεων πράξεων. 31

46 Κατασκευή συνόλου µονοπατιών ιαπροσωπεία χρήστη Παράµετροι ερώτησης TSR σχήµα / σχήµατα TSR σχήµα αποτελέσµατος ιαπροσωπεία χρήστη Κατασκευή κόµβου - αντικειµένου αποτελέσµατος - Σχ Υποσύστηµα διαπροσωπείας χρήστη Το υποσύστηµα διαπροσωπείας χρήστη µαζί µε το υποσύστηµα της απεικόνισης σχηµάτων TSR αποτελούν τη διεπαφή ολόκληρου του συστήµατος και αναλαµβάνουν την αλληλεπίδρασή του µε το χρήστη. Βασική λειτουργία που επιτελεί αυτό το κοµµάτι της διεπαφής είναι να προσφέρει µια γραµµατική για τη σύνταξη ερωτήσεων της γλώσσας TreeSQuerL σε TSR σχήµατα. Λαµβάνοντας υπόψη τη λειτουργία αυτή, οι προδιαγραφές του υποσυστήµατος διαπροσωπείας χρήστη είναι οι εξής: 1. Απαιτείται ένας εύχρηστος και σαφώς ορισµένος τρόπος σύνταξης των ερωτήσεων, ώστε να µπορεί ο χρήστης να διατυπώνει ερωτήσεις σύντοµα και απλά. 2. Εξίσου σηµαντικό είναι σε περίπτωση λάθους ο χρήστης να λαµβάνει επεξηγηµατικά µηνύµατα ώστε να µπορεί να διορθώσει και να επαναλάβει την ερώτηση εύκολα. 3. Τέλος, απαραίτητη προϋπόθεση που θέτει η διαπροσωπεία στο χρήστη είναι να γνωρίζει το σχήµα της TSR όταν θέλει να εκτελέσει µια ερώτηση. Βέβαια οι δύο πρώτες προδιαγραφές και ειδικά η δεύτερη εξασφαλίζουν ότι ο χρήστης σε περίπτωση λάθους θα εντοπίσει τι πρέπει να αλλάξει εύκολα. Στο Σχ. 4.5 βλέπουµε τον τρόπο επικοινωνίας και συνεργασίας του υποσυστήµατος µε τα άλλα υποσυστήµατα, καθώς και τη διαδικασία εκτέλεσης της βασικής του λειτουργίας. Ο χρήστης αρχικά εισάγει την ερώτηση µε τη σύνταξη που ορίζει το υποσύστηµα διαπροσωπείας χρήστη. Έπειτα η ερώτηση αναγνωρίζεται και ελέγχεται για την ορθότητα της σύνταξής της. Στη συνέχεια ακολουθεί µια διαδικασία συλλογής των παραµέτρων που χρειάζονται για την αποτίµησή της. Το πλήθος και το είδος των παραµέτρων εξαρτάται από την ίδια την πράξη, αλλά σίγουρα ανάµεσα τους είναι TSR σχήµατα τα οποία θα προσπελαστούν µέσω του υποσυστήµατος ανάγνωσης σχηµάτων TSR. Από το υποσύστηµα ανάγνωσης τα σχήµατα TSR 32

47 περνούν στο υποσύστηµα ερωτήσεων πράξεων για την εκτέλεση της ερώτησης. Το αποτέλεσµα στη συνέχεια απεικονίζεται µέσω του υποσυστήµατος απεικόνισης σχηµάτων TSR. Εισαγωγή ερώτησης Ερώτηση Αναγνώριση - Έλεγχος σύνταξης Συλλογή παραµέτρων όνοµα TSR σχήµατος / σχηµάτων Υποσύστηµα ανάγνωσης σχηµάτων TSR Παράµεροι ερώτησης TSR σχήµα Υποσύστηµα απεικόνισης σχηµάτων TSR TSR σχήµα Υποσύστηµα ερωτήσεων - πράξεων - Σχ Υποσύστηµα απεικόνισης σχηµάτων TSR Βασική λειτουργία του υποσυστήµατος αυτού είναι η απεικόνιση των TSR σχηµάτων που παράγονται από την εκτέλεση ερώτησης του υποσυστήµατος ερωτήσεων πράξεων. Με δεδοµένη αυτή τη λειτουργία υπάρχουν οι ακόλουθες προδιαγραφές: 1. Φιλικότητα προς το χρήστη. 2. Ευκολία ως προς τη χρήση. 3. Απεικόνιση των σχηµάτων TSR µε τέτοιο τρόπο ώστε να είναι εµφανή τόσο ο κόµβος αντικείµενο µε τις ιδιότητες και τις εγγραφές του όσο και το σύνολο µονοπατιών που οδηγούν σ αυτό. 4. υνατότητα αποθήκευσης του TSR σχήµατος που απεικονίζεται. Στο Σχ. 4.6 διακρίνεται η επικοινωνία του υποσυστήµατος απεικόνισης αποτελεσµάτων µε άλλα υποσυστήµατα. Μετά την εκτέλεση της πράξης, το αποτέλεσµα περνάει στο υποσύστηµα απεικόνισης σχηµάτων TSR, όπου σχηµατίζεται µια δενδρική µορφή. Η µορφή αυτή απεικονίζεται µε γραφικό τρόπο στο χρήστη. Το υποσύστηµα απεικόνισης σχηµάτων TSR επικοινωνεί και µε το υποσύστηµα αποθήκευσης, δίνοντας τη δυνατότητα στο χρήστη να αποθηκεύσει το αποτέλεσµα ως ένα καινούριο TSR σχήµα. 33

48 Σχηµατισµός κατάλληλης µορφής αποτελέσµατος Μορφή αποτελέσµατος Απεικόνιση αποτελέσµατος ιαπροσωπεία χρήστη TSR σχήµα Υποσύστηµα αποθήκευσης σχηµάτων TSR 4.2 Σχεδίαση του συστήµατος - Σχ Στην ενότητα αυτή παρουσιάζονται οι εφαρµογές που επιτελούν τις βασικές λειτουργίες του συστήµατος Εφαρµογές Οι εφαρµογές του συστήµατος είναι οι εξής: 1. ιαχειριστής XML αρχείου σχήµατος 2. ιαχειριστής βάσης δεδοµένων 3. Εκτέλεσης αποτίµησης ερωτήσεων γλώσσας TreeSQuerL 4. Μεταγλωττιστής (Interpreter) 5. Γραφικό περιβάλλον παρουσίασης αποτελεσµάτων TSR σχηµάτων Στο Σχ. 4.7 βλέπουµε τον τρόπο επικοινωνίας των εφαρµογών µεταξύ τους για την εκτέλεση των λειτουργιών τους. 34

Semantic-based Querying of Tree-Structured Data. Οργάνωση εδοµένων µε ενδρικές οµές

Semantic-based Querying of Tree-Structured Data. Οργάνωση εδοµένων µε ενδρικές οµές Semantic-based Queying of Tee-Stuctued Data ηµήτρης Θεοδωράτος Θοδωρής αλαµάγκας Αντώνης Κουφόπουλος (New Jesey Institute of Technology, ΗΠΑ) (Εθνικό Μετσόβιο Πολυτεχνείο) (Εθνικό Μετσόβιο Πολυτεχνείο)

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

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5 Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών

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

υαδικό έντρο Αναζήτησης (BSTree)

υαδικό έντρο Αναζήτησης (BSTree) Εργαστήριο 6 υαδικό έντρο Αναζήτησης (BSTree) Εισαγωγή Οι περισσότερες δοµές δεδοµένων, που εξετάσαµε µέχρι τώρα (λίστες, στοίβες, ουρές) ήταν γραµ- µικές (ή δοµές δεδοµένων µιας διάστασης). Στην παράγραφο

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

Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό

Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό Αλέξανδρος Βαλαράκος (alexv@iit.demokritos.gr) (alexv@aegean.gr) Υποψήφιος ιδάκτορας Τµήµα Μηχανικών Υπολογιστικών και Πληροφοριακών Συστηµάτων.

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

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ Εργ. Συστημάτων Βάσεων Γνώσεων & Δεδομένων CONTEXT AWARE ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ Εργ. Συστημάτων Βάσεων Γνώσεων & Δεδομένων CONTEXT AWARE ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ CONTEXT AWARE ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ Με τις συγκεκριμένες διπλωματικές εργασίες, ο στόχος μας είναι να κατασκευάσουμε το πρώτο ερευνητικό Σχεσιακό Σύστημα Διαχείρισης

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

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

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

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

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις 1) Ερωτήσεις Σωστού/Λάθους (ΣΛ) Το πακέτο λογισμικού Excel της Microsoft είναι λογισμικό διαχείρισης ΒΔ (ΣΛ) Το πακέτο λογισμικού Access της Microsoft είναι λογισμικό

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

p-xquery: Επέκταση της Γλώσσας Ερωτήσεων XQuery για Υποστήριξη Ερωτήσεων µε Μερικό Καθορισµό οµικών Περιορισµών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

p-xquery: Επέκταση της Γλώσσας Ερωτήσεων XQuery για Υποστήριξη Ερωτήσεων µε Μερικό Καθορισµό οµικών Περιορισµών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ TΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ p-xquery: Επέκταση της Γλώσσας Ερωτήσεων XQuery για Υποστήριξη Ερωτήσεων

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

Orchid: Integrating Schema Mapping and ETL ICDE 2008

Orchid: Integrating Schema Mapping and ETL ICDE 2008 Orchid: Integrating Schema Mapping and ETL ICDE 2008 Δομουχτσίδης Παναγιώτης Γενικά Data warehouse (DW): Είναι μία αποθήκη πληροφοριών οργανωμένη από ένα ενοποιημένο μοντέλο. Τα δεδομένα συλλέγονται από

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

ιαχείριση Ιεραρχικών Σχηµάτων στο Σηµασιολογικό Ιστό

ιαχείριση Ιεραρχικών Σχηµάτων στο Σηµασιολογικό Ιστό Εθνικό Μετσόβιο Πολυτεχνείο ιαχείριση Ιεραρχικών Σχηµάτων στο Σηµασιολογικό Ιστό Υποστήριξη ιδακτορικής ιατριβής Θοδωρής αλαµάγκας Σηµασιολογικός Ιστός Από το Ιστό στον Σηµασιολογικό Ιστό: Έλλειψη ενιαίου

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Αρχιτεκτονική

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

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

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

Επισκόπηση Μαθήµατος

Επισκόπηση Μαθήµατος Βάσεις εδοµένων 5 ο Εξάµηνο ηµήτρης Λέκκας Επίκουρος Καθηγητής dlekkas@env.aegean.gr Τµήµα Στατιστικής & Αναλογιστικών-Χρηµατοοικονοµικών Μαθηµατικών Επισκόπηση Μαθήµατος Εισαγωγή (Σ Β ) Το µοντέλο σχέσεων

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

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

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

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

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

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΕΝΤΡΑ (TREES) B C D E F G H I J K L M

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΕΝΤΡΑ (TREES) B C D E F G H I J K L M Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο Δέντρα Δυαδικά Δέντρα Δυαδικά Δέντρα Αναζήτησης (inary Search Trees) http://aetos.it.teithe.gr/~demos/teaching_r.html Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΞΑΜΗΝΟ Η ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΦΟΙΤΗΤΗ : ΜΟΣΧΟΥΛΑ ΟΛΓΑ ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ : 30/02 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΥΛΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ ΣΥΝΕ ΡΙΩΝ ΜΕ ΧΡΗΣΗ

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Εισαγωγικά ΘΕ ΠΛΗ 204-5 ONLINE ΕΡΓΑΣΙΑ E2- Η Online Εργασία Ε2- αποτελεί (όπως περιγράφεται αναλυτικότερα και στον Οδηγό Σπουδών της Θ.Ε. που σας έχει διατεθεί) συμπληρωματική άσκηση στα πλαίσια της Γραπτής

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

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

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

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

ΕΝ ΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ ΣΧΕ ΙΑΣΜΟΙ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΕΘΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΕΙΟ Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Ακαδηµαϊκό Έτος 2007-2008 Μάθηµα: ΒΑΣΕΙΣ Ε ΟΜΕΩ ιδάσκων: Καθ. Ιωάννης Βασιλείου Ε ΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗ ΠΡΩΤΗ ΑΣΚΗΣΗ

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

Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ. Μελέτη υλοποίησης στο Protégé-2000

Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ. Μελέτη υλοποίησης στο Protégé-2000 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΑΓΡΟΝΟΜΩΝ ΤΟΠΟΓΡΑΦΩΝ ΜΗΧΑΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΧΑΡΤΟΓΡΑΦΙΑΣ Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ Μελέτη υλοποίησης στο Protégé-2000 Μαρίνος Κάβουρας Αν. Καθηγητής ΕΜΠ ευκαλίων

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

Πληροφοριακά Συστήµατα

Πληροφοριακά Συστήµατα Nell Dale John Lewis Chapter 12 Πληροφοριακά Συστήµατα Στόχοι Ενότητας Η κατανόηση της έννοιας «Πληροφοριακό Σύστηµα» Επεξήγηση της οργάνωσης λογιστικών φύλλων (spreadsheets) Επεξήγηση της ανάλυσης δεδοµένων

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

Συνόψεις για Δεδομένα XML με Ετερογενές Περιεχόμενο

Συνόψεις για Δεδομένα XML με Ετερογενές Περιεχόμενο are needed to see this picture. Συνόψεις για Δεδομένα XML με Ετερογενές Περιεχόμενο Άλκης Πολυζώτης UC Santa Cruz Μίνως Γαροφαλάκης Intel Research, Berkeley Ανακεφαλαίωση QuickTime and a Ησυνόψιση είναι

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

Μεταπτυχιακή Διατριβή

Μεταπτυχιακή Διατριβή Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Υπηρεσία Αυτόματης Ανάκτησης Συνδεδεμένης Δομής Θεματικών Επικεφαλίδων μέσω

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

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

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

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

o AND o IF o SUMPRODUCT

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

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

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 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

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

FROM TESTOTA.REGISTRY

FROM TESTOTA.REGISTRY ΟΤΑ Επιχειρησιακή Νοηµοσύνη Ενότητα: Βc1.1.3 Επιχειρησιακή Νοηµοσύνη και Τεχνολογίες της Πληροφορικής και των Επικοινωνιών (BI & IT) Πρακτική Άσκηση (επίπεδο 1): Στόχος της άσκησης είναι η εµβάθυνση στην

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

Certified Data Base Designer (CDBD)

Certified Data Base Designer (CDBD) Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά

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

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

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

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

Σύστηµα Αρχείων και Καταλόγων

Σύστηµα Αρχείων και Καταλόγων ΕΠΛ 003 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Σύστηµα Αρχείων και Καταλόγων ιάλεξη 7 (Κεφάλαιο 11 του βιβλίου) Στόχοι Κεφαλαίου Περιγραφή της έννοιας του αρχείου, συστήµατος

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

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας

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

AVL-trees C++ implementation

AVL-trees C++ implementation Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ AVL-trees C++ implementation Δομές Δεδομένων Μάριος Κενδέα 31 Μαρτίου 2015 kendea@ceid.upatras.gr Εισαγωγή (1/3) Δυαδικά Δένδρα Αναζήτησης:

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

Κύρια σηµεία για µελέτη. έντρα. Ορολογία δέντρων. Τι είναι δέντρο

Κύρια σηµεία για µελέτη. έντρα. Ορολογία δέντρων. Τι είναι δέντρο Κύρια σηµεία για µελέτη έντρα Stock Fraud Make Money Fast! Ponzi Scheme ank Robbery Ο ΑΤ του δέντρου (..1) Preorder και postorder διασχίσεις (..) Ο ΑΤ του δυαδικού δέντρου(..) Inorder διάσχιση (..) Ηδιάσχισητουuler

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

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006 Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006 A Θέμα 1 ο (30%) 1. (10%) α) Ποια τα πλεονεκτήματα ενός B + -tree ευρετηρίου; β) Αναφέρετε τις διαφορές ανάμεσα στα αραιά και τα πυκνά ευρετήρια.

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

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 8: Εισαγωγή στη SPARQL Βασική Χρήση Μ.Στεφανιδάκης 3-5-2015. Η γλώσσα ερωτημάτων SPARQL Ερωτήσεις (και ενημερώσεις) σε σετ δεδομένων RDF Και σε δεδομένα άλλης μορφής

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

SQL Data Manipulation Language

SQL Data Manipulation Language SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν

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

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού Α. Βρακόπουλος 1, Θ.Καρτσιώτης 2 1 Καθηγητής Πληροφορικής Δευτεροβάθμιας Εκπαίδευσης Vraa8@sch.gr 2 Σχολικός

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

Τα διαγράµµατα πακέτων

Τα διαγράµµατα πακέτων 1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα πακέτων ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Βασικές έννοιες Πως αποικοδοµούµε ένα σύστηµα σε πακέτα Παραδείγµατα διαγράµµατος πακέτων Στερεότυπα πακέτων 3 Οχωρισµός

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

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ XML (extended Markup Language) Ι. Χατζηλυγερούδης ΕΙΣΑΓΩΓΗ SGML (Standard Generalized Markup Language) Διεθνές πρότυπο ορισμού μεθόδων αναπαράστασης πληροφοριών

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

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

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά:

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά: Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013 Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr Εισαγωγικά: Η υλοποίηση του project έχει γίνει σε python [2.7]. Τα python modules είναι αυτόνομα

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

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

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

HY-252 Αντικειμενοστραφής Προγραμματισμός. Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης. Ημερομηνία Παράδοσης: 16/11/2012

HY-252 Αντικειμενοστραφής Προγραμματισμός. Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης. Ημερομηνία Παράδοσης: 16/11/2012 HY-252 Αντικειμενοστραφής Προγραμματισμός Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης 2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 16/11/2012 Παρακάτω σας δίνονται οι ορισμοί τεσσάρων διαφορετικών

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

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

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

Το µάθηµα Ηλεκτρονική ηµοσίευση

Το µάθηµα Ηλεκτρονική ηµοσίευση Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας Ιόνιο Πανεπιστήµιο Το µάθηµα Ηλεκτρονική ηµοσίευση Σαράντος Καπιδάκης Επικοινωνία Σαράντος Καπιδάκης Εργαστήριο Ψηφιακών Βιβλιοθηκών και Ηλεκτρονικής ηµοσίευσης sarantos@ionio.gr

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

5 ΔΕΝΤΡΑ (Trees) Σχήµα 5.1 : ενδροειδής αναπαράσταση αρχείων στα Windows. έντρα. \ {root directory} Accessories. Program Files.

5 ΔΕΝΤΡΑ (Trees) Σχήµα 5.1 : ενδροειδής αναπαράσταση αρχείων στα Windows. έντρα. \ {root directory} Accessories. Program Files. 5 ΔΕΝΤΡΑ (Trees) Oι περισσότερες δοµές δεδοµένων που εξετάσαµε µέχρι τώρα (λίστες, στοίβες, ουρές) ήταν γραµµικές (ή δοµές δεδοµένων µιας διάστασης). Στην παράγραφο αυτή θα ασχοληθούµε µε τις µή-γραµµικές

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

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

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr ..χτίζουµε την ιστοσελίδα σας στο Internet www.kalliergea.gr Λάουρα Π. Καζακράντε «Καλλιεργαία» Πληροφορική - Internet - ιαφήµιση - Μεταφράσεις Τηλ.: 211 0104925, 695 6118589 Email: info@kalliergea.gr

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

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

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

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

Δέντρα Απόφασης (Decision(

Δέντρα Απόφασης (Decision( Δέντρα Απόφασης (Decision( Trees) Το μοντέλο που δημιουργείται είναι ένα δέντρο Χρήση της τεχνικής «διαίρει και βασίλευε» για διαίρεση του χώρου αναζήτησης σε υποσύνολα (ορθογώνιες περιοχές) Ένα παράδειγμα

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

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2015 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ταξινόµηση και Ουρές Προτεραιότητας Σκοπός της 2 ης εργασίας είναι η εξοικείωση

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

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2 Η Γλώσσα SQL Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL What men or gods are these? What maidens loth? What mad pursuit? What struggle to escape? What pipes and timbrels? What wild ectasy?

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

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Περιεχόµενα World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Εισαγωγή Ιστορική Αναδροµή Το ιαδίκτυο και το WWW Υπερκείµενο Εντοπισµός πληροφοριών στο WWW Search Engines Portals Unicode Java Plug-Ins 1 2

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

Προγραμματισμός Υπολογιστών

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Βασικές γνώσεις Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Η Πληροφορική και τα εργαλεία της Παροχή έγκαιρης και έγκυρης πληροφόρησης. Καταχώριση στοιχείων Αποθήκευση Επεξεργασία ψηφιακών

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

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

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

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

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 7 ο έντρο Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης έντρο Ορισµός Υλοποίηση µε Πίνακα Υλοποίηση µε είκτες υαδικό έντρο

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

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

Εργαστήριο Βάσεων εδοµένων. Άσκηση 2. Η βάση βιβλιοθήκη περιλαµβάνει πληροφορίες για τα βιβλία, τους συγγραφείς και τους εκδοτικούς οίκους.

Εργαστήριο Βάσεων εδοµένων. Άσκηση 2. Η βάση βιβλιοθήκη περιλαµβάνει πληροφορίες για τα βιβλία, τους συγγραφείς και τους εκδοτικούς οίκους. ΑΤΕΙ Πάτρας Σχολή ιοίκησης Οικονοµίας Τµήµα Λογιστικής Ο µικρόκοσµος της βάσης ΒΙΒΛΙΟΘΗΚΗ Εργαστήριο Βάσεων εδοµένων Άσκηση 2 Η βάση βιβλιοθήκη περιλαµβάνει πληροφορίες για τα βιβλία, τους συγγραφείς και

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

e-κπαίδευση Πλατφόρµα Ασύγχρονης Τηλε-κπαίδευσης Οδηγίες χρήσης για τους σπουδαστές του ΤΕΙ Αθήνας και τους επισκέπτες της δικτυακής πύλης e-κπαίδευση

e-κπαίδευση Πλατφόρµα Ασύγχρονης Τηλε-κπαίδευσης Οδηγίες χρήσης για τους σπουδαστές του ΤΕΙ Αθήνας και τους επισκέπτες της δικτυακής πύλης e-κπαίδευση e-κπαίδευση Πλατφόρµα Ασύγχρονης Τηλε-κπαίδευσης Οδηγίες χρήσης για τους σπουδαστές του ΤΕΙ Αθήνας και τους επισκέπτες της δικτυακής πύλης e-κπαίδευση - 0 - Πίνακας Περιεχοµένων 1 Εισαγωγή.. 2 1.1 Σχολές/Τµήµατα

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

SilverPlatter WebSPIRS 4.1.

SilverPlatter WebSPIRS 4.1. WebSPIRS 4.1. Η υπηρεσία WebSPIRS από τη SilverPlatter αποτελεί ένα φιλικό εργαλείο πρόσβασης και αναζήτησης σε περιεχόμενα βάσεων δεδομένων. Η Βιβλιοθήκη και Κέντρο Πληροφόρησης του Πανεπιστημίου Θεσσαλίας

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ Πρότυπο Σύστηµα Αποθήκευσης και ιαχείρισης Σχηµάτων RDFS ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

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

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

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση Διμελής Σχέση Σχέσεις Διδάσκοντες: Φ. Αφράτη, Δ. Επιμέλεια διαφανειών: Δ. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διατεταγμένο ζεύγος (α, β): Δύο αντικείμενα

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

Ελάχιστα Γεννητορικά ένδρα

Ελάχιστα Γεννητορικά ένδρα λάχιστα Γεννητορικά ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος του Prim και ο αλγόριθµος του Kruskal για εύρεση λάχιστων Γεννητορικών ένδρων ΠΛ 23 οµές εδοµένων και Αλγόριθµοι

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 31 5 2007 Γ Τάξη Ηµερήσιου Γενικού Λυκείου

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 31 5 2007 Γ Τάξη Ηµερήσιου Γενικού Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 31 5 2007 Γ Τάξη Ηµερήσιου Γενικού Λυκείου Θέµα 1 ο ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ - ΣΧΟΛΙΑ Α) 1) Σωστό 2) Λάθος 3) Σωστό 4) Λάθος 5) Λάθος Β) 1) i) σελ 127 σχολικού (πλεονεκτήµατα

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

Τεχνολογία συστηµάτων λογισµικού και γεωπληροφορική: σύγκλιση, ολοκλήρωση και τάσεις

Τεχνολογία συστηµάτων λογισµικού και γεωπληροφορική: σύγκλιση, ολοκλήρωση και τάσεις Τεχνολογία συστηµάτων λογισµικού και γεωπληροφορική: σύγκλιση, ολοκλήρωση και τάσεις Βασίλειος Βεσκούκης ιπλωµατούχος Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ ιδάκτωρ Μηχανικός ΕΜΠ http://www.softlab.ece.ntua.gr/~bxb

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

Στρατηγική έρευνας. Στρατηγική έρευνας. Η ερευνητική διαδικασία στη βιβλιοθήκη αρχίζει από τη στιγμή που χρειάζεται

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

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

Ημερομηνία Παράδοσης: 4/4/2013

Ημερομηνία Παράδοσης: 4/4/2013 Δράση 9.14 / Υπηρεσία εντοπισμού λογοκλοπής Κυρίως Παραδοτέο / Σχεδιασμός και ανάπτυξη λογισμικού (λογοκλοπής) και βάσης δεδομένων (αποθετηρίου) Επιμέρους Παραδοτέο 9.14.1.4 / Πληροφοριακό σύστημα υπηρεσίας

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

Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi ee.duth.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth. Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

-----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------- ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΜΑΡΤΙΟΥ 2006 - ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 5: Resource Description Framework (RDF) Μ.Στεφανιδάκης 16-3-2015. Τα επίπεδα του Σημασιολογικού Ιστού RDF: Το κύριο πρότυπο του Σημασιολογικού Ιστού, χρησιμοποιεί

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

8.1 Θεωρητική εισαγωγή

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 6: Αφαιρετικότητα, Βιβλιοθήκες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφαιρετικότητα -Βιβλιοθήκες (packages) Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός

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

Στην ενότητα αυτή παρατίθενται δεξιότητες που αφορούν στη χρήση των πιο διαδεδομένων λογισμικών Γεωγραφικών Συστημάτων Πληροφοριών (GIS).

Στην ενότητα αυτή παρατίθενται δεξιότητες που αφορούν στη χρήση των πιο διαδεδομένων λογισμικών Γεωγραφικών Συστημάτων Πληροφοριών (GIS). Ενότητα 3η: Χρήση Λογισμικού GIS Το παρακάτω αναλυτικό γνωστικό περιεχόμενο, αποτελεί την τρίτη ενότητα της εξεταστέας ύλης για την πιστοποίηση GISPro και παρέχει το υπόβαθρο της πρακτικής εξέτασης στο

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