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

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

Download "ΑΝΙΧΝΕΥΣΗ ΚΑΙ ΕΞΑΓΩΓΗ ΜΕΤΑΒΟΛΩΝ ΑΠΟ ΠΗΓΕΣ Ε ΟΜΕΝΩΝ ΓΙΑ ΤΗΝ ΕΝΗΜΕΡΩΣΗ DATA WAREHOUSE ΣΥΣΤΗΜΑΤΩΝ"

Transcript

1 ΕΒΓ - ΙΠΛ ΟΚΤΩΒΡΗΣ 1998 ΑΝΙΧΝΕΥΣΗ ΚΑΙ ΕΞΑΓΩΓΗ ΜΕΤΑΒΟΛΩΝ ΑΠΟ ΠΗΓΕΣ Ε ΟΜΕΝΩΝ ΓΙΑ ΤΗΝ ΕΝΗΜΕΡΩΣΗ DATA WAREHOUSE ΣΥΣΤΗΜΑΤΩΝ ΦΑΝΗΣ ΤΣΑΝΤΗΛΑΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΤΙΜΟΣ ΣΕΛΛΗΣ ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ ΓΝΩΣΕΩΝ ΚΑΙ Ε ΟΜΕΝΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΖΩΓΡΑΦΟΥ , ΑΘΗΝΑ

2 Η διπλωµατική εργασία που περιγράφεται στο παρόν κείµενο πραγµατοποιήθηκε κατά τη διάρκεια του 1998, υπό την επίβλεψη του κ. Τίµου Σελλή, τον οποίο και ευχαριστώ. Ιδιαίτερες ευχαριστίες θα ήθελα να απευθύνω στο µεταπτυχιακό φοιτητή Άρη Τσώη για την επιλογή του θέµατος και την πολύτιµη βοήθεια και καθοδήγησή του. Φάνης Τσαντήλας

3 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ Στόχοι της διπλωµατικής εργασίας οµή του παρόντος κειµένου ΠΕΡΙΓΡΑΦΗ ΤΩΝ DATA WAREHOUSES Τι είναι τα Data Warehouses Εφαρµογές των data warehouses Λειτουργία ενός data warehouse Περιπτώσεις καταλληλότητας των data warehouses Συστατικά ενός data warehouse συστήµατος Τµήµα συγκέντρωσης δεδοµένων Ολοκληρωτής (Integrator) Ρόλος του ολοκληρωτή Μοντέλο απεικόνισης των όψεων Συντήρηση των όψεων Μετατροπή και καθαρισµός δεδοµένων Περίβληµα/Ανιχνευτής (Wrapper/Monitor) Ρόλος του περιβλήµατος/ανιχνευτή Τύποι πηγών δεδοµένων Ανιχνεύσιµες αλλαγές Εµπορικά πακέτα ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕ ΙΑΣΗ Ανάλυση απαιτήσεων Ανάλυση πιθανών λύσεων Αρχιτεκτονικές Μοντέλα δεδοµένων Ανίχνευση µε χρήση σκανδαλιστών (triggers) Ανίχνευση µε σύγκριση στιγµιότυπων Τρόποι µετάδοσης της πληροφορίας προς τα ανώτερα στρώµατα Αρχιτεκτονική του συστήµατος Μοντέλο δεδοµένων της ανίχνευσης Αρχεία περιγραφής ανίχνευσης και εξαγωγής αλλαγών...2 Περιεχόµενα - ii

4 3.3.3 Τµήµα εξαγωγής αλλαγών από τις πηγές (περιβλήµατα/ανιχνευτές) Τµήµα µετάδοσης των αλλαγών προς το warehouse σύστηµα Συγχρονισµός της ανάγνωσης των αρχείων αλλαγών Σχεδίαση των περιβληµάτων/ανιχνευτών Ανίχνευση αλλαγών σε απλά αρχεία...2 Παράδειγµα Ανίχνευση αλλαγών στην Oracle Συγκέντρωση δεδοµένων και µετάδοσή τους Ανιχνευτής (Detector) SEVA Σύνδεση του warehouse συστήµατος µε τα αρχεία αλλαγών Σύνδεση πρωτογενών γεγονότων εφαρµογής και αρχείων αλλαγών ηµιουργία ανιχνευτών και ανάγνωση αλλαγών Αξιολόγηση σχεδίασης ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Περιβάλλον ανάπτυξης του συστήµατος Συντακτικό αρχείων περιγραφής της ανίχνευσης Αρχείο δήλωσης παρατηρούµενων σχέσεων και πεδίων Αρχείο συσχέτισης αρχείων αλλαγών και σχέσεων Αρχεία αλλαγών (log files) οµή του κώδικα Κλείδωµα αρχείων Περιβλήµατα/Ανιχνευτές Περίβληµα/Ανιχνευτής βάσεων δεδοµένων απλών αρχείων Περίβληµα/Ανιχνευτής βάσεων δεδοµένων στην Oracle Γεννήτορες αλλαγών Γεννήτορας αλλαγών στα απλά αρχεία-πίνακες Γεννήτορας αλλαγών στην Oracle Το πακέτο DWQPROTO Auxiliary StaticADT DataContent ApplicationData DynTokenTypes Temporal Synchronization...2 Περιεχόµενα - iii

5 4.7.8 DETECTORS DETECTORS.Auxiliary DETECTORS.SENSORS DETECTORS.PACKERS SEVA Αρχικοποίηση της ανίχνευσης των αρχείων αλλαγών Το πακέτο Init.timingparser ΠΑΡΑ ΕΙΓΜΑ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Επιλογή παρατηρούµενων σχέσεων και πεδίων Αγορές και πωλήσεις προϊόντων σε αλυσίδα καταστηµάτων Υπάλληλοι και βιβλία σε βιβλιοπωλείο Λειτουργία των περιβληµάτων/ανιχνευτών Ανίχνευση µεταβολών στους πίνακες αγορών και πωλήσεων Ανίχνευση µεταβολών στους πίνακες βιβλίων και υπαλλήλων Αρχικοποίηση της SEVA Αρχικοποίηση ανίχνευσης µεταβολών στα αρχεία αλλαγών Παραγωγή µεταβολών στις πηγές Παραγωγή αλλαγών στους πίνακες αγορών και πωλήσεων Παραγωγή αλλαγών στους πίνακες βιβλίων και υπαλλήλων Παρατήρηση αποτελεσµάτων ΥΝΑΤΕΣ ΕΠΕΚΤΑΣΕΙΣ Άλλες πηγές δεδοµένων Προγραµµατισµός της ανίχνευσης Εµπλουτισµός µοντέλου περιγραφής της ανίχνευσης Μετασχηµατισµοί και ποιότητα δεδοµένων Σύνδεση µε ένα data warehouse ΕΠΙΛΟΓΟΣ ΒΙΒΛΙΟΓΡΑΦΙΑ... 2 Περιεχόµενα - iv

6 1 Εισαγωγή 1.1 Στόχοι της διπλωµατικής εργασίας Βασικός στόχος της παρούσας διπλωµατικής εργασίας είναι η υλοποίηση ενός συστήµατος ανίχνευσης και εξαγωγής µεταβολών, οι οποίες λαµβάνουν χώρα σε διαφορετικά ήδη πηγών δεδοµένων, για την προώθησή τους σε συγκεντρωτικές αποθήκες δεδοµένων. Αυτές οι συγκεντρωτικές αποθήκες δεδοµένων είναι γενικότερα γνωστές ως Data Warehouses και µέσα στην τελευταία δεκαετία πολλές επιχειρήσεις και ερευνητικά προγράµµατα έχουν στρέψει το ενδιαφέρον τους προς αυτές. Το σύστηµα που υλοποιούµε αποτελείται από επιµέρους εφαρµογές, οι οποίες συνεργάζονται και επικοινωνούν µε ένα warehouse σύστηµα που έχει αναπτυχθεί στα πλαίσια του ευρωπαϊκού προγράµµατος DWQ (Data Warehouse Quality). Μέρος του κώδικά µας στηρίζεται στην αρχιτεκτονική του συστήµατος αυτού. Ο σχεδιασµός και η υλοποίηση του συστήµατός µας προσπαθεί να αντιµετωπίσει µε έναν ενιαίο τρόπο τις διαφορετικές πηγές δεδοµένων που τροφοδοτούν ένα data warehouse. Το κοµµάτι του κώδικα που προσαρµόζεται σε µια καινούργια πηγή περιορίζεται στο ελάχιστο και είναι γενικά αόρατο στο υπόλοιπο σύστηµα. ίνεται επίσης η δυνατότητα συνεργασίας του τµήµατος που εφάπτεται στις πηγές µε ένα οποιοδήποτε warehouse σύστηµα. Ένας άλλος σηµαντικός στόχος είναι η ανάπτυξη κώδικα που θα είναι µεταφέρσιµος σε οποιαδήποτε πλατφόρµα. Το παρόν σύστηµα συνδέεται µε δύο διαφορετικές µορφές πηγών δεδοµένων: µε το Σχεσιακό Σύστηµα ιαχείρισης Βάσεων εδοµένων της Oracle και µε απλά αρχεία ειδικής σύνταξης. Πέρα από το κοµµάτι της υλοποίησης η διπλωµατική εργασία φιλοδοξεί να παρουσιάσει το πρόβληµα της ανίχνευσης, εξαγωγής και συγκέντρωσης των µεταβολών που συµβαίνουν στις πηγές και ενδιαφέρουν το data warehouse. Εισαγωγή - 1

7 1.2 οµή του παρόντος κειµένου Το περιεχόµενο των κεφαλαίων που ακολουθούν έχει ως εξής: Κεφάλαιο 2 Γίνεται εισαγωγή στην τεχνολογία των data warehouses, αναλύεται η δοµή, η λειτουργία και τα συστατικά τους και παρουσιάζονται τα προβλήµατα της ανίχνευσης, της εξαγωγής, της συγκέντρωσης και της µεταφοράς των µεταβολών των δεδοµένων. Κεφάλαιο 3 Πραγµατοποιείται η ανάλυση και ο σχεδιασµός του συστήµατος. Καθορίζονται οι απαιτήσεις του συστήµατος, αναλύονται οι εναλλακτικές λύσεις και επιλέγεται η αρχιτεκτονική του. Στη συνέχεια, σχεδιάζεται η λειτουργία κάθε ξεχωριστής µονάδας και περιγράφονται οι αλγόριθµοι που χρησιµοποιούνται. Κεφάλαιο 4 Περιγράφεται η υλοποίηση του συστήµατος. Συγκεκριµένα, περιγράφονται οι κλάσεις του κώδικα και οι σχέσεις µεταξύ τους και παρουσιάζονται τα προβλήµατα που προέκυψαν κατά την ανάπτυξη του κώδικα και η αντιµετώπισή τους. Κεφάλαιο 5 Αναλύονται επεκτάσεις και βελτιώσεις που µπορούν να γίνουν στο σύστηµα. Κεφάλαιο 6 Αποτελεί τον επίλογο του κειµένου. Γίνεται ανακεφαλαίωση των βασικότερων σηµείων της διπλωµατικής εργασίας. Κεφάλαιο 7 Παρουσιάζεται η βιβλιογραφία που χρησιµοποιήθηκε για την πραγµατοποίηση της διπλωµατικής εργασίας. Εισαγωγή - 2

8 2 Περιγραφή των Data Warehouses 2.1 Τι είναι τα Data Warehouses Τα Data Warehouses έχουν γίνει ιδιαίτερα δηµοφιλή µέσα στην τελευταία δεκαετία. Η αγορά στρέφει το ενδιαφέρον της στα νέα προϊόντα που συνεπάγεται η αύξηση του ενδιαφέροντος για data warehouses, ενώ περιοδικά φιλοξενούν πλήθος άρθρων για τη νέα αυτή τεχνολογία στο χώρο των πληροφοριακών συστηµάτων. Μέχρι τώρα η διαχείριση της πληροφορίας γινόταν µέσω δοσοληψιών σε βάσεις δεδοµένων. Τα δεδοµένα βρίσκονται αποθηκευµένα σε µία ή περισσότερες βάσεις δεδοµένων και για την λήψη µιας απάντησης σε µια ερώτηση είναι αναγκαία η άµεση πρόσβαση στις πηγές των πληροφοριών (ad hoc queries). Στην περίπτωση απλών και περιορισµένων ερωτήσεων το παραπάνω µοντέλο είναι αποτελεσµατικό, αλλά τι συµβαίνει όταν οι ερωτήσεις γίνονται πολύπλοκες και ο όγκος των δεδοµένων που απαιτείται για την απάντηση σε µια ερώτηση γίνεται ιδιαίτερα µεγάλος; Πολύπλοκες ερωτήσεις για λήψη αποφάσεων απαιτούν την επεξεργασία µεγάλου όγκου δεδοµένων και τις περισσότερες φορές, ο υπολογιστικός φόρτος που απαιτούν είναι αδύνατο να αντιµετωπιστεί από ένα κλασσικό On Line Transaction Processing (OLTP) σύστηµα. Θα πρέπει να αναλογιστούµε ότι παρόµοιες ερωτήσεις απαιτούν εξαγωγή δεδοµένων από περισσότερες από µία πηγές δεδοµένων και σε ορισµένες περιπτώσεις η πρόσβαση σε αυτές δεν είναι δυνατή από έναν απλό χρήστη. Η απάντηση σε ερωτήσεις λήψης αποφάσεων είναι δυνατό να απαιτεί την συγκέντρωση µεγάλου όγκου δεδοµένων, την εφαρµογή σε αυτά αθροιστικών πράξεων, την ενοποίηση και συνόψισή τους. Σε ορισµένες µάλιστα περιπτώσεις οι ερωτήσεις απευθύνονται σε ιστορικά δεδοµένα, δυνατότητα που δεν παρέχουν τα παραπάνω συστήµατα. Η χρησιµοποίηση των data warehouses αλλάζει την παραπάνω εικόνα. Ας προσπαθήσουµε πρώτα να ορίσουµε τα συστήµατα αυτά. Ένας ολοκληρωµένος ορισµός δίνεται παρακάτω [BisAlex]: Περιγραφή των Data Warehouses - 3

9 Το data warehouse είναι µια συλλογή ενοποιηµένων, θεµατικά προσανατολισµένων βάσεων δεδοµένων, σχεδιασµένων να υποστηρίξουν τη λειτουργία των Συστηµάτων Λήψης Αποφάσεων (Decision Support Systems), όπου κάθε µονάδα δεδοµένων είναι σχετική µε κάποια χρονική στιγµή. Η ποσότητα των δεδοµένων σε ένα data warehouse είναι αρκετά µεγάλη ώστε να υποστηρίζει ευρεία ανάλυση και επεξεργασία δεδοµένων και συγκρίσεις ιστορικών δεδοµένων πάνω σε µεγάλες χρονικές περιόδους Εφαρµογές των data warehouses Υπάρχουν πολλά επιτυχηµένα warehouses στη βιοµηχανία που καλύπτουν διαφορετικές περιοχές µε πολλούς όµως κοινούς στόχους. Όλες οι επιχειρήσεις επιθυµούν να γνωρίζουν τα δηµογραφικά χαρακτηριστικά των πελατών τους. Ακόµα επιθυµούν να γνωρίζουν ποιοι πελάτες αγοράζουν τι και πότε, έτσι ώστε να κατευθύνουν ανάλογα τις επιχειρηµατικές τους δραστηριότητες, ενώ η γνώση των πιθανών πελατών τους επιτρέπει να προσαρµόσουν κατάλληλα τη διαφηµιστική τους πολιτική. Πέρα από τις παραπάνω πληροφορίες, ένα data warehouse µπορεί να προσφέρει δεδοµένα για οικονοµική ανάλυση, στοιχεία για το προσωπικό µιας επιχείρησης ή ακόµα για τις προτιµήσεις των πελατών της. Επειδή η εξαγωγή τέτοιων συµπερασµάτων απαιτεί συνήθως την εξαγωγή µέσων όρων, γίνεται φανερό ότι στις περισσότερες περιπτώσεις δεν µας ενδιαφέρουν λεπτοµερή δεδοµένα, ενώ δεν είναι αναγκαίο τα δεδοµένα να είναι συνεχώς ενηµερωµένα Λειτουργία ενός data warehouse Ας δώσουµε όµως την εικόνα ενός data warehouse. Μπορούµε να φανταστούµε το data warehouse σαν ένα σύνολο από όψεις τα δεδοµένα των οποίων αποθηκεύονται. Τα δεδοµένα των υλοποιηµένων αυτών όψεων (materialized views) προέρχονται από διάφορες πηγές, όπως σχεσιακές βάσεις δεδοµένων, απλά αρχεία ή και άλλα data warehouses. Στην ουσία τα data warehouses είναι κεντρικές βάσεις δεδοµένων οι οποίες συγκεντρώνουν πληροφορίες από πολλές πηγές δεδοµένων και τις ενοποιούν ώστε να µπορούν να απαντούν σε ερωτήσεις στήριξης αποφάσεων. Από τις παραπάνω όψεις µπορούµε να δηµιουργήσουµε µικρότερα σύνολα όψεων που θα έχουν τη µορφή ενός data warehouse, αλλά θα περιορίζονται σε συγκεκριµένες θεµατικές περιοχές. Αυτές οι δοµές ονοµάζονται data marts και αποσκοπούν στην οριοθέτηση των διάφορων θεµατικών περιοχών, έτσι ώστε οι χρήστες να έχουν πρόσβαση µοναχά στις πληροφορίες που τους ενδιαφέρουν. Τα data marts είναι λοιπόν εξειδικευµένα υποσύνολα ενός data warehouse µέσα από τα οποία γίνονται οι ερωτήσεις από τους απλούς χρήστες. Περιγραφή των Data Warehouses - 4

10 Καταλαβαίνουµε ότι οι όψεις του data warehouse δεν µπορούν να είναι ενηµερωµένες ανά πάσα στιγµή. Επειδή ο όγκος των δεδοµένων που ενδιαφέρει ένα data warehouse είναι συνήθως πολύ µεγάλος, µια τέτοια απαίτηση θα οδηγούσε σε µεγάλο υπολογιστικό φορτίο και χρονικές καθυστερήσεις. Έτσι, είναι προτιµότερο η ενηµέρωση να γίνεται σε τακτά χρονικά διαστήµατα µε τρόπο ώστε να µην επηρεάζεται η απόδοση του συστήµατος. Οι ενηµερώσεις µπορούν για παράδειγµα να γίνονται τις νύχτες ή τα σαββατοκύριακα που οι χρήστες είναι λίγοι. Πρόβληµα εµφανίζεται όταν οι χρήστες βρίσκονται σε διαφορετικά σηµεία του πλανήτη, οπότε οι διαφορά της ώρας αναιρεί τα παραπάνω Περιπτώσεις καταλληλότητας των data warehouses Τα data warehouse συστήµατα είναι κατάλληλα στις εξής περιπτώσεις: όταν οι πληροφορίες προέρχονται από περισσότερες από µία πηγές, κάποιες από τις οποίες βρίσκονται σε αποµακρυσµένα συστήµατα και η απευθείας πρόσβαση σε αυτές δεν επιτρέπεται όταν οι χρήστες απαιτούν συγκεκριµένα και προβλέψιµα ποσοστά της διαθέσιµης πληροφορίας όταν οι χρήστες απαιτούν υψηλές επιδόσεις ερωταποκρίσεων (τα δεδοµένα βρίσκονται τοπικά αποθηκευµένα στο warehouse), χωρίς όµως να είναι αναγκαία η ύπαρξη της πληροφορίας στην πιο πρόσφατη µορφή της σε περιβάλλοντα όπου οι εφαρµογές στις τοπικές πηγές πληροφορίας απαιτούν µεγάλο υπολογιστικό φορτίο (ερωτήσεις που απευθύνονται σε πολλαπλές πηγές εκτελούνται στο warehouse αντί να µοιράζονται στις πηγές) σε περιπτώσεις χρηστών που επιθυµούν πρόσβαση σε ιδιωτικά αντίγραφα πληροφοριών µε δυνατότητες επεξεργασίας και συνόψισής τους, καθώς και στην περίπτωση που επιθυµούν την διατήρηση ιστορίας των δεδοµένων (π.χ. δεν αποθηκεύεται µοναχά η τελευταία µορφή της πληροφορίας, αλλά και οι προηγούµενες) όταν οι χρήστες δεν επιθυµούν απευθείας πρόσβαση στις πηγές για να µεταβάλλουν τα δεδοµένα Στόχος µας είναι η εξαγωγή των δεδοµένων από τις πηγές εκ των προτέρων, η επεξεργασία τους ανάλογα µε τις ανάγκες των χρηστών, ο συνδυασµός τους µε τις πληροφορίες άλλων πηγών και η αποθήκευσή τους σε µορφή όψεων σε µια κεντρική αποθήκη δεδοµένων (data warehouse). Περιγραφή των Data Warehouses - 5

11 2.2 Συστατικά ενός data warehouse συστήµατος Στο Σχήµα 2.1 παρουσιάζεται η βασική αρχιτεκτονική ενός data warehouse συστήµατος [Wid95]. Χρήστης Τµήµα ερωτήσεων και ανάλυσης δεδοµένων Data Warehouse Τµήµα συγκέντρωσης δεδοµένων Πηγή Πηγή... Πηγή Σχήµα 2.1 Η βασική αρχιτεκτονική ενός data warehouse συστήµατος Μπορούµε να διακρίνουµε δυο βασικά συστατικά του: το τµήµα συγκέντρωσης δεδοµένων (data integration component) και το τµήµα ερωτήσεων και ανάλυσης δεδοµένων (data querying and analysis component). Το πρώτο συστατικό είναι υπεύθυνο για την εξαγωγή των δεδοµένων από τις πηγές, τη συγκέντρωση και γενικότερα την ενηµέρωση και συντήρηση των όψεων του warehouse συστήµατος. Το δεύτερο είναι υπεύθυνο για την ικανοποίηση των αναγκών σε πληροφορίες των τελικών χρηστών. Τα δυο αυτά τµήµατα δεν είναι ανεξάρτητα µεταξύ τους, αφού οι όψεις που ενηµερώνει το τµήµα συγκέντρωσης δεδοµένων εξαρτώνται από τις αναµενόµενες ανάγκες των τελικών χρηστών. Τα περισσότερα εµπορικά συστήµατα (π.χ. Redbrick, Sybase, Arbor) επικεντρώνουν την προσοχή τους στο τµήµα ερωτήσεων και ανάλυσης δεδοµένων, παρέχοντας ειδικευµένες δοµές δεικτιοδότησης στο data warehouse και εκτεταµένες ευκολίες ερωτήσεων προς τον τελικό χρήστη. Εµείς δεν θα προχωρήσουµε σε ανάλυση Περιγραφή των Data Warehouses - 6

12 του τµήµατος αυτού και θα περιοριστούµε στην περιγραφή του τµήµατος συγκέντρωσης δεδοµένων Τµήµα συγκέντρωσης δεδοµένων Στο Σχήµα 2.2 παρουσιάζουµε την αρχιτεκτονική ενός data warehouse συστήµατος επικεντρώνοντας την προσοχή µας στο τµήµα συγκέντρωσης δεδοµένων. Στη βάση του σχήµατος διακρίνουµε τις πηγές πληροφοριών. Οι πηγές δεν είναι κατά ανάγκη συµβατικά συστήµατα βάσεων δεδοµένων. Στη γενική περίπτωση, στις πηγές µπορεί να περιλαµβάνονται απλά αρχεία κειµένου, HTML αρχεία, σχεσιακές βάσεις δεδοµένων κ.ά. Data Warehouse Integrator Wrapper/Monitor Wrapper/Monitor Wrapper/Monitor Source Source... Source Σχήµα 2.2 Αρχιτεκτονική του τµήµατος συγκέντρωσης δεδοµένων ενός data warehouse συστήµατος Σε κάθε πηγή συνδέεται ένας wrapper/monitor ή µεταφράζοντας στα ελληνικά ένα περίβληµα/ανιχνευτής. Το περίβληµα (wrapper) είναι το κοµµάτι που µεταφράζει τα δεδοµένα από την πηγαία µορφή στη µορφή και το µοντέλο δεδοµένων που κατανοεί το warehouse σύστηµα. Ο ανιχνευτής (monitor) είναι υπεύθυνος για την αυτόµατη ανίχνευση των αλλαγών στα δεδοµένα που µας ενδιαφέρουν και την αναφορά τους στον ολοκληρωτή (integrator). Ο ολοκληρωτής παίρνει τα δεδοµένα από τα περιβλήµατα των πηγών και τα εγκαθιστά στο data warehouse. Προηγουµένως, ξεχωρίζει τις πληροφορίες που είναι Περιγραφή των Data Warehouses - 7

13 απαραίτητες, τις συνδυάζει µε πληροφορίες που προέρχονται από άλλες πηγές και σε ορισµένες περιπτώσεις τις συµπτύσσει, τις αθροίζει ή προσθέτει χρονικές παραµέτρους. Μπορεί επίσης να χρειαστεί η εξαγωγή πληροφοριών από άλλες πηγές για να συνδυαστούν µε τις υπάρχουσες, οπότε ο ολοκληρωτής απευθύνεται στο περίβληµα της αντίστοιχης πηγής. Αυτή η συµπεριφορά απεικονίζεται µε τα διακεκοµµένα βέλη προς την κατεύθυνση των περιβληµάτων/ανιχνευτών. Θα πρέπει να τονίσουµε ότι τα παραπάνω συστατικά του warehouse συστήµατος είναι δυνατό να βρίσκονται σε αποµακρυσµένα υπολογιστικά συστήµατα και η επικοινωνία τους να γίνεται µέσω δικτύου. Στη συνέχεια θα περιγράψουµε µε περισσότερες λεπτοµέρειες τα παραπάνω συστατικά και θα αναφερθούµε στα προβλήµατα που εµφανίζονται κατά την ανάπτυξή τους. 2.2 Ολοκληρωτής (Integrator) Ρόλος του ολοκληρωτή Ευθύνη του ολοκληρωτή είναι όπως είπαµε να συγκεντρώνει τις αλλαγές που του µεταδίδουν τα περιβλήµατα/ανιχνευτές των πηγών και να τις αναπαριστά στο data warehouse. Θα µπορούσαµε να θεωρήσουµε ότι τα δεδοµένα στο data warehouse έχουν τη µορφή όψεων, τα δεδοµένα των οποίων προέρχονται απευθείας από τις πρωταρχικές πηγές πληροφοριών. Άρα η συντήρηση των όψεων αυτών ανάγεται στην παρακολούθηση των επιµέρους δεδοµένων που τις αποτελούν, στις αντίστοιχες πηγές Μοντέλο απεικόνισης των όψεων Στις περισσότερες περιπτώσεις, η απεικόνιση των όψεων γίνεται σύµφωνα µε το σχεσιακό µοντέλο. Για να απλοποιήσουµε την ανάλυσή µας, θεωρούµε ότι και οι πηγές αποθηκεύουν τα δεδοµένα σε µορφή σχέσεων. Στην απλούστερη λοιπόν περίπτωση, κάθε όψη-σχέση του data warehouse αποτελείται από πεδία σχέσεων που βρίσκονται στις πηγές. Έστω για παράδειγµα ότι έχουµε τη σχέση R(X, Y, Z) στην πηγή Α και τη σχέση S(X, K, L, M) στην πηγή Β. Μια όψη στο data warehouse θα µπορούσε να είναι η V(X, Y, K, M), η οποία µε τη βοήθεια SQL ορίζεται ως εξής: CREATE VIEW V(X, Y, K, M) AS SELECT R.X, R.Y, S.K, S.M FROM R, S WHERE R.X = S.X Περιγραφή των Data Warehouses - 8

14 2.2.3 Συντήρηση των όψεων Η συντήρηση της παραπάνω όψης συνίσταται στην παρακολούθηση των πεδίων X, Y, K, M στις αντίστοιχες πηγές και η ανίχνευση των αλλαγών σε αυτά. Παρ' όλα αυτά η συντήρηση των όψεων δεν είναι πάντα απλή υπόθεση: Στα πεδία των όψεων ενός data warehouse είναι δυνατό να συµπεριλαµβάνονται ιστορικές πληροφορίες (π.χ. ηµεροµηνία ανίχνευσης αλλαγών στην πηγή) ή συναρτήσεις σε ιστορικά δεδοµένα (π.χ. µέσος χρόνος µεταξύ δυο συναλλαγών). Οι πληροφορίες αυτές δεν υπάρχουν στις πρωταρχικές πηγές. Τα δεδοµένα στα warehouse συστήµατα συνήθως περιέχουν συγκεντρωτικές και αθροιστικές πληροφορίες. Εποµένως, απαιτείται η επεξεργασία των δεδοµένων που προέρχονται από τις πηγές και η εφαρµογή αθροιστικών και στατιστικών πράξεων σε αυτά προτού γίνει η καταχώρησή τους στο data warehouse. Σε ορισµένες µάλιστα περιπτώσεις, είναι πιθανό να γίνεται δειγµατοληψία των δεδοµένων, ώστε να µειωθεί ο όγκος του data warehouse ή να παραλείπονται δεδοµένα ύποπτα για λάθη. εν γίνεται ενηµέρωση του data warehouse σε κάθε µεταβολή των δεδοµένων στις πηγές, αφού µια παρόµοια συµπεριφορά θα µείωνε την απόδοση του συστήµατος. Αντίθετα, οι ενηµερώσεις γίνονται σε καθορισµένες χρονικές στιγµές και αφορούν µεγάλους όγκους δεδοµένων. Απαιτείται η χρησιµοποίηση αποδοτικών αλγορίθµων χρονισµού ώστε οι ενηµερώσεις αυτές να µην επιβαρύνουν τη λειτουργία του συστήµατος. Όταν ο integrator λαµβάνει ειδοποίηση για µία αλλαγή, για την εξασφάλιση της συνέπειας των δεδοµένων στο data warehouse, µπορεί να χρειαστεί η αναζήτηση συµπληρωµατικών δεδοµένων στην ίδια ή σε διαφορετικές πηγές. Έστω ότι έχουµε τις σχέσεις R(X, Y) και S(Y, Z) και την όψη V(X, Z) που ορίζεται ως: CREATE VIEW V(X, Z) AS SELECT R.X, S.Z FROM R, S WHERE R.Y = S.X Θεωρούµε ότι στο data warehouse το στιγµιότυπο της παραπάνω όψης είναι V={(a,c)}, ενώ τα στιγµιότυπα των σχέσεων στις πηγές είναι R={(a,b)} και S={(b,c)}. Το ζητούµενο είναι τι θα συµβεί, εάν στη σχέση R εισαχθεί η τιµή (a1,b). Είναι φανερό ότι θα πρέπει να εισαχθεί η τιµή (a1,c) στην όψη V. Για να Περιγραφή των Data Warehouses - 9

15 γίνει όµως αυτό, θα πρέπει υπολογιστεί η πράξη σύνδεσης (a1,b) JOIN S και στη συνέχεια να πάρουµε την προβολή των πεδίων X και Z. Παρατηρούµε λοιπόν ότι δεν αρκεί η ανίχνευση της εισαγωγής στη σχέση R, αλλά απαιτείται η πρόσβαση στα περιεχόµενα και της σχέσης R. Το γεγονός αυτό περιπλέκει τη συντήρηση των όψεων, αφού είναι αναγκαία η δηµιουργία κανόνων που θα αποφασίζουν για τις ενέργειες που θα πρέπει να συνοδέψουν µια οποιαδήποτε µεταβολή στις πηγές. Επειδή οι πολλαπλές προσβάσεις στις πηγές των δεδοµένων καθυστερούν σε µεγάλο βαθµό τη λειτουργία του συστήµατος (είναι άλλωστε πιθανό να µην επιτρέπονται για λόγους ασφάλειας), γίνεται προσπάθεια να περιοριστούν ή στην καλύτερη περίπτωση να εξαλειφθούν. Όταν για τη συντήρηση µιας όψης δεν απαιτούνται επιπρόσθετες ερωτήσεις πίσω στις πηγές, λέµε ότι η όψη είναι αυτοσυντηρούµενη (self-maintainable). Για να εξασφαλίσουµε ότι όλες οι όψεις του data warehouse είναι αυτοσυντηρούµενες αποθηκεύουµε επιπλέον βοηθητικές πληροφορίες σε αυτό. Στην πιο ακραία περίπτωση, όλα τα σχετικά δεδοµένα αντιγράφονται από τις πηγές στο data warehouse και οι όψεις µπορούν να ξαναυπολογιστούν αν αυτό κρίνεται απαραίτητο. Στο παράδειγµα που δώσαµε παραπάνω θα µπορούσαµε να αποτρέψουµε την επιστροφή πίσω στις πηγές, αποθηκεύοντας στο data warehouse τις καταχωρήσεις της σχέσης S. Είναι ανοιχτό πρόβληµα προς έρευνα το πώς θα καθοριστεί το ελάχιστο ποσό πρόσθετης πληροφορίας που χρειάζεται για την εξασφάλιση της αυτοσυντήρησης µιας δεδοµένης όψης. Άλλο ένα ενδιαφέρον πρόβληµα είναι η βέλτιστη εξισορρόπηση του κόστους διατήρησης επιπλέον πληροφορίας στο data warehouse έναντι του κόστους πραγµατοποίησης ερωτήσεων στις πηγές Μετατροπή και καθαρισµός δεδοµένων Είπαµε ότι ένα data warehouse συνήθως τροφοδοτείται από πολλές ανοµοιογενείς πηγές, οι οποίες πιθανώς να ακολουθούν διαφορετικά µοντέλα και να περιέχουν διαφορετικούς τύπους δεδοµένων. Άλλες παράµετροι που θα πρέπει να λάβουµε υπ' όψη πριν οδηγήσουµε τα δεδοµένα στο data warehouse είναι η πιθανότητα ύπαρξης µη καθορισµένων τιµών, αµφίσηµων δεδοµένων, πολλαπλών αντιγράφων των ίδιων τιµών, περιττών δεδοµένων, συντοµεύσεων. Πολλές πηγές είναι ανεκτικές σε λάθη, κάτι που θα πρέπει επίσης να συνυπολογίσουµε. Τα δεδοµένα λοιπόν, θα πρέπει να καθαριστούν και να µετατραπούν στην κατάλληλη µορφή πριν οδηγηθούν στο data warehouse. Πιθανές λειτουργίες καθαρισµού και µετατροπής των δεδοµένων είναι: Περιγραφή των Data Warehouses - 10

16 µετατροπές τύπων δεδοµένων διόρθωση των τιµών ώστε να ταιριάζουν µε τους ορισµούς των πεδίων συµπλήρωση ακαθόριστων τιµών µετατροπή συντοµεύσεων και τιµών µε πολλαπλές γραφές (π.χ. ονοµάτων ή διευθύνσεων) σε καθορισµένες, αναγνωρίσιµες µορφές διαγραφή ανεπιθύµητων χαρακτήρων ή τιµών διαγραφή πολλαπλών αντιγράφων των δεδοµένων εµπλουτισµός δεδοµένων µε νέες πληροφορίες µετατροπή δεδοµένων σύµφωνα µε κανόνες ή πρότυπα 2.3 Περίβληµα/Ανιχνευτής (Wrapper/Monitor) Ρόλος του περιβλήµατος/ανιχνευτή Οι βασικές αρµοδιότητές του περιβλήµατος/ανιχνευτή είναι δύο: 1. Ανίχνευση αλλαγών Προσαρµοσµένος σε µια πηγή δεδοµένων (π.χ. σχεσιακό σύστηµα βάσεων δεδοµένων) παρατηρεί τα δεδοµένα που µας ενδιαφέρουν και καταγράφει τις αλλαγές που συµβαίνουν. Τις αλλαγές αυτές τις µεταφέρει στον integrator. 2. Μετάφραση Η αναπαράσταση των δεδοµένων αλλάζει από πηγή σε πηγή. Η µετάδοση όµως των αλλαγών στο υψηλότερο επίπεδο πρέπει να γίνει µε ενιαίο τρόπο. Υπεύθυνο για την µετατροπή των δεδοµένων από την µορφή που έχουν στην πηγή στο µοντέλο απεικόνισης του data warehouse είναι το περίβληµα κάθε πηγής. Είναι φανερό ότι για κάθε τύπο πηγής πληροφοριών απαιτείται διαφορετικό ζευγάρι περιβλήµατος/ανιχνευτή. Επειδή όµως είναι ανεπιθύµητη η κατασκευή νέου κώδικα από την αρχή κάθε φορά που παρουσιάζεται µια καινούρια πηγή, είναι απαραίτητο να περιορίσουµε το κοµµάτι που διαφέρει όσο το δυνατό περισσότερο, ενώ αντίθετα ένα µεγάλο µέρος του κώδικα να χρησιµοποιείται σε όλες τις µορφές πηγών Τύποι πηγών δεδοµένων Υπάρχουν αρκετοί διαφορετικοί τύποι πηγών πληροφορίας στις οποίες η ανίχνευση των αλλαγών διαφοροποιείται. Μπορούµε να τις διακρίνουµε στις εξής κατηγορίες: Περιγραφή των Data Warehouses - 11

17 Συνεργάσιµες πηγές Οι πηγές αυτές παρέχουν σκανδαλιστές (triggers) και έτσι οι ανίχνευση των αλλαγών γίνεται αυτόµατα, αφού κάθε µεταβολή στα δεδοµένα µπορεί να ενεργοποιήσει ένα ορισµένο κοµµάτι κώδικα (Oracle, Sybase, Informix). Πηγές που καταγράφουν τις αλλαγές (logged sources) Ορισµένες πηγές διατηρούν ειδικά αρχεία όπου καταγράφουν τις µεταβολές των δεδοµένων (logs), στα οποία µπορούµε να έχουµε πρόσβαση (IBM Data Propagator). Πηγές στις οποίες µπορούν να γίνουν ερωτήσεις Αυτές οι πηγές δίνουν στο περίβληµα/ανιχνευτή τη δυνατότητα να εξαγάγει τις αλλαγές που ενδιαφέρουν µε περιοδικές ερωτήσεις. Πηγές χωρίς καµιά από τις παραπάνω δυνατότητες Σε αυτή την περίπτωση η εξαγωγή των δεδοµένων µπορεί να γίνει µοναχά µε σύγκριση στιγµιότυπων (snapshots) των δεδοµένων σε διαφορετικές χρονικές στιγµές (απλά αρχεία κειµένου, HTML αρχεία) Ανιχνεύσιµες αλλαγές Οι αλλαγές που µπορούν να λάβουν χώρα σε µια πηγή και ανιχνεύονται παρουσιάζονται στον Πίνακα 2.1. Πράξη Insert Delete Update Είδος αλλαγής Εισαγωγή µιας εγγραφής ιαγραφή µιας ή περισσοτέρων εγγραφών Αλλαγή ενός ή περισσοτέρων πεδίων µιας ή περισσοτέρων εγγραφών Πίνακας 2.1 υνατές αλλαγές σε µια πηγή δεδοµένων Οι πράξεις των αλλαγών θα µπορούσαν να απεικονιστούν µε τη βοήθεια της SQL ως εξής: Insert INSERT INTO table_name(column_name1,..., column_namen) VALUES (value1,..., valuen) Περιγραφή των Data Warehouses - 12

18 Delete DELETE FROM table_name WHERE condition Update UPDATE table_name SET column_name1 = value1,..., column_namen = valuen WHERE condition όπου condition είναι µια οποιαδήποτε συνθήκη πάνω στα πεδία του πίνακα table_name. Οι αλλαγές που συµβαίνουν στις πηγές δεν µεταδίδονται ως έχουν στα ανώτερα επίπεδα. Οι πίνακες στο data warehouse έχουν διαφορετική µορφή απ ' ό,τι στις πηγές και συνεπώς θα πρέπει να µεταδοθούν µόνο οι αλλαγές που έχουν επίπτωση στα δεδοµένα του data warehouse, σε µορφή που να µην δηµιουργεί σύγχυση στον προσδιορισµό των εγγραφών που επηρεάζονται. Γι' αυτό το λόγο, κάθε αλλαγή που στέλνει το περίβληµα στον ολοκληρωτή αντιστοιχεί σε µοναδική εγγραφή. Έτσι, µια διαγραφή σε µια σχεσιακή βάση δεδοµένων αντιστοιχεί σε µία ή και περισσότερες αναφορές διαγραφών προς τον ολοκληρωτή. Όταν στα παρατηρούµενα πεδία µιας σχέσης ανήκει και το κλειδί, η αναφορά των διαγραφών και των ενηµερώσεων µπορεί να στηριχτεί σε αυτό: και DELETE FROM table_name WHERE key_name=value UPDATE table_name SET column_name1 = value1,..., column_namen = valuen WHERE key_name=value Στη γενική όµως περίπτωση οι υλοποιηµένες όψεις του data warehouse δεν περιέχουν το κλειδί όλων των στοιχειωδών σχέσεων που την αποτελούν. Εποµένως θα πρέπει να µεταδίδονται όλα τα παρατηρούµενα πεδία µιας τροποποιηµένης εγγραφής, ανεξάρτητα εάν αυτά έχουν υποστεί µεταβολές. Στην περίπτωση αυτή η µετάδοση των µεταβολών σε µορφή ενηµερώσεων (updates) δεν έχει νόηµα. Μια ενηµέρωση µεταδίδεται ως µια διαγραφή της παλιάς εγγραφής και µια εισαγωγή της ενηµερωµένης εγγραφής. Περιγραφή των Data Warehouses - 13

19 2.4 Εµπορικά πακέτα Υπάρχουν αρκετά εµπορικά πακέτα λογισµικού που επικεντρώνουν την προσοχή τους στην εξαγωγή, την τροποποίηση, τον καθαρισµό και τη µεταφορά των δεδοµένων πριν αυτά οδηγηθούν σε κάποιο data warehouse σύστηµα [OS96], [Will97]. Το κάθε ένα από τα πακέτα αυτά αντιµετωπίζει µε διαφορετικό τρόπο τα προβλήµατα που εµπλέκονται στη διαδικασία τροφοδότησης των data warehouses µε δεδοµένα και παρέχει διαφορετικές ευκολίες σε κάθε στάδιο της επεξεργασίας των δεδοµένων (εξαγωγή, µετασχηµατισµός και µεταφορά δεδοµένων, µοντελοποίηση και αφαίρεση, διαχείριση αντιγράφων). Κανένα από αυτά δεν µπορεί να κάνει τα πάντα. Η επιλογή του συστήµατος εξαρτάται αποκλειστικά από τις ανάγκες µιας επιχείρησης και το κεφάλαιο που επιθυµεί να διαθέσει. Στον Πίνακα 2.2 παρουσιάζονται κατηγορίες εµπορικών εργαλείων, δίνεται η λειτουργία τους και αξιολογείται η αποτελεσµατικότητά τους. Κατηγορία Εργαλεία Λειτουργία Εργαλείων Επίτευξη Στόχου Data Reverse Bachman Επεξεργάζονται metadata για Engineering - Βασισµένη στα Metadata LogicWorks ERWIN/ERX Embarcadero ER/1 την τεκµηρίωση συστηµάτων και αφηρηµένων επιχειρησιακών κανόνων και σχέσεων. Επαρκώς Kismet KisMeta Data Reverse Vality Integrity Επεξεργάζονται δεδοµένα σε Engineering - Βασισµένη στο περιεχόµενο των δεδοµένων QDB Analyze Data Star WizRule σχέση µε τα metadata, για αυτόµατη αφαίρεση επιχειρησιακών κανόνων και σχέσεων. Επαρκώς Οµαδική εξαγωγή Carleton Passport Η εξαγωγή είναι κεντρικά και µεταφορά δεδοµένων -Παραµετρικοί γεννήτορες κώδικα εξαγωγής δεδοµένων ETI Extract Prism Warehouse Manager ελεγχόµενη από παραµέτρους: ο κώδικας των προγραµµάτων εξαγωγής γεννάται αυτόµατα. Τα εργαλεία παρέχουν µετατροπή δεδοµένων και αφαίρεση καθώς και µεταφορά. Η µετατροπή και η αφαίρεση Πολύ καλά Περιγραφή των Data Warehouses - 14

20 των δεδοµένων θεωρούν γνωστή και συνεπή την µορφή των δεδοµένων των πηγών. Προσφέρουν δυνατότητες ανίχνευσης και διαχείρισης αντιγράφων. Οµαδική εξαγωγή 3GL/4GL Περίβληµα για ανάπτυξη και µεταφορά δεδοµένων - Γράφεις το δικό σου κώδικα εξαγωγής δεδοµένων (COBOL et al.) Platinum ΙnfoRefiner Platinum InfoPump Praxis Οmni κώδικα εξαγωγής και τροποποίησης δεδοµένων, διαπροσωπία µε βάσεις δεδοµένων. Λιγοστές δυνατότητες ανίχνευσης αντιγράφων. Καλά έως πολύ καλά Replicator Χειρισµός IBM Σχεδιασµένα ειδικά για το αντιγράφων DataPropagator χειρισµό αντιγράφων (κατανεµηµένες βάσεις Sybase Replication Server δεδοµένων ή warehouses). Μπορούν να περιλαµβάνουν λειτουργίες εξαγωγής/µεταφοράς, ή να Πολύ καλά χρησιµοποιούν άλλα εργαλεία. Οι δυνατότητες για µετασχηµατισµό των δεδοµένων είναι περιορισµένες. Μεσολαβητές - CA Enterprise Υποστηρίζουν ερωτήσεις, διαδραστικές ερωτήσεις εξαγωγή/µεταφορά δεδοµένων Access Platinum InfoHub Praxis Omni Replicator Sybase Enterprise Connect συµπεριλαµβανοµένων on-line ερωτήσεων, δηµιουργώντας µια εικονική βάση δεδοµένων και αυτοµατοποιώντας τη διαπροσωπία µεταξύ αρκετών διαφορετικών πηγών και των εργαλείων ερωτήσεων των χρηστών. Πολύ καλά IBM DataJoiner Intersolv Sequelink Περιγραφή των Data Warehouses - 15

21 Ποιότητα Apertus Τοποθετηµένα µεταξύ εξαγωγής περιεχοµένου δεδοµένων Trillium και εισαγωγής, τα εργαλεία αυτά υποστηρίζουν βασισµένο - Βασισµένη σε φίλτρα σε παραµέτρους φιλτράρισµα δεδοµένων. Ειδικεύονται περισσότερο στη διαχείριση σχέσεων και µετασχηµατισµών απ' όσο εργαλεία όπως το Καλά Prism. Μπορούν να χρησιµοποιηθούν για να κρατούν δεδοµένα µε διαφορετικά κλειδιά στη διάταξη, για την αποφυγή παραφράσεων κατά την υποβολή ερωτήσεων. Ποιότητα Vality Η ποιότητα των δεδοµένων περιεχοµένου δεδοµένων - βασισµένη σε DB Star WizRule βασίζεται στο περιεχόµενο των δεδοµένων. Πρότυπα δεδοµένων, κανόνες και σχέσεις σχέσεις IDI που ανακαλύπτονται βοηθούν Επαρκώς τους αναλυτές να καθορίσουν τις περιοχές των προβληµάτων που σχετίζονται µε την ποιότητα των δεδοµένων. Ποιότητα PostalSoft ACE Ποιότητα δεδοµένων για δεδοµένων για ειδικούς σκοπούς Group 1 Nadis SSA ειδικούς σκοπούς, όπως διόρθωση ονοµάτων/διευθύνσεων κ.ά. Πολύ καλά Ποιότητα PostalSoft Library Αυτόµατη εισαγωγή δεδοµένων δεδοµένων για ειδικού σκοπούς - Mailers +4 διευθύνσεων σαν αυτά να εισάγονται on-line υποστήριξη εισαγωγής δεδοµένων (συµπεριλαµβανοµένων ονοµάτων δρόµων, κωδικών κ.ά.). Τα εργαλεία Πολύ καλά ενσωµατώνονται σε οθόνες εισαγωγής δεδοµένων ως βιβλιοθήκες κλάσεων, σύµφωνα Περιγραφή των Data Warehouses - 16

22 µε το µοντέλο πελάτηεξυπηρετητή ή απλώς πελάτη. Μετάφραση Data Junction Βοήθεια µετάφρασης µεταξύ δεδοµένων Cambio διαφόρων τυποποιήσεων των δεδοµένων (για χρήση σε Πολύ καλά σύνδεση µε άλλες διεργασίες) Πίνακας 2.2 Κατηγορίες εργαλείων και λειτουργίες τους Στον Πίνακα 2.3 παρουσιάζονται οι ευκολίες που παρέχουν διάφορα εργαλεία. Εργαλείο Εξαγωγή δεδοµένων Καθάρισµα δεδοµένων Αφαίρεση δεδοµένων Μεταφορά δεδοµένων Carleton Passport Prism Platinum InfoPump Platinum InfoRefiner Platinum InfoHub Vality Integrity PostalSoft ACE Apertus KisMeta : διευκολύνει : µερική αυτοµατοποίηση : αυτοµατοποιηµένη υποστήριξη Πίνακας 2.3 Εµπορικά εργαλεία και ευκολίες που προσφέρουν Περιγραφή των Data Warehouses - 17

23 3 Ανάλυση και Σχεδίαση Σε αυτό το κεφάλαιο πραγµατοποιείται η ανάλυση και ο σχεδιασµός του συστήµατος εξαγωγής, συγκέντρωσης και µετάδοσης δεδοµένων που υλοποιεί η παρούσα διπλωµατική εργασία. Καθορίζονται οι απαιτήσεις του συστήµατος, µε βάση αυτές αποφασίζεται η σχεδίαση που θα ακολουθήσουµε, διαχωρίζονται τα διαφορετικά συστατικά του συστήµατος και αναλύονται οι µεταξύ τους σχέσεις και η λειτουργία τους και επιλέγονται οι αλγόριθµοι που θα χρησιµοποιηθούν. 3.1 Ανάλυση απαιτήσεων Το τµήµα του data warehouse συστήµατος στο οποίο επικεντρώνει την προσοχή της η παρούσα διπλωµατική είναι το τµήµα εξαγωγής και συγκέντρωσης δεδοµένων. Ενδιαφερόµαστε για την κατασκευή περιβληµάτων/ανιχνευτών για διαφορετικούς τύπους πηγών και τη σύνδεσή τους µε ένα warehouse σύστηµα. Η αρχιτεκτονική του συστήµατος θα πρέπει να επιτρέπει την επικοινωνία των περιβληµάτων/ανιχνευτών µε ένα οποιοδήποτε warehouse σύστηµα. Αυτό επιβάλλει το διαχωρισµό τους από τις υπόλοιπες µονάδες του συστήµατος και την αντιµετώπισή τους ως ανεξάρτητα τµήµατα. Σηµασία δίνεται στη ανάπτυξη κώδικα που θα είναι εύκολα µεταφέρσιµος σε διαφορετικές αρχιτεκτονικές. Κάθε πηγή µοντελοποιεί µε διαφορετικό τρόπο τα δεδοµένα. Θα πρέπει λοιπόν να σχεδιαστεί ένα κοινό µοντέλο απεικόνισης των δεδοµένων. Ο καθορισµός των πληροφοριών που ενδιαφέρουν το data warehouse και εποµένως ανιχνεύονται θα γίνεται µε κοινή γλώσσα για όλες τις πηγές. Κοινός θα είναι και ο τρόπος που τα περιβλήµατα των πηγών θα επικοινωνούν µε το ανώτερο επίπεδο (ολοκληρωτή). εχόµαστε ότι το data warehouse λαµβάνει όλες τις πληροφορίες που είναι αναγκαίες, ώστε οι όψεις του να είναι αυτοσυντηρούµενες. Έτσι δεν απαιτούνται επιπρόσθετες ερωτήσεις πίσω στις πηγές για να εξασφαλιστεί η συνέπεια των όψεων του data warehouse. Τα περιβλήµατα που θα κατασκευαστούν θα επικοινωνήσουν µε ένα ήδη υλοποιηµένο σύστηµα. Για τη σύνδεση θα χρειαστεί η κατασκευή κώδικα που θα στηρίζεται στην αρχιτεκτονική του συστήµατος αυτού. Σε επόµενη ενότητα του Ανάλυση και Σχεδίαση - 18

24 κεφαλαίου θα παρουσιάσουµε την αρχιτεκτονική αυτή, έτσι ώστε να γίνει κατανοητή η σχεδίαση του συστήµατός µας. Θα ασχοληθούµε µε δύο διαφορετικούς τύπους πηγών: συνεργάσιµες πηγές, στις οποίες η ανίχνευση γίνεται µε τη βοήθεια σκανδαλιστών και πηγές στις οποίες η ανίχνευση µπορεί να γίνει µόνο µε τη σύγκριση στιγµιότυπων. Συγκεκριµένα θα χρησιµοποιηθεί το Σχεσιακό Σύστηµα ιαχείρισης Βάσεων εδοµένων της Oracle που αντιστοιχεί στην πρώτη κατηγορία πηγών και απλά αρχεία ειδικής σύνταξης που αντιστοιχούν στη δεύτερη κατηγορία. 3.2 Ανάλυση πιθανών λύσεων Στην ενότητα αυτή θα αναλυθούν πιθανοί τρόποι αντιµετώπισης των κυριότερων προβληµάτων που θα πρέπει να αντιµετωπίσει το σύστηµα που υλοποιούµε. Παρουσιάζονται λύσεις που αφορούν την αρχιτεκτονική του συστήµατος, το µοντέλο δεδοµένων, τις τεχνικές ανίχνευσης στους δύο τύπους πηγών που θα χρησιµοποιήσουµε και τους τρόπους µετάδοσης των πληροφοριών προς τα ανώτερα στρώµατα Αρχιτεκτονικές Αρχικά θα πρέπει να αποφασίσουµε ποια αρχιτεκτονική θα ακολουθήσουµε. Οφείλουµε να δώσουµε απαντήσεις στα παρακάτω βασικά ερωτήµατα: πώς θα γίνεται η επικοινωνία των περιβληµάτων/ανιχνευτών µε το υπόλοιπο σύστηµα; πώς θα συγχρονίζεται η λήψη των δεδοµένων από τα περιβλήµατα των πηγών; Η πιο προφανής λύση είναι η άµεση σύνδεση των περιβληµάτων των πηγών µε το ανώτερο στρώµα (ολοκληρωτής), ώστε οι αλλαγές που ανιχνεύονται να µεταδίδονται απ' ευθείας σε αυτό. Ο ολοκληρωτής θα είναι αυτός που θα ζητάει από τα περιβλήµατα νέα δεδοµένα, ανάλογα µε τις δικές του ανάγκες του και τις εντολές που δέχεται από υψηλότερα επίπεδα. Σε περίπτωση που ο όγκος των δεδοµένων δεν επιτρέπει άµεση µεταφορά τους είναι δυνατό να χρησιµοποιούνται ενδιάµεσες µνήµες. Το σχήµα αυτό είναι ιδιαίτερα ευέλικτο, αλλά η στενή επικοινωνία των περιβληµάτων των πηγών µε τον ολοκληρωτή τους στερεί την αυτονοµία και παραβλέπει προβλήµατα όπως οι περιορισµοί στα δικαιώµατα πρόσβασης στα δεδοµένα των πηγών από αποµακρυσµένους χρήστες. Ο διαχωρισµός µεταξύ των περιβληµάτων των πηγών και του υπόλοιπου συστήµατος καθίσταται δυνατός µε την παρεµβολή ενός ενδιάµεσου συστήµατος, στο οποίο τα µεν περιβλήµατα των πηγών µεταδίδουν τις ανιχνευόµενες αλλαγές ανάλογα µε την προθυµία των πηγών και ο δε ολοκληρωτής αναζητά τις νέες καταχωρήσεις σύµφωνα µε τις δικές του απαιτήσεις. Η απλούστερη εκδοχή του παρεµβαλλόµενου συστήµατος Ανάλυση και Σχεδίαση - 19

25 είναι ένα σύνολο από αρχεία αλλαγών (log files). Σύµφωνα µε την αρχιτεκτονική αυτή, το κάθε περίβληµα/ανιχνευτής έχει πλήρη πρόσβαση στα δεδοµένα της αντίστοιχης πηγής και η υλοποίησή του είναι πλήρως ανεξάρτητη από την υλοποίηση των υπόλοιπων τµηµάτων του συστήµατος Μοντέλα δεδοµένων Ένα άλλο πρόβληµα στο οποίο θα πρέπει να δώσουµε απάντηση είναι η επιλογή του µοντέλου µε το οποίο θα αναπαριστάµε τα δεδοµένα. Το µοντέλο που συνήθως χρησιµοποιείται τόσο από τις πηγές όσο και από τα data warehouses είναι το σχεσιακό. Το σχεσιακό µοντέλο είναι γενικά απλό και µπορεί να αναπαραστήσει τις πιο συνηθισµένες µορφές δεδοµένων. Για την απεικόνιση σύνθετων δεδοµένων (όπως εικόνες, βίντεο, χωρικά και χωροχρονικά δεδοµένα) το σχεσιακό µοντέλο είναι ανεπαρκές. Στην περίπτωση αυτή είναι αναγκαία η υιοθέτηση πιο απαιτητικών περιγραφών, όπως αντικειµενοστραφών µοντέλων και δοµών δεδοµένων που µπορούν να περιγράψουν τον πολυδιάστατο χώρο. Οι περιγραφές όµως αυτές καθιστούν την επεξεργασία των δεδοµένων δύσκολη, ιδιαίτερα όταν οι όγκοι των δεδοµένων είναι µεγάλοι και υπάρχει συνεργασία µεταξύ αποµακρυσµένων και ανοµοιογενών συστηµάτων. Θα πρέπει άλλωστε να υπενθυµίσουµε ότι στα data warehouses συγκεντρώνονται πληροφορίες που έχουν ως στόχο την εξαγωγή συµπερασµάτων και τη στήριξη των συστηµάτων λήψης αποφάσεων. Γενικά, δεν αποθηκεύονται σύνθετες µορφές δεδοµένων Ανίχνευση µε χρήση σκανδαλιστών (triggers) Ορισµένα συστήµατα διαχείρισης βάσεων δεδοµένων παρέχουν ενεργούς µηχανισµούς αντίδρασης σε γεγονότα, τους σκανδαλιστές. Για να γίνουµε περισσότερο συγκεκριµένοι και κατανοητοί, θα µελετήσουµε τους σκανδαλιστές στην Oracle [PL/SQL], για την οποία άλλωστε ενδιαφερόµαστε. Ένας σκανδαλιστής είναι ένα PL/SQL κοµµάτι κώδικα που ενεργοποιείται από ένα συµβάν σε έναν πίνακα µιας βάσης δεδοµένων. Οι σκανδαλιστές αποθηκεύονται ως κείµενο και µεταγλωττίζονται κατά το χρόνο εκτέλεσης. Γι' αυτό άλλωστε θα πρέπει να αποφεύγεται η ενσωµάτωση πολύ κώδικα σε αυτούς. Οι σκανδαλιστές µπορούν να κληθούν πριν (BEFORE) ή µετά (AFTER) από τα ακόλουθα γεγονότα: εισαγωγή (INSERT), διαγραφή (DELETE) και ενηµέρωση (UPDATE) µιας ή περισσοτέρων πλειάδων ενός πίνακα. Εποµένως χρησιµοποιώντας τους σκανδαλιστές µπορούµε να ανιχνεύσουµε κάθε δυνατή µεταβολή στις πλειάδες ενός πίνακα. Οι αλλαγές που ανιχνεύονται θα πρέπει να συγκεντρώνονται σε ειδικούς πίνακες, τους οποίους θα ονοµάζουµε δέλτα πίνακες αλλαγών. Σύµφωνα µε την ανάλυση της παραγράφου 2.3.3, οι µεταβολές που θα αναφέρονται θα είναι εισαγωγές ή διαγραφές. Οι Ανάλυση και Σχεδίαση - 20

26 δέλτα πίνακες θα διαβάζονται περιοδικά, ώστε να εξαχθούν οι µεταβολές που έχουν πραγµατοποιηθεί µέχρι εκείνη τη στιγµή. Τα πεδία τους θα αντιστοιχούν στα πεδία των πινάκων που µας ενδιαφέρουν να µεταφέρουµε στο data warehouse. Ανάλογα µε τον αριθµό των δέλτα πινάκων που χρησιµοποιούµε καθορίζεται και ο αριθµός των επιπλέον πεδίων που απαιτούνται για την περιγραφή της αλλαγής. Αν έχουµε µοναχά έναν δέλτα πίνακα για όλες τις σχέσεις της βάσης, χρειαζόµαστε δύο επιπλέον πεδία: ένα που θα καθορίζει τον πίνακα στον οποίο σηµειώθηκε η µεταβολή και ένα άλλο που θα καθορίζει το είδος της µεταβολής (εισαγωγή ή διαγραφή). Στην περίπτωση που για κάθε είδος µεταβολής ενός συγκεκριµένου πίνακα tablename υπάρχει διαφορετικός πίνακας δέλτα (tablename_inserts και tablename_deletes), για κάθε έναν ανιχνευόµενο πίνακα πραγµατοποιούµε τους παρακάτω σκανδαλιστές (τα πεδία filed1, field2,..., fieldn είναι αυτά τα οποία ενδιαφερόµαστε να µεταφέρουµε στο data warehouse): Εισαγωγές CREATE TRIGGER tablename_insert_trigger AFTER INSERT ON tablename FOR EACH ROW BEGIN INSERT INTO tablename_inserts VALUES (:new.field1, :new.field2,..., :new.fieldn); END; ιαγραφές CREATE TRIGGER tablename_delete_trigger AFTER INSERT ON tablename FOR EACH ROW BEGIN INSERT INTO tablename_deletes VALUES (:old.field1, :old.field2,..., :old.fieldn); END; Ενηµερώσεις CREATE TRIGGER tablename_update_trigger AFTER INSERT ON tablename FOR EACH ROW BEGIN INSERT INTO tablename_inserts VALUES (:new.field1, :new.field2,..., :new.fieldn); Ανάλυση και Σχεδίαση - 21

27 END; INSERT INTO tablename_deletes VALUES (:old.field1, :old.field2,..., :old.fieldn); Στην περίπτωση των ενηµερώσεων υπάρχει µια παρενέργεια που θα πρέπει να επισηµάνουµε. Εάν µεταβληθεί ένα πεδίο του οποίου οι µεταβολές δεν µας ενδιαφέρουν, έχουµε την εισαγωγή της ίδιας πλειάδας τόσο στο δέλτα πίνακα εισαγωγών, όσο και στο δέλτα πίνακα διαγραφών. Οι δυο πράξεις µεταβολών αλληλοεξουδετερώνονται και εποµένως δεν καταστρέφεται η συνέπεια του data warehouse. Μπορούµε να αποφύγουµε όµως τις περιττές αυτές εισαγωγές στους δέλτα πίνακες µε τη χρησιµοποίηση του κατάλληλου ελέγχου: CREATE TRIGGER tablename_update_trigger AFTER INSERT ON tablename FOR EACH ROW BEGIN IF (:new.field1!= :old.field1) OR (:new.field2!= :old.field2)... OR (:new.fieldn!= :old.fieldn) THEN BEGIN INSERT INTO tablename_inserts VALUES (:new.field1, :new.field2,..., :new.fieldn); INSERT INTO tablename_deletes VALUES (:old.field1, :old.field2,..., :old.fieldn); END; END IF; END; Για την εξουδετέρωση όλων των αλληλοαναιρούµενων διαγραφών και εισαγωγών απαιτούνται περισσότεροι έλεγχοι στο σώµα και των τριών σκανδαλιστών. Παρ' όλα αυτά, πολλές φορές επιθυµούµε την καταγραφή όλων των µεταβολών, ακόµα και όταν αυτές είναι αλληλοαναιρούµενες. Αυτό συµβαίνει όταν κατά την ανίχνευση των µεταβολών µπαίνει και η χρονική παράµετρος, όταν δηλαδή µας ενδιαφέρει η καταγραφή της ιστορίας των µεταβολών στα δεδοµένα των πινάκων Ανίχνευση µε σύγκριση στιγµιότυπων Σε πηγές όπου δεν υπάρχει κανένας µηχανισµός εύρεσης των αλλαγών στα δεδοµένα, είµαστε αναγκασµένοι να προσφύγουµε στην άµεση σύγκριση διαφορετικών στιγµιότυπων των δεδοµένων. Στην παράγραφο αυτή παρουσιάζονται δυο αλγόριθµοι Ανάλυση και Σχεδίαση - 22

28 διαφορικής σύγκρισης στιγµιότυπων αρχείων (snapshot differential algorithms). Οι αλγόριθµοι αυτοί είναι παραλλαγές των αλγορίθµων που παρουσιάζονται στο [LM95]. Η σηµαντικότερη διαφορά των αλγορίθµων που περιγράφονται παρακάτω µε τους αντίστοιχους πρωτότυπους, είναι ότι στις εγγραφές δεν υπάρχουν πεδία που χρησιµοποιούνται ως κλειδί και συνεπώς το χαρακτηριστικό αυτό δεν µπορεί να αξιοποιηθεί. Σε όλους αυτούς τους αλγόριθµους, για κάθε αρχείο στο οποίο παρακολουθούµε τις µεταβολές, υπάρχει ένα δεύτερο αρχείο στο οποίο αποθηκεύεται το περιεχόµενο του πρώτου, µετά από κάθε προσπάθεια για ανίχνευση και εξαγωγή αλλαγών. Έτσι είναι δυνατή η σύγκριση µεταξύ δυο διαφορετικών στιγµιότυπων του αρχείου που περιέχει τα δεδοµένα που παρακολουθούµε. Αλγόριθµος 1 Τα κυριότερα χαρακτηριστικά του αλγόριθµου αυτού είναι η ταξινόµηση και η συµπίεση των αρχείων µε σκοπό να βελτιωθεί η απόδοση της σύγκρισης των δυο στιγµιότυπων. Σηµαντικότερος στόχος µας είναι ο περιορισµός των λειτουργιών εισόδουεξόδου (ανάγνωσης και εγγραφής σε αρχεία). Οι εγγραφές, κατά τη δηµιουργία του παλαιότερου στιγµιότυπου F 1, τοποθετούνται ταξινοµηµένες. Ταξινοµώντας και το δεύτερο, νέο αρχείο F 2, θα µπορούσαµε γρήγορα να συγκρίνουµε τα δυο αρχεία και να εξαγάγουµε τις αλλαγές. Ένας πρώτος τρόπος είναι να χρησιµοποιήσουµε τον αναδροµικό αλγόριθµο ταξινόµησης µε συγχώνευση (merge-sort algorithm). Το αρχείο χωρίζεται σε Μ περιοχές (runs), όπου Μ είναι το µέγεθος της διαθέσιµης κύριας µνήµης. Οι νέες περιοχές χωρίζονται διαδοχικά, έως ότου καταλήξουµε σε ελάχιστες ταξινοµηµένες περιοχές. Οι διαδοχικές συγχωνεύσεις των περιοχών αυτών οδηγεί στην ταξινόµηση του αρχείου µε 2 F 2 log M F 2 λειτουργίες εισόδου-εξόδου, όπου F 2 είναι το µέγεθος του αρχείου. Αν υπάρχει αρκετή διαθέσιµη κύρια µνήµη ( M > F2 ) η ταξινόµηση µπορεί να γίνει σε δύο περάσµατα και να χρειαστούν µοναχά 4 F 2 λειτουργίες εισόδου-εξόδου. Αυτό συµβαίνει επειδή στο πρώτο πέρασµα, κάθε περιοχή µπορεί να αποθηκευτεί ολόκληρη στην κύρια µνήµη και συνεπώς να ταξινοµηθεί µε 2 F 2 λειτουργίες εισόδουεξόδου. Στον αλγόριθµο που θα παρουσιάσουµε η ταξινόµηση πραγµατοποιείται µέχρι αυτό το στάδιο, χωρίς να προχωράµε στη δεύτερη φάση. Η συµπίεση των αρχείων πραγµατοποιείται µε σκοπό την µείωση του µεγέθους των εγγραφών και συνεπώς των απαιτούµενων εισόδων-εξόδων. Υπάρχουν πολλοί τρόποι για να συµπιέσουµε ένα αρχείο. Εµείς θα θεωρήσουµε ότι κάθε εγγραφή συµπιέζεται ξεχωριστά. Με τον όρο compress(x) θα αναφερόµαστε στη συνάρτηση συµπίεσης, χωρίς να µας ενδιαφέρει ο µηχανισµός που ακολουθείται. Θα συµβολίζουµε µε r µια οποιαδήποτε εγγραφή και µε f ένα συµπιεσµένο αρχείο. Ανάλυση και Σχεδίαση - 23

29 Έστω ότι έχουµε εγγραφές µήκους b bits και ότι συµπιέζονται, ώστε το µήκος τους να γίνει n bits, όπου n<b. Όπως είναι φανερό, η συµπίεση µπορεί να οδηγήσει σε απώλειες, από τη στιγµή που υπάρχουν 2 b τιµές που πρέπει να αντιστοιχηθούν σε µόνο 2 n τιµές. Σε κάθε συµπιεσµένη τιµή αντιστοιχούν 2 b /2 n πρωτότυπες τιµές. Συνεπώς, η πιθανότητα για κάθε πρωτότυπη τιµή να υπάρχει άλλη µια τιµή που αντιστοιχεί στην ίδια συµπιεσµένη τιµή είναι ((2 b /2 n )-1)/2 b, η οποία για µεγάλες τιµές του b είναι περίπου ίση µε 2 -n. Για αρκετά µεγάλες τιµές του n, η πιθανότητα αυτή µπορεί να είναι πολύ µικρή. Ας θεωρήσουµε, για παράδειγµα, ότι πραγµατοποιούµε καθηµερινά µια σύγκριση µεταξύ δυο στιγµιότυπων µεγέθους 256 ΜΒ. Υποθέτουµε ότι το µέγεθος των εγγραφών είναι 150 bytes που σηµαίνει ότι σε κάθε αρχείο υπάρχουν περίπου εγγραφές. Η πιθανότητα να µην υπάρχει λάθος κατά τη σύγκριση των δύο αρχείων είναι: p day = (1-E) records(f) = ( ) Χρησιµοποιώντας αυτή την πιθανότητα µπορούµε να υπολογίσουµε τον αναµενόµενο αριθµό ηµερών έως ότου παρουσιαστεί το πρώτο λάθος: N gooddays = (1 p day i 1 1 ) i pday = 1 i 1 p day Το αποτέλεσµα που προκύπτει είναι ηµέρες, δηλαδή παραπάνω από 6,7 έτη. Λαµβάνοντας υπ' όψη ότι συνήθως, στις εφαρµογές των data warehouses, δεν ενδιαφερόµαστε για δεδοµένα µεγάλης ακρίβειας, ένας τέτοιος ρυθµός λαθών είναι ασήµαντος. Στο σηµείο αυτό είµαστε έτοιµοι να δούµε τον αλγόριθµο: Είσοδος: F 1 (παλαιό στιγµιότυπο), f 1 sorted (παλαιό στιγµιότυπο - συµπιεσµένο και ταξινοµηµένο), F 2 (νέο στιγµιότυπο) Έξοδος: F out (αρχείο µε τις διαγραφές -deletes- και τις εισαγωγές -inserts-), f 2 sorted Αλγόριθµος: (1) f 2 MakePointers Compress(F 2 ) (2) f 2 runs SortIntoRuns(f 2 ) Ανάλυση και Σχεδίαση - 24

30 (3) r 1 διάβασε την επόµενη εγγραφή από το f 1 sorted (4) r 2 διάβασε την επόµενη εγγραφή από το f 2 runs (5) f 2 sorted Έξοδος(< r 2, r 2.p>) (6) while ((r 1 NULL) or (r 2 NULL)) (7) begin (8) if ((r 1 = NULL) or (r 1 > r 2 )) then (9) begin (10) r full διάβασε από το F 2 την εγγραφή µε διεύθυνση r 2.p (11) F out Έξοδος(< Insert, r full >) (12) r 2 διάβασε από την επόµενη εγγραφή από το f 2 runs (13) f 2 sorted Έξοδος(< r 2, r 2.p>) (14) end (15) else if ((r 2 = NULL) or (r 1 < r 2 )) then (16) begin (17) r full διάβασε από το F 1 την εγγραφή µε διεύθυνση r 1.p (18) F out Έξοδος(< Delete, r full >) (19) r 1 διάβασε από την επόµενη εγγραφή από το f 1 sorted (20) end (21) else (22) begin (23) r 2 διάβασε από την επόµενη εγγραφή από το f 2 runs (24) r 1 διάβασε από την επόµενη εγγραφή από το f 1 sorted (25) end (26) end Βλέπουµε ότι το αρχείο F 2 πρώτα συµπιέζεται (γραµµή (1)) και µετά ταξινοµείται (γραµµή (2)) σε περιοχές (runs) µε τον τρόπο που αναφέραµε παραπάνω. Η συνάρτηση MakePointers κατασκευάζει για κάθε µία συµπιεσµένη εγγραφή ένα δείκτη στην ασυµπίεστη εγγραφή που βρίσκεται στο αρχείο F 2. Ο σκοπός του παραπάνω δείκτη είναι η αποφυγή αποσυµπίεσης της εγγραφής, κάθε φορά που προκύπτει µια διαγραφή ή µια εισαγωγή, οπότε και επιθυµούµε την εγγραφή στην ασυµπίεστη µορφή της. Γι' αυτό όµως το λόγο απαιτείται η διατήρηση όχι µόνο του συµπιεσµένου και ταξινοµηµένου αρχείου f 1sorted αλλά και του αυθεντικού F 1. Αυτό δεν θα ίσχυε στην περίπτωση που υπήρχε κλειδί στις εγγραφές, αφού το κλειδί θα παρέµενε ασυµπίεστο και οι διαγραφές θα προέκυπταν άµεσα (Delete Key). Ανάλογα µε τις ανάγκες µας σε χώρο δίσκου, την ταχύτητα συµπίεσης, αποσυµπίεσης και λειτουργιών εισόδου-εξόδου, µπορούµε να αποφύγουµε τη χρησιµοποίηση δεικτών ή ακόµα και να παρακάµψουµε τη συµπίεση των αρχείων. Στις γραµµές (3) και (4) γίνεται η ανάγνωση µιας εγγραφής από κάθε αρχείο. Κατά την ανάγνωση του αρχείου f 2 runs, οδηγούµε στη µνήµη µια εγγραφή από κάθε Ανάλυση και Σχεδίαση - 25

31 ταξινοµηµένη περιοχή και επιλέγουµε αυτή µε τη µικρότερη τιµή. Στη γραµµή (5), η εγγραφή που επιλέχτηκε καταχωρείται στο νέο αρχείο f 2 sorted που θα αντικαταστήσει το f 1 στην επόµενη σύγκριση στιγµιότυπων. Μαζί µε τη συµπιεσµένη εγγραφή sorted καταχωρείται και ο δείκτης (r 2.p) που αναφέραµε προηγουµένως. Ακολουθεί επαναληπτική διαδικασία, όπου συγκρίνονται οι δυο εγγραφές και σε περίπτωση ανισότητας (γραµµές (8), (15)) παράγεται η κατάλληλη πράξη ενηµέρωσης (γραµµές (11), (18)). Ο συνολικός αριθµός λειτουργιών εισόδου-εξόδου που πραγµατοποιούνται είναι: F 2 στη γραµµή (1) f 2 στη γραµµή (2) f f 2 + D + I στις γραµµές από (3) έως (26) όπου D και I είναι αντίστοιχα ο αριθµός των εισαγωγών και των διαγραφών που βρέθηκαν. Συνολικά λοιπόν έχουµε F 2 + f f 2 + D + I λειτουργίες εισόδουεξόδου. Αλγόριθµος 2 Ο δεύτερος αυτός αλγόριθµος (the window algorithm) διαβάζει τα στιγµιότυπα των αρχείων µοναχά µια φορά ( F 1 + F 2 λειτουργίες εισόδου-εξόδου) και είναι ιδιαίτερα αποδοτικός σε περιπτώσεις αρχείων, όπου οι διαφορές µεταξύ των στιγµιότυπων αναµένεται να βρίσκονται σε σχετικά µικρές περιοχές. Ο αλγόριθµος χωρίζει τα δυο στιγµιότυπα σε µικρές περιοχές και σε ένα πρώτο στάδιο συγκρίνει µόνο τις εγγραφές που βρίσκονται στις αντίστοιχες περιοχές των δύο αρχείων, ελπίζοντας ότι οι εγγραφές που ταιριάζουν βρίσκονται πολύ κοντά. Αυτή η ελπίδα δεν είναι ανυπόστατη αν δεχτούµε ότι τα αρχεία συγκρίνονται αρκετά συχνά, ώστε δεν παρατηρούνται µαζικές αλλαγές σε σχέση µε το µέγεθός τους και ότι οι αλλαγές δεν µεταβάλλουν ριζικά την εικόνα των αρχείων (π.χ. οι νέες εγγραφές προσθέτονται στο τέλος). Επειδή όµως είναι λογικό να υπάρχουν ανακατατάξεις στη δοµή των αρχείων, ο αλγόριθµος διατηρεί ένα κινούµενο παράθυρο για κάθε στιγµιότυπο, στο οποίο τοποθετούνται οι εγγραφές που δεν ταίριαξαν αρχικά. Η διαθέσιµη µνήµη χωρίζεται σε τέσσερα τµήµατα όπως φαίνεται στο Σχήµα 3.1. Για κάθε ένα στιγµιότυπο χρησιµοποιούνται δυο περιοχές µνήµης. Η µία ονοµάζεται Input Buffer και η άλλη Aging Buffer. Στην πρώτη µεταφέρονται οι εγγραφές απευθείας από το αντίστοιχο αρχείο, ενώ η δεύτερη παίζει το ρόλο του παραθύρου που αναφέραµε παραπάνω. Ανάλυση και Σχεδίαση - 26

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΖΩΓΡΑΦΟΥ 157 73, ΑΘΗΝΑ ΕΒΓ - ΙΠΛ-2003-1 20 Ιανουαρίου 2003 Σύγκριση Αλγορίθµων

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

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Views, Triggers Γιώργος Μαρκοµανώλης Περιεχόµενα Όψη... 1 ηµιουργία όψης... 2 Επιλογή CHECK... 3 Όψεις µόνο για εµφάνιση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών 1 Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ της Κωτσογιάννη Μαριάννας Περίληψη 1. Αντικείµενο- Σκοπός Αντικείµενο της διπλωµατικής αυτής εργασίας

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

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

Πληροφορική 2. Βάσεις Δεδομένων (Databases) Πληροφορική 2 Βάσεις Δεδομένων (Databases) 1 2 Επίπεδα αρχεία (flat files) Επίπεδο αρχείο είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων. Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν

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

ALERTS ή EDA (Event Driven Actions)

ALERTS ή EDA (Event Driven Actions) ALERTS ή EDA (Event Driven Actions) Το ALERTS είναι ένα ευέλικτο εργαλείο ανοιχτού σχεδιασµού που αναπτύχθηκε µε σκοπό να καλύψει ιδιαίτερες απαιτήσεις διαµόρφωσης ή επέκτασης της λειτουργικότητας όλων

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

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Εισαγωγή στις έννοιες Αλγόριθµοι και Πολυπλοκότητα, Οργάνωση Δεδοµένων και Δοµές Δεδοµένων Χρήσιµοι µαθηµατικοί

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

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη Όνοµα: Νικολαΐδης Αντώνιος Επιβλέπων: Τ. Σελλής Περίληψη ιπλωµατικής Εργασίας Συνεπιβλέποντες: Θ. αλαµάγκας, Γ. Γιαννόπουλος

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

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

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

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

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

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

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

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

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

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

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

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

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα: ΘΕΜΑΤΑ Θέμα 1 ο Σε μία βάση δεδομένων χρηματιστηριακών συναλλαγών υπάρχουν οι παρακάτω πίνακες που αποτελούνται από τα εξής πεδία : : ΚΣ, ΗΜΝΙΑ, ΩΡΑ, ΚΜ, ΤΙΜΗ ΜΕΤΟΧΗ : ΚΜ, ΟΝΟΜΑ, ΕΤΟΣ_ΙΔΡΥΣΗΣ, ΚΚ, ΚΑΤΗΓΟΡΙΑ

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

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

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

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

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

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

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

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

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

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

Εξόρυξη Γνώσης από εδοµένα (Data Mining)

Εξόρυξη Γνώσης από εδοµένα (Data Mining) ΠΜΣ Πληροφορικής Πανεπιστηµίου Πειραιά Εξόρυξη Γνώσης από εδοµένα (Data Mining) Αποθήκες εδοµένων Γιάννης Θεοδωρίδης Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά http://isl.cs.unipi.gr/db/courses/dm "Πυραµίδα"

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

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

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

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

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

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

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

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

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

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

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1 Εικόνες και γραφικά Περιγραφή στατικών εικόνων Αναπαράσταση γραφικών Υλικό γραφικών Dithering και anti-aliasing Σύνθεση εικόνας Ανάλυση εικόνας Μετάδοση εικόνας Τεχνολογία Πολυµέσων 05-1 Περιγραφή στατικών

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Ακαδηµαϊκό Έτος 2003-2004, Εαρινό Εξάµηνο ιδάσκων

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

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

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

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

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

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

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

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

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

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

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal Δοµή προγράµµατος 1. Δοµή προγράµµατος program όνοµα_προγράµµατος(αρχείο_1, αρχείο_2,...αρχείο_ν); ΕΠΙΚΕΦΑΛΙΔΑ ΒΙΒΛΙΟΘΗΚΕΣ uses όνοµα_βιβλιοθήκης,όνοµα_βιβλιοθήκης;

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

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

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

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

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

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

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

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

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

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές

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

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

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

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

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

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1 Οι πράξεις της συνένωσης Μ.Χατζόπουλος 1 ΠΡΟΜΗΘΕΥΤΗΣ (ΠΡΜ) Κ_Προμ Π_Ονομα Είδος Πόλη 22 Ανδρέου 7 Αθήνα 31 Πέτρου 8 Πάτρα 28 Δέδες 12 Λάρισα 58 Παππάς 7 Αθήνα ΠΡΟΙΟΝ (ΠΡ) Κ_Πρ Πρ_Ονομα Χρώμα Βάρος Π35

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

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά Για την STUDIO KOSTA BODA ILLUM Χανίων Πέµπτη, 9 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου

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

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Εισαγωγή 1 Ζήτω οι Βάσεις εδοµένων!! Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Μοντελοποίηση Αποθήκευση Επεξεργασία (εύρεση πληροφορίας σχετικής µε µια συγκεκριµένη ερώτηση) Σωστή Λειτουργία

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

Αρχιτεκτονική σχεδίαση με ηλεκτρονικό υπολογιστή

Αρχιτεκτονική σχεδίαση με ηλεκτρονικό υπολογιστή Γ Αρχιτεκτονική σχεδίαση με ηλεκτρονικό υπολογιστή Η χρήση των ηλεκτρονικών υπολογιστών στο τεχνικό σχέδιο, και ιδιαίτερα στο αρχιτεκτονικό, αποτελεί πλέον μία πραγματικότητα σε διαρκή εξέλιξη, που επηρεάζει

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 435: ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΥΠΟΛΟΓΙΣΤΗ Ακαδηµαϊκό Έτος 2004 2005, Χειµερινό Εξάµηνο 2 Η ΟΜΑ ΙΚΗ ΕΡΓΑΣΙΑ: ΑΝΑΠΤΥΞΗ ΑΡΧΙΚΗΣ Ι ΕΑΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΝΑΓΚΩΝ

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

Δεντρικά Ευρετήρια. Δέντρα Αναζήτησης

Δεντρικά Ευρετήρια. Δέντρα Αναζήτησης Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόµβος του περιέχει το πολύ p - 1 τιµές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

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

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

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

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

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

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

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

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

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

Εξαγωγή Μετασχηματισμός Εισαγωγή Δεδομένων στην Αποθήκη Πληροφοριών (ETL) ETL) Αριστομένης Μακρής

Εξαγωγή Μετασχηματισμός Εισαγωγή Δεδομένων στην Αποθήκη Πληροφοριών (ETL) ETL) Αριστομένης Μακρής Εξαγωγή Μετασχηματισμός Εισαγωγή Δεδομένων στην Αποθήκη Πληροφοριών (ETL) ETL) Τεχνολογίες Υποστήριξης Λήψης Διοικητικών Αποφάσεων OLTP (On Line Transaction Processing) Επιχειρηματικές Εφαρμογές (Σχεσιακές

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

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

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

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

Δοµές Δεδοµένων. 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης. Βασίζεται στις διαφάνειες των R. Sedgewick K.

Δοµές Δεδοµένων. 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης. Βασίζεται στις διαφάνειες των R. Sedgewick K. Δοµές Δεδοµένων 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης Βασίζεται στις διαφάνειες των R. Sedgewick K. Wayne Περίληψη Συνδετικότητα δικτύου Αφαιρέσεις Συνδεδεµένα συστατικά Αφηρηµένη

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Stored procedures, Exceptions, ιακιώµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Stored Procedures... 1 Exceptions... 1 Εντολή

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

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

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

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

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

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

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

Σκοπός του μαθήματος

Σκοπός του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εισαγωγή Βασικές Έννοιες Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Σκοπός του μαθήματος Η απόκτηση των γνώσεων

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

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

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

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

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

«Περιεχόµενα. 03 Εισαγωγή Ένα ολοκληρωµένο πληροφοριακό σύστηµα. 04 Περιγραφή Εργαλείο εφαρµογής διαδικασιών

«Περιεχόµενα. 03 Εισαγωγή Ένα ολοκληρωµένο πληροφοριακό σύστηµα. 04 Περιγραφή Εργαλείο εφαρµογής διαδικασιών «Περιεχόµενα 03 Εισαγωγή Ένα ολοκληρωµένο πληροφοριακό σύστηµα 04 Περιγραφή Εργαλείο εφαρµογής διαδικασιών 05 Χαρακτηριστικά Τι περιλαµβάνει το epolis 06 Πλεονεκτήµατα Λύσεις και οφέλη του προγράµµατος

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

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Το Oracle Analytics Cloud αποτελεί ένα ολοκληρωμένο σύνολο δυνατοτήτων που περιλαμβάνει έτοιμο περιεχόμενο, εξειδικευμένα

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 7: Βάσεις Δεδομένων (Θεωρία) Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών Σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Βάσεις Δεδομένων Ι - 06. Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

Βάσεις Δεδομένων Ι - 06. Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών Βάσεις Δεδομένων Ι - 06 Ευρετήρια/Indexes (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών ΤΕΙ Λάρισας Τι είναι τα ευρετήρια; Ευρετήριο/Index:

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

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE

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

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

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

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

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

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

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

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

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

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

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

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

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

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

MEGASOFT ΤΜΗΜΑ ΥΠΟΣΤΗΡΙΞΗΣ. Οδηγός Ρυθµίσεων Συγχρονισµού PrismaWin Pos Sync

MEGASOFT ΤΜΗΜΑ ΥΠΟΣΤΗΡΙΞΗΣ. Οδηγός Ρυθµίσεων Συγχρονισµού PrismaWin Pos Sync MEGASOFT ΤΜΗΜΑ ΥΠΟΣΤΗΡΙΞΗΣ Οδηγός Ρυθµίσεων Συγχρονισµού PrismaWin Pos Sync Ρυθµίσεις Συγχρονισµού Pos Sync Η διαδικασία του συγχρονισµού γίνεται από τον Η/Υ που έχει το BackOffice. Βασική προϋπόθεση για

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

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

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

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

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

Σηµειώσεις στις σειρές

Σηµειώσεις στις σειρές . ΟΡΙΣΜΟΙ - ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ Σηµειώσεις στις σειρές Στην Ενότητα αυτή παρουσιάζουµε τις βασικές-απαραίτητες έννοιες για την µελέτη των σειρών πραγµατικών αριθµών και των εφαρµογών τους. Έτσι, δίνονται συστηµατικά

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Χρήστες ΣΔΒΔ Απλοί Χρήστες: συγκεκριμένες λειτουργίες σε

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

Κεφάλαιο 7 Εισαγωγή στη Microsoft Access

Κεφάλαιο 7 Εισαγωγή στη Microsoft Access Κεφάλαιο 7 Εισαγωγή στη Microsoft Access Το κεφάλαιο αυτό περιλαµβάνει µια συνοπτική εισαγωγή στην Microsoft Access 2000, που είναι και το σχεσιακό σύστηµα διαχείρισης βάσεων δεδοµένων µε το οποίο θα ασχοληθούµε.

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Β ΕΞΑΜΗΝΟ) ιδάσκων: Επ. Καθηγητής Γρηγόρης Χονδροκούκης ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

Browsers. Λειτουργικότητα και Παραμετροποίηση

Browsers. Λειτουργικότητα και Παραμετροποίηση Browsers Λειτουργικότητα και Παραμετροποίηση 1 Πίνακας περιεχομένων Γενική περιγραφή... 3 Γενικά... 3 Ποιο αναλυτικά τα μέρη ενός browser... 4 Φίλτρα αναζήτησης... 4 Σενάρια αναζήτησης... 4 Όψεις εμφάνισης

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

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

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

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

Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ

Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ» 2000-2006 ΑΞΟΝΑΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ: 1 - ΠΑΙ ΕΙΑ ΚΑΙ ΠΟΛΙΤΙΣΜΟΣ ΜΕΤΡΟ: 1.3 ΤΕΚΜΗΡΙΩΣΗ, ΑΞΙΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑ ΕΙΞΗ ΤΟΥ ΕΛΛΗΝΙΚΟΥ

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Προπτυχιακό Πρόγραμμα Σπουδών Πληροφορική - ΠΛΗ 11-2005 - 06 ΕΠΑΝΑΛΗΠΤΙΚΗ ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ 8 ΙΟΥΛΙΟΥ 2006 ΜΕΡΟΣ Α'. ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΩΝ ΕΠΙΛΟΓΩΝ [ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 45 ] Σε κάθε ερώτηση απαντάτε επιλέγοντας

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