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

Μέγεθος: 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 ( παρέχει ένα πρότυπο για τη µετάδοση της πληροφορίας, λαµβάνοντας υπόψη τους παραπάνω πρώτους δύο παράγοντες. Το µοντέλο αυτό είναι στη γενική του µορφή ένας γράφος που σύµφωνα µε κατάλληλες προϋποθέσεις µπορεί να πάρει τη µορφή δέντρου. Πρόκειται για ένα µοντέλο που κατορθώνει να παντρεύει την χαλαρότητα των απαιτήσεων των ηµιδοµηµένων δεδοµένων µε τους αυστηρούς περιορισµούς των καλά δοµηµένων συστηµάτων βάσεων δεδοµένων. Η XML προσφέρει ένα πρότυπο επικοινωνίας και ανταλλαγής πληροφοριών µεταξύ ετερογενών κόµβων πληροφοριών του διαδικτύου και αποτελεί πλέον standard στο διαδίκτυο. 1

16 1.1 Αντικείµενο της διπλωµατικής Το αντικείµενο της διπλωµατικής εργασίας αυτής είναι ο τρίτος παράγοντας του χώρου της διαχείρισης της πληροφορίας στο διαδίκτυο και συγκεκριµένα ένας νέος µηχανισµός ανάκτησης δεδοµένων µε τη γλώσσα ερωτήσεων TreeSQuerL 1. Η TreeSQuerL αποτελείται από σύνολο ερωτήσεων ανάλογων της σχεσιακής άλγεβρας, οι οποίες όµως αποτιµώνται σε δενδρικές δοµές δεδοµένων, δίνοντας ως αποτέλεσµα ένα σύνολο µονοπατιών που οδηγούν σε εγγραφές δεδοµένων. Ας φανταστούµε ένα δικτυακό τόπο µε µεγάλο όγκο δεδοµένων συγκεκριµένου αντικειµένου ή τοµέα. Ένας τέτοιος τόπος ονοµάζεται κάθετος δικτυακός κατάλογος. Χρησιµοποιώντας το µοντέλο της XML, ο τεράστιος όγκος πληροφοριών του καταλόγου οργανώνεται µε συγκεκριµένη ιεραρχία, προσθέτοντας ταυτόχρονα το στοιχείο της δοµικής πληροφορίας που δεν υπάρχει στις κλασικές βάσεις δεδοµένων. Στο Σχ. 1.1 παρουσιάζεται η ιεραρχία για τον κάθετο κατάλογο παρουσίασης φωτογραφικού υλικού adorama ( 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 µηχανής, το µονοπάτι είναι: /cameras/slr/cam/@price Ωστόσο επειδή τις περισσότερες φορές αυτό που χρειάζεται για την επεξεργασία ενός XML εγγράφου είναι η επιλογή των κόµβων εκείνων που ικανοποιούν συγκεκριµένες συνθήκες, η XPath ορίζει προθέµατα σε κάθε κόµβο που περιλαµβάνεται στο µονοπάτι. Ορισµός 2.2. Πρόθεµα (Predicate) είναι µια Boolean έκφραση που αποτιµάται σε ένα κόµβο. Παράδειγµα: 6

21 Στο σχήµα του δικτυακού τόπου που περιγράφεται στο έγγραφο portal.xml του προηγούµενου παραδείγµατος, για να επιλεχθούν οι SLR κάµερες µάρκας Canon µε τιµή µεγαλύτερη από 100 Ευρώ συντάσσεται η XPath έκφραση = 'Canon' >= 100] Γλώσσα ερωτήσεων XQuery Η XQuery [XQUERY] είναι µια συναρτησιακή γλώσσα που δηµιουργήθηκε από το W3C ( ως γλώσσα ερωτήσεων 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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Πρότυπο Σύστηµα ιαχείρισης Μονοπατιών σε Ιεραρχίες Συναφών Καταλόγων ΙΠΛΩΜΑΤΙΚΗ

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

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

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

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

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

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, ΗΠΑ) (Εθνικό Μετσόβιο Πολυτεχνείο) (Εθνικό Μετσόβιο Πολυτεχνείο)

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Μοντέλα, οµές (Σχήµα) και Αντιπρόσωποι (Data Models, Schema, and Instances) DBMS αρχιτεκτονική ιάφοροι τύποι γλωσσών και διεπαφές

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη Εισαγωγή Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση

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

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

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

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

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

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

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

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

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

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

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

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

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Βασικές πράξεις της Σχεσιακής Αλγεβρας Σχεσιακό Μοντέλο Δεδομένων Ορισμός Βάσης

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδιασμός Βάσεων Δεδομένων

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

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

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

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

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Τ. Σελλής ΦΘΙΝΟΠΩΡΟ 2005 Λύση ΑΣΚΗΣΗΣ

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

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

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

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

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

Τμήμα Πληροφορικής ΑΠΘ

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής

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

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων Βάσεις εδοµένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Παύλος Εφραιµίδης pefraimi at ee.duth.gr Στο µάθηµα θα πούµε για Σχεσιακή Άλγεβρα Βάσεις εδοµένων Σχεσιακή

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 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. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

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

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

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

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

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

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

Μοντέλο Οντοτήτων-Συσχετίσεων Εισαγωγή Σχεδιασµός µιας Β : Βήµατα Ανάλυση Απαιτήσεων Τι δεδοµένα θα αποθηκευτούν, ποιες εφαρµογές θα κτιστούν πάνω στα δεδοµένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασµός Υψηλού-επιπέδου

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

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

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

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

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

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 22/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

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

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

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

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

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Δανάη Κούτρα Eργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Εθνικό Μετσόβιο Πολυτεχνείο Θέματα Σκοπός της διπλωματικής

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

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

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

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

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

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

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

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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): Είναι μία αποθήκη πληροφοριών οργανωμένη από ένα ενοποιημένο μοντέλο. Τα δεδομένα συλλέγονται από

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

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

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1 Σχεσιακό Μοντέλο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή O σχεδιασμός μιας βάση δεδομένων κωδικοποιεί κάποιο μέρος του φυσικού κόσμου Ένα μοντέλο δεδομένων είναι ένα σύνολο από έννοιες για

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

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

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΑΝΑΠΤΥΞΗ ΕΙΚΟΝΙΚΗΣ ΠΛΑΤΦΟΡΜΑΣ ΠΡΟΣΟΜΟΙΩΣΗΣ ΤΗΣ ΠΑΡΑΜΟΡΦΩΣΗΣ ΑΝΘΡΩΠΙΝΟΥ ΗΠΑΤΟΣ ΜΕ ΤΗ ΧΡΗΣΗ ΑΠΤΙΚΟΥ ΜΕΣΟΥ Δηµήτρης Δούνας

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

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 8 Ξένα Σύνολα

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2005 Λύση ΑΣΚΗΣΗΣ #2 Τ. Σελλής

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

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

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

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου:

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

Ανάκτηση Πληροφορίας (Information Retrieval IR)

Ανάκτηση Πληροφορίας (Information Retrieval IR) Ανάκτηση Πληροφορίας (Information Retrieval IR) Πανεπιστήµιο Θεσσαλίας Πολυτεχνική Σχολή Τµήµα Μηχ. Η/Υ, Τηλ/νιών & ικτύων Ακαδηµαϊκό Έτος 2005-2006 ιδακτικό βοήθηµα 1 Καλύπτει το 60% του αντικειµένου

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

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

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

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

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

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

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

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

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

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1 Διασυνδεδεμένες Δομές Δυαδικά Δέντρα Προγραμματισμός II 1 lalis@inf.uth.gr Δέντρα Τα δέντρα είναι κλασικές αναδρομικές δομές Ένα δέντρο αποτελείται από υποδέντρα, καθένα από τα οποία μπορεί να θεωρηθεί

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

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

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

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

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

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

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

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

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

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

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

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

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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Θα εξετάσουµε πότε ένα σχεσιακό σχήµα για µια βάση δεδοµένων είναι «καλό» Γενικές Οδηγίες Η Μέθοδος

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

ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ ΠΕΡΙΛΗΨΗ. Εισαγωγή

ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ ΠΕΡΙΛΗΨΗ. Εισαγωγή ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ Αθανάσιος Γαγάτσης Τµήµα Επιστηµών της Αγωγής Πανεπιστήµιο Κύπρου Χρήστος Παντσίδης Παναγιώτης Σπύρου Πανεπιστήµιο

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

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

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

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

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

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

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

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

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

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

Η Άλγεβρα των πινάκων στο γραφικό περιβάλλον SQL Query Builder του Data Studio

Η Άλγεβρα των πινάκων στο γραφικό περιβάλλον SQL Query Builder του Data Studio Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Σ Β (ΕΡΓΑΣΤΗΡΙΟ 2) Τελευταία ενηµέρωση: 10/2011 Η Άλγεβρα των πινάκων στο γραφικό περιβάλλον SQL Query Builder του Data Studio ΣΤΟΧΟΣ Στόχος του 2ου εργαστηρίου αποτελεί

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

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

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

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

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

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

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

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

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

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

Ανάκτηση Πληροφορίας (Information Retrieval IR) ιδακτικό βοήθηµα 2. Πανεπιστήµιο Θεσσαλίας Πολυτεχνική Σχολή Τµήµα Μηχ. Η/Υ, Τηλ/νιών & ικτύων

Ανάκτηση Πληροφορίας (Information Retrieval IR) ιδακτικό βοήθηµα 2. Πανεπιστήµιο Θεσσαλίας Πολυτεχνική Σχολή Τµήµα Μηχ. Η/Υ, Τηλ/νιών & ικτύων Ανάκτηση Πληροφορίας (Information Retrieval IR) Πανεπιστήµιο Θεσσαλίας Πολυτεχνική Σχολή Τµήµα Μηχ. Η/Υ, Τηλ/νιών & ικτύων Ακαδηµαϊκό Έτος 2005-2006 ιδακτικό βοήθηµα 1 Καλύπτει το 60% του 510 σελίδες 1η

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

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

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

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

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

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

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή Αντίρριο, 05/04/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» To δεύτερο μέρος της εργασίας έχει ως στόχο την ανάπτυξη του συντακτικού αναλυτή με χρήση του bison / byacc. Στο

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

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

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

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

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) θεωρητικές Γλώσσες Ερωτήσεων (Formal Query Languages): Σχεσιακή Άλγεβρα Τελεστές Θεωρίας Συνόλων

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

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

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

Η Γλώσσα Προγραµµατισµού 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 Θα

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

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

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

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

scanf() scanf() stdin scanf() printf() int float double %lf float

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

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

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

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

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

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

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

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

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

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

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

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

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

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

Εισαγωγή. Σχεδιασµός µιας Β

Εισαγωγή. Σχεδιασµός µιας Β Σχεδιασµός µιας Β Εισαγωγή ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων (κεφ. 3) γραφικό

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