Σύγκριση Αλγορίθµων για Λειτουργίες Επαυξητικής Εξαγωγής εδοµένων από RDBMS και Υλοποίηση Αλγορίθµων Μετασχηµατισµών εδοµένων

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

Download "Σύγκριση Αλγορίθµων για Λειτουργίες Επαυξητικής Εξαγωγής εδοµένων από RDBMS και Υλοποίηση Αλγορίθµων Μετασχηµατισµών εδοµένων"

Transcript

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

2

3 Πρόλογος Η παρούσα διπλωµατική εργασία εκπονήθηκε στο Εργαστήριο Συστηµάτων Βάσεων και Γνώσεων εδοµένων (ΕΒΓ ) του τµήµατος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Εθνικού Μετσόβιου Πολυτεχνείου. Ευχαριστώ τον καθηγητή κ. Τ. Σελλή, τον υποψήφιο διδάκτορα και επιβλέποντα της διπλωµατικής κ. Α. Σιµιτσή και τον διδάκτορα Π. Βασιλειάδη για την πολύτιµη βοήθεια που µου παρείχαν κατά την εκπόνηση της διπλωµατικής αυτής εργασίας, καθώς και όλα τα µέλη του εργαστηρίου για τις πολύτιµες συµβουλές πάνω σε τεχνικά θέµατα που µου προσέφεραν. Ιανουάριος 2003 ΖΗΣΙΜΟΣ ΑΝΤΩΝΗΣ i

4 ii

5 Περίληψη στα ελληνικά Ένα από τα σηµαντικότερα θέµατα σε ένα σύστηµα αποθηκών δεδοµένων είναι το στάδιο ενηµέρωσης µε νέα δεδοµένα, ή όπως έχει επικρατήσει ο αγγλικός όρος ETL ( εξαγωγή, µετασχηµατισµός, ενηµέρωση ). Με αυτό το στάδιο ασχολείται η διπλωµατική αυτή. Πιο συγκεκριµένα, ξεκινώντας µε µια εισαγωγή για τις αποθήκες δεδοµένων και τις διάφορες αρχιτεκτονικές τους, προχωράµε µε την ανάλυση της περιοχής που ονοµάζεται data staging και αποτελεί την καρδιά ενός ETL µηχανισµού. Αναλύουµε την αναγκαιότητα ενός επαυξητικού µηχανισµού και δικαιολογούµε την σπουδαιότητα των µετασχηµατισµών σε δεδοµένα πριν αυτά φορτωθούν στην αποθήκη δεδοµένων. Στη συνέχεια προχωρούµε µε το σχεδιασµό, ανάπτυξη και υλοποίηση µιας βιβλιοθήκης αλγορίθµων εξαγωγής και µετασχηµατισµού δεδοµένων που µπορεί να χρησιµοποιηθεί στην πλειονότητα των σύγχρονων λειτουργικών συστηµάτων. Τέλος, µε βάση την βιβλιοθήκη αυτή, κατασκευάζουµε και τις αναγκαίες διεπαφές για τον χρήστη, και πραγµατοποιούµε µετρήσεις για την ορθότητα, την αξιοπιστία και την απόδοση των µεθόδων αυτών. Λέξεις Κλειδιά: αποθήκες δεδοµένων, ETL, επαυξητική εξαγωγή, µετασχηµατισµοί iii

6 iv

7 Summary A data warehouse system must be up to date with the latest data available from the information sources. The full process includes detection and extraction from the sources, translation to the data model of the warehouse and bulk loading to the warehouse. This diploma thesis focuses on this process, also known as ETL. We start by introducing the various architectures of a data warehouse, and continue with the analysis of the data staging area, which is the heart of the ETL mechanism. We discuss the need for an incremental mechanism and the necessity of data transformations, prior to loading to the warehouse. Our goal is to design, develop and implement a library that will contain ETL algorithms and can be executed without any difficulty in all major operating systems. Furthermore, we implement the appropriate user interfaces to use the library for a number of experiments. The feedback can help us in comparing the algorithms and getting detailed results about their performance. Keywords: data warehouses, ETL, incremental extraction, transformations v

8 vi

9 Πίνακας περιεχοµένων 1 Εισαγωγή Αντικείµενο της διπλωµατικής Οργάνωση του τόµου Περιγραφή Θέµατος Αρχιτεκτονική Αποθηκών εδοµένων Αρχιτεκτονική MOLAP Αρχιτεκτονική ROLAP Υβριδική Αρχιτεκτονική και Αγορές εδοµένων Μέθοδοι Ενηµέρωσης Data Staging Αλγόριθµοι Επαυξητικής Εξαγωγής Εξαγωγή µέσω των logs Εξαγωγή µε triggers Εξαγωγή µε στιγµιότυπα Σύγκριση των µεθόδων Μετασχηµατισµός Ολοκλήρωση Ποιότητα εδοµένων Βελτίωση εδοµένων Εισαγωγή στην Αποθήκη εδοµένων vii

10 2.11 Στόχος της διπλωµατικής Ανάλυση και σχεδίαση Περιγραφή Αρχιτεκτονικής Περιγραφή Λειτουργιών Στιγµιότυπα Βάσης ηµιουργία Στιγµιότυπων Εξαγωγή αλλαγών Έλεγχος Αποτελεσµάτων Μετασχηµατισµός εδοµένων Υλοποίηση Πλατφόρµες και προγραµµατιστικά εργαλεία Λεπτοµέρειες υλοποίησης Περιγραφή Στιγµιότυπων ιαγράµµατα Ροής Περιγραφή κώδικα Έλεγχος viii

11 5.1 Μεθοδολογία Ελέγχου Πλατφόρµα Μετρήσεων Αλγόριθµοι µε συµπίεση Αλγόριθµος µε παράθυρο Συγκριτικό πείραµα των δύο παραπάνω αλγορίθµων Επίλογος Σύνοψη και συµπεράσµατα Μελλοντικές επεκτάσεις Βιβλιογραφία ix

12 x

13 1 Εισαγωγή Στο παρόν κεφάλαιο, στην παράγραφο 1.1 αναλύεται το αντικείµενο της παρούσας διπλωµατικής εργασίας και στην παράγραφο 1.2 γίνεται µια επισκόπηση της οργάνωσης του τόµου που κρατάτε στα χέρια σας. 1.1 Αντικείµενο της διπλωµατικής Η παρούσα διπλωµατική εργασία εντάσσεται στο γενικότερο γνωστικό αντικείµενο των αποθηκών δεδοµένων. Η ολοένα και µεγαλύτερη αυτοµατοποίηση των υπηρεσιών των µεγάλων οργανισµών, έχει φέρει τα συστήµατα διαχείρισης δοσοληψιών ολοένα και πιο κοντά σε κάθε πτυχή της καθηµερινής ζωής των ανθρώπων στις αναπτυγµένες χώρες. Συνέπεια του φαινοµένου είναι η διατήρηση ενός τεράστιου όγκου δεδοµένων, από τον οποίο µπορεί κανείς να αντλήσει πολύτιµες πληροφορίες κάνοντας την ανάλογη επεξεργασία. Η επεξεργασία αυτού του όγκου αποτελεί και τον σκοπό των αποθηκών δεδοµένων. Βασικός όµως κανόνας, ώστε να έχουµε αξιόπιστα και σωστά συµπεράσµατα, είναι να έχουµε και ενηµερωµένα και ορθά στοιχεία στην αποθήκη µας. Η ενηµέρωση των δεδοµένων στην αποθήκη ονοµάζεται γενικά ETL. Το αγγλικό ακρωνύµιο ETL, που έχει επικρατήσει, αναλύεται στις λέξεις εξαγωγή, µετασχηµατισµός και ενηµέρωση, τις πράξεις δηλαδή που πρέπει να υποστούν τα δεδοµένα, ώστε να έχουµε ποιοτικά και σωστά στοιχεία σε µια αποθήκη δεδοµένων. Στο σηµείο αυτό εντοπίζεται και το αντικείµενο της διπλωµατικής αυτής. Μετά την απαραίτητη έρευνα και σύµφωνα µε τα στοιχεία που υπάρχουν στην διεθνή 1

14 βιβλιογραφία, παρουσιάζει αναλυτικά τους πιθανούς ETL αλγορίθµους. ηλαδή, τις µεθόδους εξαγωγής των κατάλληλων στοιχείων από ετερογενείς πηγές πληροφοριών, τους µετασχηµατισµούς που πρέπει να υποστούν τα δεδοµένα, ώστε να ταιριάξουν µε το διαφορετικό µοντέλο δεδοµένων της αποθήκης και να καθαριστούν, ώστε να έχουµε πιο αξιόπιστα αποτελέσµατα, αλλά και κάποιες βασικές αρχές, ώστε να γίνει µια µαζική και γρήγορη µεταφορά των επεξεργασµένων δεδοµένων στην αποθήκη. Προσπαθεί να παρουσιάσει ένα σύνολο συναρτήσεων, ενοποιηµένο σε µια βιβλιοθήκη, που θα µπορεί να χρησιµοποιηθεί σαν ένας πυρήνας αλγορίθµων ETL. Σαν αποτέλεσµα, λοιπόν, έχουµε µια υλοποίηση της βιβλιοθήκης σε γλώσσα προγραµµατισµού C, χρησιµοποιώντας την πρότυπη βιβλιοθήκη της C (Standard C Library), οπότε και είναι συµβατή µε κάθε λειτουργικό σύστηµα που έχει τους ανάλογους µεταγλωττιστές και βιβλιοθήκες. Στην βιβλιοθήκη περιλαµβάνονται µέθοδοι επαυξητικής εξαγωγής δεδοµένων από συστήµατα διαχείρισης δοσοληψιών, κάνοντας χρήση µόνο ενός υποσυνόλου των γνωστών τεχνικών, ώστε να µπορέσουµε να τις συγκρίνουµε και να βγάλουµε συµπεράσµατα για την καθεµιά. Επίσης, περιλαµβάνονται και µέθοδοι µετασχηµατισµού των δεδοµένων, οι οποίοι είναι απαραίτητοι, εάν θέλουµε να έχουµε ποιοτικά και σωστά δεδοµένα στην αποθήκη µας. Τέλος, γίνεται η προσπάθεια µετά από σειρά µετρήσεων και πειραµάτων να βγάλουµε συµπεράσµατα για την αποδοτικότητα των διάφορων µεθόδων, για τα πλεονεκτήµατα και τα µειονεκτήµατά τους, αλλά και την συµπεριφορά τους σε ένα πλήθος διαφορετικών καταστάσεων. 1.2 Οργάνωση του τόµου Στο 1 ο κεφάλαιο αναφέρεται µε λίγα λόγια το αντικείµενο της διπλωµατικής και η οργάνωση του τόµου. Στο 2 ο κεφάλαιο της διπλωµατικής επιχειρείται µια εισαγωγή στην τεχνολογία των data warehouses, τα προβλήµατα που ανακύπτουν κατά τη λειτουργία τους, το incremental extraction και σε κάποιους αλγόριθµους που προσφέρουν λύσεις στο τελευταίο. Στο 3 ο κεφάλαιο γίνεται η ανάλυση και η σχεδίαση της εφαρµογής. Παρουσιάζεται η αρχιτεκτονική της βιβλιοθήκης και οι λειτουργίες που αυτή προσφέρει. Στο 4 ο κεφάλαιο περιγράφονται οι πλατφόρµες και τα προγραµµατιστικά εργαλεία που χρησιµοποιήθηκαν. Προχωράµε βαθύτερα στην βιβλιοθήκη και αναφερόµαστε σε λεπτοµέρειες που προέκυψαν κατά την υλοποίηση του κάθε αλγόριθµου. Στο 5 ο κεφάλαιο περιγράφεται η µεθοδολογία που ακολουθήθηκε για τα πειράµατα και τον έλεγχο των αλγορίθµων. Γίνονται αναλύσεις των µετρήσεων και παρουσιάζονται γραφήµατα, από τα οποία βγαίνουν συµπεράσµατα για την συµπεριφορά των αλγορίθµων σε διάφορες συνθήκες. 2

15 Στο 6 ο κεφάλαιο κλείνει η διπλωµατική αυτή παρουσιάζοντας το έργο που έγινε και τα συµπεράσµατα που αποκοµίστηκαν. Στο 7 ο κεφάλαιο δίνεται η βιβλιογραφία και γενικότερα οι πηγές, οι οποίες προµήθευσαν τις απαραίτητες πληροφορίες για τη συγγραφή της διπλωµατικής. 3

16 4

17 2 Περιγραφή Θέµατος Στην σύγχρονη παγκόσµια αγορά της πληροφορικής ένας πολύ δηµοφιλής όρος είναι οι αποθήκες δεδοµένων. Σε πολλούς οργανισµούς έχουν προταθεί τέτοια συστήµατα, που θα ικανοποιήσουν τις σύγχρονες ανάγκες των µεγάλων οργανισµών, εκτός των απλών αυτοµατισµών που διεκπεραιώνουν οι συνηθισµένες βάσεις δεδοµένων ως συστήµατα διαχείρισης δοσοληψιών ( OLTP - On Line Transaction Process ). Πέρα από τις καθηµερινές δοσοληψίες σε έναν οργανισµό, υπάρχει ανάγκη να γίνεται και µια µελέτη για την κατάσταση του, που θα βοηθήσει τους υπεύθυνους να πάρουν τις σωστές αποφάσεις. Αυτά τα συστήµατα είναι γνωστά και σαν συστήµατα υποστήριξης αποφάσεων ( DSS - Decision Support Systems ) ή πληροφόρησης στελεχών ( EIS - Executive Information Systems ). Αυτά τα συστήµατα έχουν διαφορετικό προσανατολισµό από τα OLTP και έχουν διαφορετικές απαιτήσεις, οπότε παρουσιάζουν και διαφορετική αρχιτεκτονική. Οι εφαρµογές που υποστηρίζουν κυρίως οι αποθήκες δεδοµένων είναι άµεσης αναλυτικής επεξεργασίας ( OLAP - On Line Analytical Processing ). Πολλοί έχουν προσπαθήσει να δώσουν έναν ορισµό για την αποθήκη δεδοµένων. Σύµφωνα, µε τον W.H.Inmon είναι "µια συλλογή θεµατικών, ενοποιηµένων, µη ασταθών, µεταβαλλόµενων µε τον χρόνο δεδοµένων για υποστήριξη διοικητικών αποφάσεων". Η αποθήκη δεδοµένων οφείλει να τροφοδοτήσει µε πληροφορίες τις αναλυτικές εφαρµογές στο σωστό επίπεδο λεπτοµέρειας, ώστε να βγουν τα κατάλληλα συµπεράσµατα και να εκτιµηθούν από τα ανώτατα στελέχη. Σε αντίθεση µε τις παραδοσιακές βάσεις δεδοµένων έχουν να αντιµετωπίσουν πρόσβαση σε δεδοµένα από διαφορετικές πηγές και τεράστιου όγκου µε 5

18 πρόσβαση µόνο ανάγνωσης και για λειτουργίες που είναι συχνά επαναλαµβανόµενες. εν ενδιαφέρει τόσο πολύ η λεπτοµέρεια και η ακρίβεια στα στοιχεία, όσο η συνολική εικόνα που παρουσιάζουν. Ο στόχος τους είναι η αποτελεσµατική εξαγωγή, επεξεργασία και παρουσίαση για λόγους αναλυτικούς και λήψης αποφάσεων. Τα παραδοσιακά συστήµατα βάσεων δεδοµένων από την άλλη, έχουν προσανατολιστεί στο να διαχειρίζονται αποτελεσµατικά χιλιάδες δοσοληψίες, οι οποίες περιέχουν πράξεις εισαγωγής, τροποποίησης και διαγραφής εκτός από απλές επερωτήσεις στα δεδοµένα. Έχουν βελτιστοποιηθεί στην επεξεργασία επερωτήσεων και δοσοληψιών πάνω σε ένα µικρό µέρος λίγων πλειάδων (tuples) από τις σχέσεις που επεξεργάζονται. Στο OLAP χρειαζόµαστε µια βελτιστοποίηση όσον αφορά τον χρόνο εκτέλεσης πολύπλοκων ερωτήσεων που ίσως αφορούν και ολόκληρη την αποθήκη, που το µέγεθός της µπορεί να φτάνει έως και µερικά TerraByte. Εάν φανταστούµε το πληροφοριακό σύστηµα µιας µεγάλης τράπεζας θα έχει ένα παραδοσιακό σύστηµα βάσεων δεδοµένων για να διαχειριστεί τις δοσοληψίες των πελατών και τις υπηρεσίες της και µια αποθήκη δεδοµένων για να βοηθήσει τα ανώτατα στελέχη στην σχεδίαση της στρατηγικής του οργανισµού, παρέχοντας συγκεντρωτικές πληροφορίες για όλα τα τµήµατα του. 2.1 Αρχιτεκτονική Αποθηκών εδοµένων Είδαµε ότι τα OLAP συστήµατα έχουν διαφορετικές απαιτήσεις, οπότε και η αρχιτεκτονική τους θα διαφέρει. Στα OLTP συστήµατα έχουν το µοντέλο οντοτήτων συσχετίσεων, που στηρίζεται σε σχεσιακές βάσεις δεδοµένων. Στα OLAP συστήµατα από την άλλη έχουµε δύο δυνατές αρχιτεκτονικές, η µια είναι ο υπερκύβος ( MOLAP Multidimensional OLAP ) και η άλλη το αστεροειδές ( ROLAP Relational OLAP ) σχήµα. Στην πράξη µπορεί να συναντήσει κανείς και ένα υβριδικό µοντέλο που χρησιµοποιεί και τις δύο παραπάνω προσεγγίσεις. Βασικά στοιχεία και στα δύο µοντέλα αποτελεί η διάσταση και το γεγονός. Για να καταλάβουµε την σηµασία τους, µπορούµε να πάρουµε ένα παράδειγµα από την φυσική. Στην σύγχρονη φυσική ένα σηµείο στο χώρο έχει (4) τέσσερις διαστάσεις, τρεις (x,y,z) που καθορίζουν την θέση στο χώρο, αλλά και µια (t) που καθορίζει την χρονική στιγµή. Εάν πάρουµε το αντίστοιχο της τραπεζικής συναλλαγής, µπορούµε να θεωρήσουµε την συναλλαγή, σαν το γεγονός που έλαβε χώρα και µερικές διαστάσεις της θα ήταν ο χρόνος που έγινε, η τοποθεσία, ο λογαριασµός ο οποίος τροποποιήθηκε, και το φυσικό πρόσωπο το οποίο έκανε την δοσοληψία. Οι διαστάσεις µπορούν κάλλιστα να είναι ιεραρχικά δοµηµένες, δηλαδή έτος->µήνας->ηµέρα->ώρα για τον χρόνο ή χώρα->περιφέρεια->νοµός->πόλη- >κατάστηµα για την τοποθεσία. Οι διαστάσεις όµως δεν είναι πάντοτε σταθερές, αλλά µπορεί να αλλάζουν µε το χρόνο ( Slowly Changing Dimensions ). Σε ένα µεγάλο τραπεζικό οργανισµό για παράδειγµα µπορεί 6

19 να κλείσει κάποιο κατάστηµά του, που ίσως είναι το µικρότερο κοµµάτι της γεωγραφικής διάστασης. Εάν η αλλαγή αυτή επενεργούσε άκριτα στην αποθήκη δεδοµένων θα διαγραφόταν η συγκεκριµένη εγγραφή και το σύστηµα στο µέλλον δεν θα γνώριζε ποτέ για την ύπαρξη αυτού του καταστήµατος. Αυτό ίσως να γινόταν στις παραδοσιακές βάσεις δεδοµένων, αλλά στις αποθήκες δεδοµένων θέλουµε να έχουµε και ιστορικά στοιχεία, που θα µας δείχνουν την εξέλιξη και την συµπεριφορά µε τον χρόνο κάποιων στοιχείων του οργανισµού. Έτσι, θα µπορέσουµε να προχωρήσουµε και σε ιστορική ανάλυση, που ίσως να βοηθήσει µελλοντικές στρατηγικές. Εάν π.χ. κάποιο διοικητικό στέλεχος θέλει να µάθει πόσα καταστήµατα έκλεισαν πριν 2 χρόνια, δεν θα µπορέσει εάν τα έχουµε ήδη διαγράψει από την αποθήκη µας. Γενικά µπορούµε να πούµε ότι έχουµε ενηµερώσεις τριών (3) τύπων: Στον πρώτο τύπο απλά γράφουµε την καινούργια τιµή του πεδίου της διάστασης διαγράφοντας την παλαιά. Για παράδειγµα κάτι τέτοιο θα έπρεπε να γίνει, εάν είχαµε λάβει κάποια διορθωµένη διεύθυνση πελάτη. Στον δεύτερο τύπο, δηµιουργούµε µια νέα εγγραφή στην διάσταση µε ένα νέο κλειδί και αντιγράφουµε κάπου αλλού την παλαιά. Έπειτα την ανανεώνουµε µε τα αλλαγµένα πεδία και προσθέτουµε όσες παραπάνω πληροφορίες θέλουµε. Αυτή την τεχνική θα πρέπει να ακολουθήσουµε εάν για παράδειγµα κάποιος πελάτης αλλάξει την συζυγική του κατάσταση σε έγγαµος και αυτό είναι πραγµατική αλλαγή και όχι διόρθωση. Τέλος, στον τρίτο τύπο δηµιουργούµε ένα επιπλέον πεδίο στην εγγραφή και τοποθετούµε την παλαιά τιµή σε αυτό. Έτσι, θα µπορούσαµε να ενεργήσουµε σε περιπτώσεις που θα θέλουµε να αναφερθούµε και στις δύο τιµές του πεδίου που άλλαξε, όπως για παράδειγµα όταν µια οµάδα πωλήσεων αναλαµβάνει µια νέα περιοχή να δραστηριοποιηθεί. 2.2 Αρχιτεκτονική MOLAP Στην αναλυτική επεξεργασία ένα σηµαντικό θέµα είναι η παρουσίαση των αποτελεσµάτων να γίνει σε κατανοητή µορφή. Μια προσέγγιση είναι το λογιστικό φύλλο, στο οποίο µπορούµε να παρουσιάσουµε την εξέλιξη κάποιου γεγονότος σε δύο διαστάσεις. Συνεχίζοντας το παράδειγµα της τραπέζης, τα προγράµµατα δανειοδότησης θα µπορούσαν να εµφανιστούν σαν γραµµές και τα έσοδα από τόκους για κάθε γεωγραφική περιοχή να αποτελούν τις στήλες.. Προσθέτοντας και την διάσταση του χρόνου θα είχαµε έναν πίνακα τριών διαστάσεων, έναν κύβο δεδοµένων. Έτσι κάθε κελί θα αντιπροσώπευε το σύνολο των εσόδων από τόκους ανά πρόγραµµα δανειοδότησης, ανά γεωγραφική περιοχή, ανά χρονική περίοδο. 7

20 Σχήµα 1 Αρχιτεκτονική υπερκύβου Αυξάνοντας ακόµα τις διαστάσεις θα καταλήξουµε σε ένα σχήµα υπερκύβου, το οποίο είναι δύσκολο να παρασταθεί οπτικά. Στα MOLAP χρησιµοποιούνται οι υπερκύβοι όχι µόνο στην παρουσίαση των αποτελεσµάτων αλλά και στην φυσική αποθήκευση των δεδοµένων. Τα δεδοµένα αποθηκεύονται σε πίνακες ν-διάστατους, όπου κάθε διάσταση έχει µια ιεραρχία επιπέδων. Οι τιµές που περιέχονται στους υπερκύβους αντιστοιχούν στις στήλες των σχεσιακών πινάκων και είναι οι τιµές των δεδοµένων µας. Στους υπερκύβους έχουµε ένα σύνολο πράξεων που µας παρέχουν την δυνατότητα της πλοήγησης στις ιεραρχίες των διαστάσεών τους: Roll-Up: Ανεβαίνουµε κατά ένα βήµα στην ιεραρχία µιας διάστασης, παίρνοντας κατά αυτόν τον τρόπο συγκεντρωτικά αποτελέσµατα για τα κατώτερα επίπεδα. ηλαδή στο παράδειγµά µας της τραπέζης, βλέποντας τα τραπεζικά προγράµµατα από ανά µήνα σε ανά έτος. Drill-Down: Είναι η αντίστροφη πράξη του Roll-Up, όπου κατεβαίνουµε κατά ένα βήµα στην ιεραρχία µιας κλάσης, παίρνοντας πιο λεπτοµερή στοιχεία από τα συγκεντρωτικά που είχαµε. Slicing: Στην πράξη αυτή επιλέγουµε κάποια δεδοµένα σε µια συγκεκριµένη διάσταση. Το τελικό αποτέλεσµα φαίνεται σαν κοπή του υπερκύβου και τελικά παίρνουµε ένα υποσύνολό του. Στο παράδειγµά µας κάτι αντίστοιχο θα ήταν στην 8

21 διάσταση της γεωγραφικής περιοχής να επιλέγαµε µόνο τα καταστήµατα της Αττικής και όχι ολόκληρης της Ελλάδας. Pivoting: Εδώ απλώς αλλάζουµε τον τρόπο παρουσίασης των δεδοµένων χωρίς να τροποποιήσουµε τον κύβο. Τα δεδοµένα παραµένουν αµετάβλητα και απλώς αλλάζει η διάταξη των διαστάσεών του. Π.χ. στο παράδειγµα µας αν αλλάξουµε τα τραπεζικά προγράµµατα µε τις γεωγραφικές περιοχές. Το µεγάλο πλεονέκτηµα των MOLAP συστηµάτων είναι η ακριβής αντιστοιχία τρόπων αποθήκευσης και παρουσίασης δεδοµένων, και η σχεδίασή τους που έγινε βάση των απαιτήσεων των OLAP εφαρµογών. 2.3 Αρχιτεκτονική ROLAP Η αρχιτεκτονική ROLAP βασίζεται πάνω στο σχεσιακό µοντέλο, αλλά δεν ακολουθεί τα διαγράµµατα οντοτήτων-συσχετίσεων. Με τον παραδοσιακό σχεδιασµό θα καταλήγαµε σε ερωτήµατα µε πολύ µεγάλο κόστος εκτέλεσης, αφού θα αναγκαζόµασταν να εκτελούµε πολλές πράξεις ένωσης µεταξύ πινάκων τεραστίων µεγεθών. Εξάλλου οι εφαρµογές OLAP ζητούσαν ένα σχήµα που να προσοµοιάζει το πολυδιάστατο µοντέλο, το οποίο ανταποκρινόταν και στις απαιτήσεις τους. Έτσι, µε την εισαγωγή των εννοιών διαστάσεων και γεγονότων προέκυψε το αστεροειδές σχήµα. Τώρα έχουµε δύο τύπους πινάκων: τους πίνακες διάστασης και τους πίνακες γεγονότων ( fact table ). Κάθε πίνακας διάστασης αποτελείται από πλειάδες γνωρισµάτων της διάστασης. Κάθε πίνακας γεγονότων µπορεί να θεωρηθεί ότι αποτελείται από πλειάδες, µια για κάθε καταγεγραµµένο γεγονός. Για κάθε γεγονός έχουµε κάποια µέτρηση, κάποια µεταβλητή παρατήρησης, και µια σειρά από ξένα κλειδιά που προσδιορίζουν το γεγονός, αφού το συνδέουν µε τους πίνακες διάστασής του. Μια παραλλαγή του αστεροειδούς σχήµατος είναι το σχήµα χιονονιφάδας. Σε αυτό οι πίνακες διάστασης έχουν κανονικοποιηθεί και ακολουθούν µια πιο σαφή ιεραρχία. Στην ουσία πρόκειται για µια βελτίωση του σχήµατος αστέρα, η οποία µπορεί να συνεχιστεί µε κανονικοποίηση µέχρι την τρίτη µορφή, ώστε η προσπέλαση στην αποθήκη να γίνεται στο λεπτότερο επίπεδο λεπτοµέρειας. Για λόγους βελτιστοποίησης εκτός από πίνακες γεγονότων και διαστάσεων, είναι πιθανόν να έχουµε και συγκεντρωτικούς πίνακες, που παρέχουν προϋπολογισµένα συνολικά αποτελέσµατα για µερικές από τις διαστάσεις. Τέτοιοι πίνακες είναι ιδιαίτερα χρήσιµοι, ειδικά σε περιπτώσεις που από µελέτη έχει προκύψει συχνή ζήτηση κάποιων αποτελεσµάτων. Αυτά τα δεδοµένα δεν είναι κάτι καινούργιο για την αποθήκη, αλλά προκύπτουν από τον πίνακα γεγονότων. Πολλές φορές µάλιστα είναι αποθηκευµένα σε αυτόν θέτοντας τα αντίστοιχα ξένα κλειδιά, για τα οποία αποτελούν συγκεντρωτικά αποτελέσµατα, σε τιµή null. Τα συστήµατα ROLAP έχουν το πλεονέκτηµα ότι αξιοποιούν µια τεχνολογία, η 9

22 Σχήµα 2 Αρχιτεκτονική Αστέρα οποία είναι αρκετά αναπτυγµένη τις τελευταίες δεκαετίες, οπότε προκύπτει ένα αποτέλεσµα αρκετά αξιόπιστο και αποδοτικό. Σχήµα 3 Αρχιτεκτονική Χιονονιφάδας 10

23 2.4 Υβριδική Αρχιτεκτονική και Αγορές εδοµένων Ένας συνδυασµός των δύο παραπάνω αρχιτεκτονικών αποτελεί την υβριδική αρχιτεκτονική. Συνήθως, ένας µεγάλος οργανισµός έχει µια αποθήκη δεδοµένων, αλλά δεν έχουν όλοι την ίδια πρόσβαση σε αυτήν. Το πιθανότερο είναι να µην χρειάζεται κάθε αναλυτής / στέλεχος να επεξεργαστεί όλη την πληροφορία, οπότε είναι και πιο αποδοτικό να δηµιουργηθεί και µια µικρογραφία της αποθήκης για να κάνει τις ερωτήσεις του πιο γρήγορα. Έτσι έχουµε µια µεγάλη αποθήκη που κρατάει όλη την πληροφορία του οργανισµού σε µια αρχιτεκτονική (ROLAP) αντλώντας όλα τα περιεχόµενα του σχεσιακού συστήµατος διαχείρισης, και για κάθε τµήµα ξεχωριστά, που χρειάζεται να κάνει την ανάλυσή του φτιάχνει µια µικρογραφία ή αλλιώς µια αγορά δεδοµένων που στηρίζεται σε αρχιτεκτονική (MOLAP). Έτσι, ο αναλυτής έχει όλα τα πλεονεκτήµατα της φυσικής αποθήκευσης σε υπερκύβους και µπορεί και εκτελεί γρήγορα επερωτήµατα στην βάση. Οι αγορές δεδοµένων, επιπλέον, δεν χρειάζονται τεράστια συστήµατα, µειώνοντας έτσι το κόστος για υλικό και αυξάνοντας το καταµερισµό του φορτίου, απαγκιστρώνοντας όλους τους αναλυτές από το κεντρικό σύστηµα που χειρίζεται Σχήµα 4 Αρχιτεκτονική υπερκύβου. Η πληροφορία είναι αποθηκευµένη σε υπερκύβους και µέσω µιας µηχανής υπολογισµού των επερωτήσεων γίνεται διαθέσιµη στους χρήστες. την αποθήκη δεδοµένων. Όµως οι αγορές δεδοµένων δεν είναι απλώς µια αντιγραφή συγκεκριµένων δεδοµένων, µε σκοπό να µειωθεί το φορτίο της αποθήκης. Θα ήταν αρκετά πιο εύκολο εάν αυξάναµε την επεξεργαστική ισχύ του συστήµατος της αποθήκης δεδοµένων, παρά να υλοποιήσουµε µικρογραφίες τις που θα αντιµετώπιζαν τα ίδια προβλήµατα µε αυτή. 11

24 Σχήµα 5 Αρχιτεκτονική Αστέρα. Η πληροφορία είναι αποθηκευµένη σε σχεσιακό σύστηµα βάσης δεδοµένων και µέσω µιας µηχανής υπολογισµού των επερωτήσεων και µεταγλώττισής τους στο σχεσιακό µοντέλο γίνεται διαθέσιµη στους χρήστες Οι αγορές δεδοµένων καταφέρνουν και µας βοηθούν γιατί αποτελούνται από συγκεντρωτικά στοιχεία, οπότε µπορούν και κρατούν το µέγεθός τους µικρό και δεν χρειάζονται τεράστια συστήµατα επεξεργαστών για κάθε µια αγορά δεδοµένων, όπως στην αποθήκη δεδοµένων. Τα λεπτοµερή στοιχεία παραµένουν στην αποθήκη. Εποµένως, όποτε ο χρήστης της αγοράς δεδοµένων χρειαστεί λεπτοµερή στοιχεία, τότε το ερώτηµά του δροµολογείται προς την αποθήκη, όταν κάνει δηλαδή drill-down. Όπως βλέπουµε υπάρχει ανοικτή επικοινωνία και ενηµέρωση µεταξύ αποθήκης δεδοµένων και αγορών δεδοµένων. 12

25 Σχήµα 6 Υβριδική αρχιτεκτονική. Η πληροφορία είναι αποθηκευµένη σε σχεσιακό σύστηµα βάσης δεδοµένων και σε υπερκύβους µε την βοήθεια αγορών δεδοµένων. 2.5 Μέθοδοι Ενηµέρωσης Data Staging Μια πολύ σηµαντική λειτουργία στις αποθήκες δεδοµένων είναι η ενηµέρωσή τους. Πρέπει να γίνει µε τρόπο τέτοιο, ώστε να µην επηρεάσει ούτε τις πηγές, ούτε την αποθήκη για µεγάλο χρονικό διάστηµα. Το πιο απλό πράγµα που θα µπορούσε κάποιος να φανταστεί είναι κάθε φορά που θα θέλουµε να ενηµερώσουµε την αποθήκη, να διαγράφουµε όλα τα δεδοµένα και µετά να την ξαναγεµίζουµε. Κάτι τέτοιο όµως θα ήταν εξαιρετικά ασύµφορο, αφού κάθε φορά θα αναγκαζόµασταν να εισάγουµε δεδοµένα µεγέθους µερικών Terrabyte, µε αποτέλεσµα η διαδικασία να είναι πολύ χρονοβόρα και να έθετε εκτός λειτουργίας και την αποθήκη αλλά και τα OLTP συστήµατα για περισσότερη ώρα από όσο είναι αποδεκτό. Μια πιο έξυπνη µέθοδος, αλλά και πιο πολύπλοκη είναι να εξάγουµε µόνο τις αλλαγές από τα OLTP συστήµατα, ώστε απλώς να ενηµερώσουµε την βάση για τις νέες εισαγωγές, τροποποιήσεις και διαγραφές που έγιναν από την τελευταία ενηµέρωσή της. Όµως, το 13

26 Σχήµα 7 Μετάδοση δεδοµένων στην αποθήκη δεδοµένων. πρόβληµα δεν είναι µόνο πως θα εξάγουµε την πληροφορία από τα επιµέρους συστήµατα, αλλά και πως θα τα µετασχηµατίσουµε, ώστε να ταιριάζουν στις σχέσεις και τις δοµές της αποθήκης, οι οποίες δεν είναι απαραίτητο να είναι ίδιες µε τα υπόλοιπα συστήµατα. Ένα άλλο πρόβληµα είναι να κρατήσουµε την αποθήκη συνεπή και τα δεδοµένα της ακέραια, ανάλογα µε τους περιορισµούς που έχουµε βάλει, ακόµα και εάν χρειαστεί να µετατρέψουµε δεδοµένα ή να τα διαγράψουµε χρησιµοποιώντας κάποιες µεθόδους τεχνητής νοηµοσύνης. Τέλος, θα πρέπει όλο τον όγκο της πληροφορίας, που έχουµε µαζέψει να τον φορτώσουµε στην αποθήκη δεδοµένων µε κάποια ειδικά εργαλεία, ανάλογα µε το σύστηµά µας. Όλα τα παραπάνω γίνονται σε µια περιοχή, την οποία ονοµάζουµε data staging και είναι συνήθως ένα σύστηµα διαχείρισης βάσεων δεδοµένων, όχι απαραίτητα διαφορετικό από την αποθήκη δεδοµένων ή κάποιο σύστηµα δοσοληψίας. 2.6 Αλγόριθµοι Επαυξητικής Εξαγωγής Ο σκοπός µας είναι να εξάγουµε τα δεδοµένα προοδευτικά από τις πηγές µας. Για να πετύχουµε τον σκοπό αυτό πρέπει να χρησιµοποιήσουµε κάποιο µηχανισµό διάγνωσης των µεταβολών που συντελούνται στο σύστηµα, ώστε να γνωρίζουµε και εµείς ποιες αλλαγές θα πρέπει να εφαρµόσουµε στην αποθήκη µας. Τέτοιοι µηχανισµοί χωρίζονται κυρίως σε τρεις κατηγορίες: Σε αυτούς που χρησιµοποιούν για την διάγνωση των µεταβολών το ηµερολόγιο του συστήµατος (log) 14

27 Σε αυτούς που χρησιµοποιούν τους µηχανισµούς που ενηµερώνουν όποτε παρατηρηθεί κάποια αλλαγή σε ένα πίνακα της βάσης (triggers) Στιγµιότυπα της βάσης, εάν υπάρχει αυτή η δυνατότητα, τα οποία τα συγκρίνεις µε προηγούµενα στιγµιότυπα, ώστε να συµπεράνεις τις αλλαγές (snapshots) Εξαγωγή µέσω των logs Κάθε σύστηµα διαχείρισης βάσεων δεδοµένων οφείλει να έχει κάποιο µηχανισµό καταγραφής ηµερολογίου (log). Στο αρχείο αυτό καταγράφονται όλες οι αλλαγές στην βάση που γίνονται σε όλους τους πίνακες, είτε είναι πίνακες χρηστών ή του συστήµατος. Αυτή η καταγραφή γίνεται ώστε να βοηθήσει στην ανάνηψη του συστήµατος από αστοχίες υλικού ή άλλες καταστροφές, αυξάνοντας έτσι την αξιοπιστία του συστήµατος. Επίσης, τα αρχεία αυτά βοηθούν στην αναίρεση κάποιας δοσοληψίας εάν έχει επισηµανθεί από τον συντονιστή του συστήµατος διαχείρισης κάποιο αδιέξοδο, ώστε να συνεχιστεί η λειτουργία της και να ξεπεραστεί το πρόβληµα. Συνήθως, ο µηχανισµός καταγραφής υλοποιείται σε µια ξεχωριστή διεργασία ( ή περισσότερες ), η οποία εκτελείται παράλληλα µε τις διεργασίες των δοσοληψιών του συστήµατος και δέχεται από αυτές τα ανάλογα µηνύµατα, ώστε να ενηµερώσει τα κατάλληλα αρχεία για τις αλλαγές στην βάση. Η τεχνική που χρησιµοποιείται βασίζεται στην αρχική ενηµέρωση του ηµερολογίου πριν την εκτέλεση της αλλαγής στο φυσικό επίπεδο της βάσης, ή όπως έχει επικρατήσει ο αγγλικός όρος write ahead log (wal). Έτσι, η βάση µπορεί µε την χρήση αναιρέσεων και επαναλήψεων να διατηρηθεί σε κάποια συνεπή κατάσταση. Εκτός από την ασφάλεια της βάσης µέσω των ηµερολογίων µπορούµε να ελέγξουµε και τα δεδοµένα που εισαχθήκανε στην βάση, αφού οι πληροφορίες που αποθηκεύονται εκεί είναι πολλών ειδών. Για κάθε σύστηµα υπάρχουν σίγουρα ένα µικρό σύνολο από πληροφορίες, όπως : ο κωδικός της δοσοληψίας που εκτέλεσε την αλλαγή στην βάση ο κωδικός του αντικειµένου στο οποίο εκτελέστηκε η αλλαγή ο κωδικός της πλειάδας στο οποίο εκτελέστηκε η αλλαγή, δηλαδή κάποιο πρωτεύον κλειδί του αντικειµένου ή κάποιος εσωτερικός κωδικός της βάσης η πράξη που εκτελέστηκε η πράξη που την αναιρεί η νέα τιµή της πλειάδας η παλιά τιµή του πλειάδας 15

28 η χρονική στιγµή που έλαβε χώρα. Ίσως όχι σε πραγµατικό χρόνο, αλλά µε βάση κάποια κωδικοποίηση του συστήµατος. Όλα αυτά τα στοιχεία κρατούνται στην κύρια µνήµη του συστήµατος και ανά τακτά χρονικά διαστήµατα ενηµερώνονται τα αρχεία στον σκληρό δίσκο. Είναι πιθανόν, να κρατούνται και εφεδρικά αρχεία πολύ παλαιά σε µαγνητικές ταινίες για εξοικονόµηση χώρου. Όπως βλέπουµε έχουµε υπέρ αρκετή πληροφορία για να κάνουµε επαυξητική εξαγωγή δεδοµένων χρησιµοποιώντας τα ηµερολόγια. Η ανάλυση είναι απαραίτητη, αφού όπως είπαµε ενδιαφερόµαστε για ένα υποσύνολο των αλλαγών. Οι υπόλοιπες αφορούν πίνακες του συστήµατος ή πίνακες αδιάφορους µε την αποθήκη δεδοµένων µας. Έχουµε κρατήσει σε κάποιο µέρος (metadata) την χρονική στιγµή που έγινε η προηγούµενη ενηµέρωση, οπότε ξέρουµε και πόσο πίσω στο παρελθόν να κοιτάξουµε και αναλύσουµε. Με βάση αυτή την χρονική στιγµή και τα ηµερολόγια κατασκευάζουµε βοηθητικούς πίνακες µε πλειάδες τα στοιχεία για τα οποία έχει πραγµατοποιηθεί κάποια αλλαγή, στους πίνακες πάντα που ενδιαφερόµαστε. Στους πίνακες αυτούς που στην συνέχεια εξάγουµε καταγράφονται τόσο η νέα τιµή του πλειάδα, όσο η χρονική στιγµή της αλλαγής και το είδος της. Αυτούς του πίνακες µπορούµε εύκολα να τους εξάγουµε σε απλά αρχεία και στην συνέχεια να τους φορτώσουµε στην αποθήκη δεδοµένων. Εκεί θα γίνει η αντίστροφη διαδικασία και θα ενηµερωθεί η αποθήκη µας. Κατόπιν πρέπει να διαγράψουµε τους προσωρινούς πίνακες του OLTP συστήµατος. Υπάρχει περίπτωση τα πράγµατα να πολυπλέκονται λίγο παραπάνω, εάν στον µηχανισµό καταγραφής αντί για τις τιµές έχουµε µόνο κλειδιά ή εσωτερικούς κωδικούς, οπότε πριν την εξαγωγή των πινάκων θα πρέπει να γίνουν και οι κατάλληλες ενώσεις µε τους πίνακες της βάσης για να πάρουµε τις καινούργιες τιµές. Γενικά µπορούµε να πούµε ότι η µέθοδος αυτή είναι αρκετά ελκυστική, αφού δεν επιβαρύνει καθόλου το OLTP σύστηµα κατά την διάρκεια της κανονικής του λειτουργίας. Τα ηµερολόγια ούτως ή άλλως δηµιουργούνται για τους λόγους που προαναφέραµε. Η επιβάρυνση έρχεται µόνο κατά την στιγµή επεξεργασίας των ηµερολογίων. Για να την µειώσουµε µπορούµε να τα µεταφέρουµε στην αποθήκη να τα επεξεργαστούµε και απλώς να στείλουµε πίσω τα κλειδιά, εάν χρειάζεται, ώστε να γίνουν οι πράξεις ένωσης µε τους πίνακες του OLTP και να προκύψουν οι καινούργιες τιµές. Εδώ όµως θα πρέπει να είµαστε ιδιαίτερα προσεκτικοί να µην επηρεαστούν κατά την διαδικασία αυτή οι πίνακες µέσω κάποιας δοσοληψίας και γίνει κάποια αλλαγή που δεν θα µπορέσουµε να την εντοπίσουµε. Ένα άλλο πλεονέκτηµα είναι ότι χρησιµοποιούµε τον ελάχιστο δυνατό χώρο, αφού αποθηκεύουµε και µεταφέρουµε µόνο τα αλλαγµένα δεδοµένα. Από τα κυριότερα µειονεκτήµατα της µεθόδου είναι ότι περιοριζόµαστε σε εργαλεία που είναι ειδικά για κάθε βάση και όχι σε κάτι γενικό. Έχει µερικούς τεχνικούς περιορισµούς, ενώ υπάρχει ενδεχόµενο να µην υποστηρίζονται 16

29 ορισµένες δοµές. Τέλος, ο χρήστης του εργαλείου συνήθως πρέπει να έχει ειδικά δικαιώµατα από τον διαχειριστή Εξαγωγή µε triggers Σε αυτή την µέθοδο θα πετύχουµε το στόχο µας µέσω της συνεχής παρακολούθησης της λειτουργίας του συστήµατος διαχείρισης της βάσης. Κάτι τέτοιο είναι εφικτό, µόνο εάν παρέχεται τέτοια δυνατότητα από το ίδιο το σύστηµα διαχείρισης, οπότε µπορούµε να κρατάµε πληροφορίες για το είδος και τον χρόνο των ενεργειών που πραγµατοποιούνται κάθε στιγµή. Έτσι θα µπορέσουµε όταν έρθει η στιγµή της επαυξητικής εξαγωγής να ξεχωρίσουµε τις διαφοροποιήσεις και πιο συγκεκριµένα να δούµε ποιες πλειάδες έχουν αλλάξει και πότε άλλαξαν. Για να αναγνωρίσουµε τις αλλαγµένες πλειάδες υπάρχουν δύο προσεγγίσεις : σύµφωνα µε την πρώτη µέθοδο, σε κάθε αλλαγή των πινάκων µας τα δεδοµένα µεταφέρονται σε ένα πίνακα αντίγραφο. Έτσι την χρονική στιγµή της επαυξητική εξαγωγής µεταφέρουµε τις πληροφορίες των πινάκων αντίγραφα στην αποθήκη δεδοµένων. Αντί να αποθηκεύουµε ολόκληρες τις πλειάδες µπορούµε για την αναγνώριση των αλλαγών να αποθηκεύσουµε µόνο τα πρωτεύοντα κλειδιά τους, µειώνοντας το κόστος κατά την επεξεργασία δοσοληψιών, αλλά αυξάνοντας την πολυπλοκότητα κατά την εξαγωγή, αφού τώρα πρέπει να γίνουν και µερικές πράξεις ένωσης (join) για να πάρουµε τα δεδοµένα µας. Στο τέλος θα πρέπει να σβήσουµε τα δεδοµένα που έχουµε αποθηκεύσει στους πίνακες αντίγραφα για να είµαστε έτοιµοι για την επόµενη ανανέωση και να µην χρειαστούµε ειδικές µεθόδους, ώστε να ξεχωρίζουµε παλαιές από νέες εγγραφές. σύµφωνα µε την δεύτερη µέθοδο χρησιµοποιούµε τα λεγόµενα χρονικά αποτυπώµατα (timestamps). Με τον όρο αυτό εννοούµε κάποιο χαρακτηριστικό που προσδίδουµε στα δεδοµένα µας, το οποίο µας δίνει κάποια πληροφορία για την χρονική στιγµή που πραγµατοποιήθηκε η συναλλαγή και η αλλαγή στα δεδοµένα. Κάτι τέτοιο µπορεί να έχει οποιαδήποτε µορφή, από κάποια συµβολοσειρά µε την ηµεροµηνία του συστήµατος, µέχρι κάποια κωδικοποίηση δικιά µας που χαρακτηρίζει διαφορετικά κάθε επαυξητική εξαγωγή. Αντίστοιχα, µας δίνεται η δυνατότητα να διαλέξουµε πάλι εάν θα µεταφέρουµε ολόκληρες τις πλειάδες µαζί µε τα χρονικά αποτυπώµατα στους βοηθητικούς πίνακες ή µόνο τα κλειδιά υπολογίζοντας ανάλογα τις απαιτήσεις του συστήµατος. Το σηµαντικότερο είναι η φύλαξη της χρονικής πληροφορίας. Γενικά οι δύο µέθοδοι δεν διαφέρουν πολύ στην φιλοσοφία τους. Με την πρώτη µέθοδο πρέπει να σβήνουµε τις αλλαγές σε κάθε επαυξητική εξαγωγή γεγονός που θα δηµιουργήσει κάποια καθυστέρηση, αλλά είναι απαραίτητο για να ξεχωρίσουµε ποιες έγιναν στο τελευταίο µεσοδιάστηµα µεταξύ δύο εξαγωγών. Με την δεύτερη µέθοδο δεν χρειάζεται να γίνει κάτι 17

30 αντίστοιχο, µε αποτέλεσµα να οδηγούµαστε σε σπατάλη χώρου, αλλά και κάποια επιβάρυνση στην διαδικασία, αφού πρέπει να διαλέξουµε τις αλλαγές µε το κατάλληλο χρονικό αποτύπωµα. Και στις δύο µεθόδους θα πρέπει να χρησιµοποιήσουµε κάποιους πίνακες αντίγραφα και ειδικότερα τρεις (3) για κάθε πίνακα που θέλουµε να µεταφέρουµε στην αποθήκη δεδοµένων. Ένα για να κρατάει τις νέες εγγραφές, έναν για τις αλλαγµένες και ένα για τις διαγραµµένες. Στο τελευταίο πίνακα χρειαζόµαστε, φυσικά µόνο το πρωτεύον κλειδί, αφού πρόκειται για διαγραφή, ενώ στους άλλους δύο κάνουµε την επιλογή µας, όπως αναφέρθηκε και παραπάνω. Στην δεύτερη µέθοδο, υπάρχει και µια άλλη επιλογή, να τροποποιήσουµε τους κανονικούς πίνακες της βάσης προσθέτοντας µια στήλη µε χρονικά αποτυπώµατα. Έτσι δεν θα χρειαστεί στο τέλος ένωση πινάκων, αλλά λαµβάνοντας υπόψη το χρονικό αποτύπωµα θα µπορούµε να εξάγουµε κατευθείαν τα δεδοµένα µας από την βάση. Κάτι τέτοιο όµως θα πρέπει να γίνει µε διαφάνεια στο χρήστη, αφού πολλές λειτουργίες όπως η insert θα πρέπει να τροποποιηθούν. Κάτι τέτοιο συνίσταται όταν υπάρχει κάποια εξωτερική διεπαφή που χρησιµοποιεί ο χρήστης για την επικοινωνία µε την βάση, οπότε και περνάµε τις αλλαγές σε αυτή χωρίς να επηρεάσουµε τον χρήστη. Το πλεονέκτηµα αυτών των µεθόδων σε σύγκριση µε τις υπόλοιπες είναι ο απόλυτος έλεγχος που µας προσφέρεται στο σύστηµα δοσοληψίας. Είναι σχετικά απλή και στην σύλληψη και στην υλοποίηση. Μάλιστα έχει βρει µεγάλη ανταπόκριση στην αγορά έχοντας χρησιµοποιηθεί από πληθώρα σχεδιαστών αποθηκών δεδοµένων. Αυτό σηµαίνει πως είναι εύχρηστη και αποτελεσµατική. Έχουµε µια µικρή επιβάρυνση κατά την επεξεργασία της δοσοληψίας, που αποτελεί και το βασικότερο µειονέκτηµα της µεθόδου και άλλη µια µικρή καθυστέρηση κατά την επαυξητική εξαγωγή. Το µειονέκτηµα είναι αρκετά σηµαντικό εάν σκεφτούµε ότι τα συστήµατα δοσοληψίας αποτελούν την εικόνα του οργανισµού µε τους πελάτες του και ο ανταγωνισµός προστάζει όσο το δυνατόν µεγαλύτερη ταχύτητα εξυπηρέτησης. Ας µην ξεχνάµε πως για κάθε πίνακα που θέλουµε να εξάγουµε προσθέτουµε τρεις triggers και άλλους τρεις πίνακες. Από την άλλη τα δεδοµένα είναι σε εκµεταλλεύσιµη µορφή ή µπορούν να γίνουν µε κάποιες πράξεις ένωσης πινάκων (join). Από άποψη χώρου δεν έχει µεγάλες απαιτήσεις σε σχέση µε τις υπόλοιπες µεθόδους, ενώ και τα δεδοµένα που στέλνονται στην αποθήκη είναι όσο το δυνατόν µικρότερα, αφού περιέχουν µόνο τις αλλαγές Εξαγωγή µε στιγµιότυπα Η τρίτη και τελευταία µέθοδος επαυξητικής εξαγωγής επενεργεί στα δεδοµένα µε διαφορετικό τρόπο από τις άλλες δύο. Έχοντας εξαντλήσει τις δυνατότητες που προσφέρει ένα σχεσιακό σύστηµα διαχείρισης βάσεων δεδοµένων για τον εντοπισµό αλλαγών στα δεδοµένα µας, συγκρίνουµε πλέον µε ειδικούς αλγορίθµους αντίγραφα-στιγµιότυπα των δεδοµένων µας. Ουσιαστικά κρατάµε δύο εικόνες της βάσης σε κάποια µορφή, µια παλαιά 18

31 και µια νέα και τις συγκρίνουµε προσπαθώντας να βρούµε τις αλλαγές. Η διαδικασία είναι σχετικά απλή, αλλά και αργή γι' αυτό χρησιµοποιούµε ειδικούς αλγόριθµους µε σκοπό την βελτιστοποίησή της. Αυτή µπορεί να επιτευχθεί σε διάφορα επίπεδα, όπως αυτό της κωδικοποίησης της πληροφορίας, αλλά και στον τρόπο σύγκρισης, στοχεύοντας την µείωση του χρονοβόρου διαβάσµατος από κάποιο µαγνητικό αποθηκευτικό µέσο και του φόρτου του επεξεργαστή. ύο τύποι αλγορίθµων είναι οι επικρατέστεροι και τους οποίους θα εξετάσουµε στην συνέχεια. Ο αλγόριθµος µε συµπίεση και ο αλγόριθµος του παραθύρου Αλγόριθµοι µε συµπίεση Ο αλγόριθµος αυτός στηρίζεται στην ταξινόµηση των εγγραφών και στην σύγκριση τους µε βάση το πρωτεύον κλειδί και τα δεδοµένα τους. Στην αρχή έχουµε δύο στιγµιότυπα της βάσης µας. Ουσιαστικά πρόκειται για αρχεία που περιέχουν τους πίνακες της βάσης και τις εγγραφές τους. Για κάθε πίνακα που υπάρχει στα αρχεία αυτά πραγµατοποιούµε µια ταξινόµηση µε βάση το πρωτεύον του κλειδί. Έπειτα πηγαίνουµε και συγκρίνουµε εγγραφή προς εγγραφή. Λόγω της ταξινόµησης θα µπορούµε εύκολα να βρούµε τις αλλαγές στους πίνακες. Εάν βρούµε ένα κλειδί στον νεώτερο χρονικά πίνακα που δεν υπάρχει στον παλαιό σηµαίνει πως έγινε κάποια εισαγωγή εγγραφής, ενώ στην αντίθετη περίπτωση που το κλειδί υπάρχει µόνο στον παλαιό πίνακα, θα έγινε κάποια διαγραφή. Στην περίπτωση που βρίσκουµε δύο ίσα κλειδιά, τότε θα πρέπει να ελέγξουµε και τα υπόλοιπα δεδοµένα, ώστε να βρούµε εάν υπάρχει κάποια ανανέωση στα υπόλοιπα πεδία της εγγραφής. Ο αλγόριθµος αυτός είναι απλός και επιδέχεται πολλές βελτιώσεις. Η πρώτη βελτίωση είναι στον τρόπο που γίνεται η ταξινόµηση. Μπορεί να χρησιµοποιηθεί κάποιου είδους quicksort ή κάποια mergesort. εδοµένου ότι ο όγκος των στιγµιότυπων της βάσης θα είναι αρκετά µεγάλος, θα πρέπει να προταθεί µια µέθοδος που να χρησιµοποιεί τεχνικές ταξινόµησης εκτός µνήµης (external sorting), ώστε ακόµα και όταν το µέγεθος του στιγµιότυπου της βάσης µας είναι µεγαλύτερο από την φυσική µνήµη που υπάρχει διαθέσιµη, να µην καταλήγουµε σε αποτυχία. Μια δεύτερη βελτίωση που θα πρέπει να ληφθεί υπόψη είναι η µείωση του µεγέθους της επεξεργαζόµενης πληροφορίας. Θα µπορούσε να επιβληθεί κάποιο σύστηµα που να κωδικοποιεί ή να συµπιέζει την πληροφορία ώστε να µην χρειάζεται να επεξεργαζόµαστε κάθε φορά όλο τον όγκο του στιγµιότυπου. Με µια προσεκτικότερη µατιά στον αλγόριθµο βλέπουµε πως κάθε στιγµή πρέπει να ξέρουµε και να συγκρίνουµε τα κλειδιά των εγγραφών και σε περίπτωση που είναι ίσα, να συγκρίνουµε και τα δεδοµένα τους. Εάν κωδικοποιήσουµε τα υπόλοιπα πεδία εκτός των κλειδιών σε µια συµπιεσµένη µορφή, µπορούµε να µειώσουµε το µέγεθος της φυσικής µνήµης που απαιτείται για την σύγκριση. Υπάρχουν δύο προσεγγίσεις. Στην πρώτη διατηρούµε το παλιό στιγµιότυπο σε συµπιεσµένη µορφή και το καινούργιο σε ασυµπίεστη. Κάνουµε την ταξινόµηση και συγκρίνουµε τα 19

32 κλειδιά των εγγραφών, όπως εξηγήσαµε. Σε κάθε περίπτωση (INSERT/UPDATE/DELETE), δεν µας χρειάζονται τα δεδοµένα των υπόλοιπων πεδίων του παλιού στιγµιότυπου. Στην δεύτερη προσέγγιση, συµπιέζουµε και τα δύο στιγµιότυπα από την αρχή. Η αναζήτηση των δεδοµένων στα υπόλοιπα πεδία θα χρειαστεί µόνο στην περίπτωση που θα έχουµε κάποιο INSERT/UPDATE, αφού στο DELETE χρειαζόµαστε να αναφέρουµε µόνο το κλειδί. Με τον τρόπο αυτό κερδίζουµε σε χώρο στην φυσική µνήµη, µειώνοντας τον όγκο του νέου στιγµιότυπου που ταξινοµούµε, αλλά αυξάνουµε τις προσπελάσεις στον σκληρό δίσκο, που είναι ως επί το πλείστον πολύ πιο αργές σε σχέση µε αυτές της φυσικής µνήµης. Λαµβάνοντας υπόψη ότι συνήθως οι αλλαγές είναι ένα µικρό ποσοστό του συνόλου των εγγραφών, τότε έχουµε πραγµατοποιήσει µια αρκετά καλή βελτιστοποίηση του αλγορίθµου. Πιο συγκεκριµένα, στην δικιά µας περίπτωση κωδικοποιούµε τα δεδοµένα µε τέτοιο τρόπο, που η αντίστροφη διαδικασία δεν είναι εφικτή προς όφελος ενός αρκετά ικανοποιητικού ποσοστού συµπίεσης Η κωδικοποίηση αυτή λέγεται CRC (Cyclic Redundancy Checksum) και βασίζεται στην κωδικοποίηση των δεδοµένων µας σε απλούς δυαδικούς αριθµούς. Με µια διαδικασία αντιστοιχίζουµε σε κάθε γραµµή από δεδοµένα ένα ακέραιο, ο οποίος είναι σταθερού µεγέθους, ανεξαρτήτως των πεδίων και των µεγεθών των τιµών. Η διαδικασία αυτή βασίζεται σε πράξεις πολυωνύµων. Θεωρούµε τέσσερα πολυώνυµα. Μ, είναι η πλειάδα του πίνακα για την οποία θέλουµε να βρούµε το checksum, έστω ότι είναι µήκους k bit P, είναι το προσυµφωνηµένο πολυώνυµο στο οποίο βασίζεται ο αλγόριθµος, µήκους n+1 bit F (FCS), είναι το παραγόµενο πολυώνυµο, που αποτελεί και το checksum, είναι µήκους n bit Τ, είναι το πολυώνυµο που προκύπτει παραθέτοντας τα M,F. Μαθηµατικά δηλώνεται ως Τ=Μ*x n +F. Είναι µήκους k+n bit. Σχήµα 8 Σχεδιασµός CRC σε επίπεδο υλικού Η κύρια ιδέα του αλγορίθµου είναι ότι το FCS παράγεται µε γνώµονα το υπόλοιπο της διαίρεσης T/P να είναι µηδενικό. Το Τ παράγεται αφού ολισθήσουµε αριστερά το Μ κατά n bit και προσθέσουµε το F στο αποτέλεσµα. Θέλουµε το Τ να διαιρείται ακριβώς µε το προσυµφωνηµένο πολυώνυµο P, οπότε πρέπει να βρούµε το κατάλληλο checksum F. Έστω, 20

33 ότι κάνουµε την διαίρεση Μ*x n /P = Q+R/P. Το Q είναι το πηλίκο (quotient) και το R το υπόλοιπο (reminder). Το υπόλοιπο αυτό αποτελεί και το FCS T = Μ*x n +R. Θα δείξουµε ότι αυτή η επιλογή για το FCS κάνει το Τ να διαιρείται ακριβώς µε το P. T/P = (Μ*x n +R)/P = Μ*x n /P + R/P = Q + R/P + R/P = Q + (R+R)/P = Q, χωρίς υπόλοιπο. Αυτό διότι χρησιµοποιούµε αριθµητική Modulo-2, στην οποία κάθε αριθµός που προστίθεται µε το εαυτό του δίνει 0. Το checksum που παράγεται είναι σχεδόν µονοσήµαντο. Χρησιµοποιώντας το κατάλληλο προσυµφωνηµένο πολυώνυµο (P) σαν γεννήτρια µπορούµε να πετύχουµε αρκετά µεγάλη ακρίβεια. Στην παρούσα υλοποίηση χρησιµοποιήθηκε η έκδοση CRC-32 της zlib, µιας βιβλιοθήκης συµπίεσης που διατίθεται σαν ελεύθερο λογισµικό στο διαδίκτυο, και δίνει πιθανότητα λάθους 1 στις x Είναι προφανές ότι η παραπάνω µεθοδολογία λειτουργεί σε δυαδικό επίπεδο και αντιλαµβάνεται οποιοδήποτε είδος πληροφορίας σαν µια σειρά από bits. Έτσι µπορούµε να κωδικοποιήσουµε από απλούς τύπους δεδοµένων (όπως ακεραίους) έως πολύπλοκους, όπως strings και ηµεροµηνίες. Για παράδειγµα έστω ότι η πλειάδα προς κωδικοποίηση είναι 10 bits µήκος: Μ= (σε δυαδική µορφή) Έστω επίσης ότι το CRC πολυώνυµο που χρησιµοποιούµε είναι µεγέθους 6 bits: P= To FCS που θα δηµιουργηθεί θα είναι µήκους 5 bits (ένα bit λιγότερο από αυτό του CRC) : F=11110 Έτσι το πολυώνυµο ΜF ( ) διαιρείται ακριβώς µε το P. Με τον τρόπο αυτό, τα δεδοµένα µας συρρικνώνονται και έχουµε να ελέγξουµε ένα πολύ µικρότερο σύνολο από ότι στην αρχή, ενώ σαν αριθµοί συγκρίνονται πιο εύκολα. Το CRC είναι τεχνική που χρησιµοποιείται στα δίκτυα επικοινωνιών για πρόγνωση λαθών και ορθή µεταφορά δεδοµένων Αλγόριθµος µε παράθυρο Η µέθοδος µε τον αλγόριθµο του παραθύρου βασίζεται στην βελτίωση από την άποψη των µειωµένων προσπελάσεων στον δίσκο, οι οποίες είναι και ιδιαίτερα χρονοβόρες. Οι διάφοροι αλγόριθµοι σύγκρισης στιγµιότυπων, εάν δεν εντοπίσουν όλες τις αλλαγές, εµφανίζουν useless delete-insert και insert-delete ζευγάρια. Τα πρώτα αποτελούν περίπτωσης ίδιων πλειάδων και στα δύο στιγµιότυπα για τα οποία ο αλγόριθµος έβγαλε πρώτα ένα delete και µετά ένα insert και τα δεύτερα είναι ζευγάρια για τα οποία προκύπτουν insert ακολουθούµενα από delete. Και τα δύο εισάγουν περιττή πληροφορία στα δεδοµένα που θα εξάγουµε, αλλά ιδίως τα δεύτερα θα δηµιουργήσουν προβλήµατα ασφαλείας, καθώς ένα Insert για κάτι που ήδη υπάρχει θα αγνοηθεί, ενώ το delete θα το διαγράψει. Για να γλιτώσουµε από τέτοιες 21

34 καταστάσεις στέλνουµε πρώτα τα delete και µετά τα insert στην αποθήκη µας. Ο αλγόριθµος αυτός θεωρεί ότι δύο ίδιες πλειάδες στα δύο στιγµιότυπα θα βρίσκονται αν όχι στην ίδια ακριβώς θέση, τουλάχιστον σε κάποια θέση κοντά. Η µετατόπιση µπορεί να συµβεί από το σύστηµα διαχείρισης για καλλίτερη ίσως εκµετάλλευση του αποθηκευτικού χώρου. Εποµένως, δεν είναι αναγκαίο για κάθε πλειάδα να ελέγξουµε ολόκληρο το άλλο στιγµιότυπο, αρκεί να κοιτάξουµε σε µια συγκεκριµένη περιοχή του, δηλαδή σε κάποιο παράθυρο. Οπότε, διαβάζουµε ένα κοµµάτι από κάθε στιγµιότυπο, τα συγκρίνουµε και διαγράφουµε τις όµοιες εγγραφές. Τις υπόλοιπες τις κρατάµε σε δύο ειδικές δοµές στην µνήµη, µια για κάθε αρχείο. Στην επόµενη σύγκριση θα συµπεριληφθούν και αυτές. Η διαδικασία αυτή συνεχίζεται µέχρι να επεξεργαστούµε όλες τις εγγραφές και των δύο στιγµιότυπων. Κατά την διαδικασία αυτή βρίσκουµε όλα τα UPDATE που ίσως υπάρχουν. Στο τέλος, όσες εγγραφές έχουν µείνει στις ειδικές δοµές της µνήµης θα είναι ή INSERT ή DELETE ανάλογα µε το στιγµιότυπο προέλευσης τους. Στην ουσία εκµεταλλευόµαστε την ιδιότητα του συστήµατος να µην µετακινεί δεδοµένα κατά τις ανακατατάξεις πολύ µακριά από την αρχική θέση τους και συγκεκριµένα εκτός διαφορετικής φυσικής υποµονάδας Συµπεράσµατα για τις µεθόδους των στιγµιότυπων Και οι δύο µέθοδοι προσπαθούν να ελαχιστοποιήσουν τον χρόνο εκτέλεσης της σύγκρισης δύο στιγµιότυπων µιας βάσης, στηριζόµενοι σε σηµαντικές λεπτοµέρειες. Τα CRC έχουν το πλεονέκτηµα ότι µειώνουν τον όγκο των παραγόµενων στιγµιότυπων, οπότε µειώνουν και την πολυπλοκότητα των συγκρίσεων. Από την άλλη πλευρά ο αλγόριθµος παραθύρου µειώνει τις προσπελάσεις στην µνήµη, που επιφέρουν σηµαντικές καθυστερήσεις. Γενικά, ο πρώτος παρουσιάζει καλύτερες αποδόσεις σε συστήµατα µε µεγάλη µνήµη ή συγκριτικά πολλά δεδοµένα. Στις υπόλοιπες περιπτώσεις, όπου οι προσπελάσεις στον δίσκο αποτελούν σηµαντική επιβάρυνση, ο δεύτερος αλγόριθµος πλεονεκτεί Σύγκριση των µεθόδων Συγκριτικά µε τις υπόλοιπες µεθόδους επαυξητικής εξαγωγής, η συγκεκριµένη παρουσιάζει µεγάλες απαιτήσεις σε αποθηκευτικό χώρο (σχεδόν τριπλάσιο), αφού απαιτεί να κρατάµε στιγµιότυπα τόσο της τωρινής όσο και της παλαιότερης βάσης κατά την επαυξητική εξαγωγή. Ο όγκος των δεδοµένων που θα µεταφερθούν προς την αποθήκη δεδοµένων διαφέρει. Μπορεί να είναι µεγάλος εάν αποφασίσουµε να εκτελέσουµε τις συγκρίσεις στην αποθήκη, αλλά µπορεί και να είναι µόνο οι αλλαγές εάν κάνουµε τις συγκρίσεις στο OLTP σύστηµα. Στην δεύτερη περίπτωση θα χρειαστούµε µεγάλη επεξεργαστική ισχύ, επιβαρύνοντας το σύστηµα δοσοληψιών. Σε κάθε περίπτωση πρέπει να λάβουµε υπόψη και την σύνδεση µεταξύ συστήµατος δοσοληψιών και αποθήκης δεδοµένων, την ταχύτητά της και την ποιότητά της. 22

35 Το µεγάλο πλεονέκτηµα της µεθόδου είναι ότι µε µικρές διαφοροποιήσεις εφαρµόζεται παντού και δεν χρειάζεται να υπάρχει ένα σύγχρονο σύστηµα διαχείρισης δοσοληψιών, όπως στις προηγούµενες περιπτώσεις. 2.7 Μετασχηµατισµός Ολοκλήρωση Μετά την εξαγωγή των δεδοµένων ακολουθεί το βήµα του µετασχηµατισµού και της ολοκλήρωσης. Αυτό συνήθως γίνεται στο χώρο του data staging, στον οποίο µπορεί να χρησιµοποιείται κάποιο ειδικό εργαλείο επεξεργασίας δεδοµένων ή κάποια ανεξάρτητη βάση δεδοµένων ή η διαδικασία αυτή να γίνεται στις πηγές εάν αυτές το υποστηρίζουν. Εκτός από καθαρισµό των δεδοµένων και έλεγχο της ποιότητας τους, ώστε να ανταποκριθούν στις απαιτήσεις της αποθήκης δεδοµένων, θα πρέπει να γίνουν και κάποιες µετατροπές τύπων. Για παράδειγµα θα χρειαστεί ίσως να κάποιο πεδίο ηµεροµηνίας να χωριστεί στα πεδία χρόνος, µήνας και ηµέρα ή κάποιες τιµές από "Α","Β" να γίνουν "1","2". Ακόµα πιο κοινές µετατροπές είναι από το EBCDIC σύνολο χαρακτήρων που χρησιµοποιείται στα mainframes σε ASCII που αποτελεί το σύγχρονο πρότυπο. Γενικώς, το πιο πιθανό είναι το λογικό και φυσικό µοντέλο της αποθήκης να µην συµπίπτει µε αυτό τον πηγών, οπότε και να χρειαστεί κάποια µετατροπή µεταξύ τύπων ηµεροµηνίας, συµβολοσειράς, αριθµού και χαρακτήρα. Σε τέτοιες περιπτώσεις πολύ χρήσιµο είναι και ένα πλήρες σύνολο συναρτήσεων χειρισµού συµβολοσειρών και ελέγχων τύπων. Για παράδειγµα µια συνάρτηση, που δίνει µια κοινή µορφή σε όλα τα ονοµατεπώνυµα των πελατών, κάνει τις αναφορές του συστήµατος πιο εύκολες στην ανάγνωση και πιο εµφανίσιµες. Σε αυτή την φάση πρέπει να γίνει και άλλη µια πολύ σηµαντική εργασία. Η ανάθεση καινούργιων κλειδιών στις εγγραφές που θα µπουν στην αποθήκη, τα λεγόµενα surrogate keys. Αυτό είναι ένα πολύ σηµαντικό βήµα στις αποθήκες δεδοµένων. Το να χρησιµοποιείς τα κλειδιά των συστηµάτων δοσοληψίας είναι µεγάλο λάθος, αφού είναι στην ευχέρεια των διαχειριστών τους πότε θα αλλάξουν την πολιτική τους και να δηµιουργήσουν µεγάλο πρόβληµα στην διαχείριση της αποθήκης. Για παράδειγµα µπορεί να δηµιουργήσουν τα εξής προβλήµατα : να ξαναχρησιµοποιηθούν κλειδιά που αυτοί έχουν διαγράψει, αλλά στην αποθήκη χρησιµοποιούνται για ιστορικά στοιχεία να κάνουν λάθος και να ξαναχρησιµοποιήσουν κλειδί που δεν έχουν διαγράψει να ανακατανέµει τα κλειδιά για να αναγνωρίσει τυχόν σκουπίδια να γίνει κάποια αλλαγή στα δεδοµένα, οπότε πρέπει να γνωρίζουµε µε τα αντίστοιχα δεδοµένα της διάστασης της αποθήκης ( slowly changing dimensions ) 23

36 να αλλάξει τον τύπο των κλειδιών λόγω χώρου ή αλλαγή πολιτικής, π.χ. να πάει από ακέραιους σε αλφαριθµητικά ή από ακέραιους 12-byte σε 20-byte να υπάρξει περίπτωση συγχώνευσης, οπότε να πρέπει να συγχωνευτούν και κλειδιά από δυο διαφορετικά συστήµατα. Για αυτό θα πρέπει να υπάρξει ένας µηχανισµός παραγωγής ξεχωριστών κλειδιών για την αποθήκη που θα είναι γενικά και ευκολόχρηστα στις πράξεις ένωσης µεταξύ πινάκων διαστάσεων και γεγονότων. Κάτι τέτοιο δεν ισχύει απαραίτητα για τα συστήµατα δοσοληψίας, τα οποία έχουν κλειδιά που αποτελούνται από ένωση άλλων κλειδιών ή είναι έξυπνα και από µόνα τους δίνουν πληροφορίες για την εγγραφή. Εκτός από τα παραπάνω σε αυτή την φάση πρέπει, πριν δηλαδή γίνει το φόρτωµα στην αποθήκη πρέπει να γίνει η ολοκλήρωση (integration). ηλαδή, να γίνει η σύνδεση όλων των δεδοµένων, που έρχονται από διαφορετικές πηγές. Αυτές οι διαφορετικές πηγές, τα διαφορετικά συστήµατα δοσοληψίας έχουν πολλές φορές κοινά δεδοµένα, τα οποία και πρέπει να ταιριάξουνε. Τέτοιες συγκρίσεις είναι αρκετά δύσκολο να γίνουν, αλλά εφόσον γίνουν και ανακαλυφθούν οι ίδιες εγγραφές πρέπει να δηµιουργηθεί µια κοινή που θα της δοθεί ένα καινούργιο surrogate κλειδί. Ταυτόχρονα θα πρέπει να έχει δηµιουργηθεί και ένας πίνακας, στον οποίο θα αντιστοιχούµε κλειδιά των πηγών µε surrogate κλειδιά. Έτσι θα µπορούµε να γνωρίζουµε και τις αντιστοιχίες την επόµενη φορά που θα γίνει η ενηµέρωση της αποθήκης και θα χρειαστεί να απεικονίσουµε σε αυτή κάποια αλλαγή που έγινε σε κάποια πηγή. Τέλος, θα πρέπει να προσέξουµε και να ελέγξουµε τους περιορισµούς ακεραιότητας που έχουµε ορίσει στην αποθήκη δεδοµένων. Ειδικά σχέσεις 1 προς 1 και 1 προς Ν µπορούν εύκολα να ελεγχθούν µε µια ταξινόµηση των πινάκων µε βάση τα κατάλληλα πεδία και σειριακή αναζήτηση σε αυτούς. 2.8 Ποιότητα εδοµένων Η ποιότητα των δεδοµένων εξαρτάται συνήθως από ένα σύνολο παραγόντων, που δεν ανήκουν στο προσωπικό, το οποίο είναι υπεύθυνο για την διαχείριση της αποθήκης δεδοµένων. Για να πετύχουµε υψηλή ποιότητα στα δεδοµένα µας πρέπει να υπάρχει ένα καλά σχεδιασµένο σύστηµα συγκέντρωσης των δεδοµένων από τις πηγές, ενώ παράλληλα οι πηγές δεν πρέπει να επιτρέπουν µεγάλο ποσοστό λαθών, αλλά να επιβάλλουν την σωστή καταχώρηση και την ακεραιότητα των δεδοµένων. Σε τελική ανάλυση τα δεδοµένα αυτά έχουν προέλθει από ανθρώπινη καταχώρηση και χρειάζεται σχολαστικότητα και ακριβή ενηµέρωση για τους εταιρικούς κανόνες, ώστε να έχουν µικρό ποσοστό λαθών. Επίσης, η πρώτη ενηµέρωση της αποθήκης δεδοµένων θα είναι µε ιστορικά δεδοµένα, που είναι σχεδόν 24

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΖΩΓΡΑΦΟΥ 157 73, ΑΘΗΝΑ ΕΒΓ - ΙΠΛ-2001-07 Σεπτέµβρης 2001 ΜΕΛΕΤΗ & ΣΥΓΚΡΙΣΗ

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στις Βάσεις εδοµένων και την Access

Εισαγωγή στις Βάσεις εδοµένων και την Access Μάθηµα 1 Εισαγωγή στις Βάσεις εδοµένων και την Access Τι είναι οι βάσεις δεδοµένων Μία βάση δεδοµένων (Β..) είναι µία οργανωµένη συλλογή πληροφοριών, οι οποίες είναι αποθηκευµένες σε κάποιο αποθηκευτικό

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

ΣΤΡΑΤΗΓΙΚΟ MANAGEMENT KAI EΠΙΧΕΙΡHΜΑΤΙΚΗ ΕΥΦΥΙΑ. Παρουσίαση 2 ο μέρος:

ΣΤΡΑΤΗΓΙΚΟ MANAGEMENT KAI EΠΙΧΕΙΡHΜΑΤΙΚΗ ΕΥΦΥΙΑ. Παρουσίαση 2 ο μέρος: ΣΤΡΑΤΗΓΙΚΟ MANAGEMENT KAI EΠΙΧΕΙΡHΜΑΤΙΚΗ ΕΥΦΥΙΑ Παρουσίαση 2 ο μέρος: Λήψη αποφάσεων Η λήψη αποφάσεων αποτελεί κεντρική δραστηριότητα σε όλα τα επίπεδα λειτουργίας μιας επιχείρησης, από τον σχεδιασμό δράσεων,

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

ζωγραφίζοντας µε τον υπολογιστή

ζωγραφίζοντας µε τον υπολογιστή ζωγραφίζοντας µε τον υπολογιστή Μια από τις εργασίες που µπορούµε να κάνουµε µε τον υπολογιστή είναι και η ζωγραφική. Για να γίνει όµως αυτό πρέπει ο υπολογιστής να είναι εφοδιασµένος µε το κατάλληλο πρόγραµµα.

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

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

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

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

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

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

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

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

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

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

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

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

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

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν Επαναληπτικές δοµές Η λογική των επαναληπτικών διαδικασιών εφαρµόζεται όπου µία ακολουθία εντολών εφαρµόζεται σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό. Όταν ψάχνουµε θέση για να παρκάρουµε κοντά

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

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

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

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

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Πρόγραµµα Μεταπτυχιακών Σπουδών «Πληροφορική»

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Πρόγραµµα Μεταπτυχιακών Σπουδών «Πληροφορική» Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Πρόγραµµα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή ιατριβή Τίτλος ιατριβής Ονοµατεπώνυµο Φοιτητή Πατρώνυµο Συλλογή, ιασταύρωση, ιαχείριση και Επιχειρησιακή

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

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

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

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

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

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

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

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό, 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή 1. εδοµένα, Πληροφορίες και Υπολογιστές 2. Πώς φτάσαµε στους σηµερινούς υπολογιστές 3. Το υλικό ενός υπολογιστικού συστήµατος 4. Το λογισµικό ενός υπολογιστικού συστήµατος

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Κατηγορίες Πληροφοριακών Συστημάτων Διοικητικής Υποστήριξης

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Κατηγορίες Πληροφοριακών Συστημάτων Διοικητικής Υποστήριξης ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Κατηγορίες Πληροφοριακών Συστημάτων Διοικητικής Υποστήριξης 1 ΕΙΣΑΓΩΓΗ (1) Ταξινόμηση ΠΣ ανάλογα με τις λειτουργίες που υποστηρίζουν: Συστήματα Επεξεργασίας Συναλλαγών ΣΕΣ (Transaction

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

3.1 εκαδικό και υαδικό

3.1 εκαδικό και υαδικό Εισαγωγή στην επιστήµη των υπολογιστών Υπολογιστές και εδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών 1 3.1 εκαδικό και υαδικό εκαδικό σύστηµα 2 1 εκαδικό και υαδικό υαδικό Σύστηµα 3 3.2 Μετατροπή Για τη µετατροπή

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

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

Ο έλεγχος στο επίπεδο συστήµατος επικοινωνιών εξασφαλίζει ότι έχουµε µεταφορά στο δίκτυο χωρίς λάθη. Overview Το end-to-end argument υποστηρίζει ότι κάποιες από τις λειτουργίες που επιτελούνται κατά την διάρκεια µιας επικοινωνίας µεταξύ συστηµάτων θα πρέπει να µην υλοποιούνται σε χαµηλό επίπεδο (επίπεδο

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

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

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

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

Μια ολοκληρωμένη, διαχρονική και μόνιμη συλλογή δεδομένων οργανωμένη κατά αντικείμενο ανάλυσης με στόχο τη διαδικασία υποστήριξης λήψης αποφάσεων -

Μια ολοκληρωμένη, διαχρονική και μόνιμη συλλογή δεδομένων οργανωμένη κατά αντικείμενο ανάλυσης με στόχο τη διαδικασία υποστήριξης λήψης αποφάσεων - Εξαγωγή Μετασχηματισμός Εισαγωγή Δεδομένων στην Αποθήκη Πληροφοριών (ETL) Ορισμοί Data Warehouse 1. 2. Μια ολοκληρωμένη, διαχρονική και μόνιμη συλλογή δεδομένων οργανωμένη κατά αντικείμενο ανάλυσης με

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

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

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

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

Εισαγωγή και επεξεργασία δεδοµένων

Εισαγωγή και επεξεργασία δεδοµένων Μάθηµα 4 Εισαγωγή και επεξεργασία δεδοµένων Εισαγωγή δεδοµένων σε πίνακα 1. Ανοίγουµε το παράθυρο του πίνακα Υπάλληλοι σε προβολή φύλλου δεδοµένων. 2. Η κενή γραµµή, η οποία υπάρχει πάντα στον πίνακα,

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

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

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

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

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών Εισαγωγή στην επιστήµη των υπολογιστών Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών 1 Δεκαδικό και Δυαδικό Σύστηµα Δύο κυρίαρχα συστήµατα στο χώρο των υπολογιστών Δεκαδικό: Η βάση του συστήµατος

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

ΟΜΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 3 ΕΡΩΤΗΣΕΙΣ... 5 ΕΡΕΥΝΕΣ... 8

ΟΜΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 3 ΕΡΩΤΗΣΕΙΣ... 5 ΕΡΕΥΝΕΣ... 8 Εγχειρίδιο Χρήσης Συστήµατος Έρευνες Στατιστικών Στοιχείων ΠΕΡΙΕΧΟΜΕΝΑ ΟΜΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 3 Λογική Ανάλυση Χρήσης Εφαρµογής... 3 ΕΡΩΤΗΣΕΙΣ... 5 ΠΡΟΣΘΗΚΗ ΕΡΩΤΗΣΗΣ... 6 Επεξεργασία Ερώτησης... 7 ιαγραφή

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

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών Εισαγωγή στην επιστήµη των υπολογιστών Αναπαράσταση Αριθµών 1 Δεκαδικό και Δυαδικό Σύστηµα Δύο κυρίαρχα συστήµατα στο χώρο των υπολογιστών Δεκαδικό: Η βάση του συστήµατος είναι το 10 αναπτύχθηκε τον 8

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

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου)

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου) Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου) Εισαγωγή. Αυτό το φυλλάδιο έχει στόχο να δώσει ένα ανάλογο αποτέλεσµα µε αυτό του linear speedup θεωρήµατος, εάν έχουµε µία µηχανή

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

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή Εισαγωγή Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ Ξεκινάµε την εργαστηριακή µελέτη της Ψηφιακής Λογικής των Η/Υ εξετάζοντας αρχικά τη µορφή των δεδοµένων που αποθηκεύουν και επεξεργάζονται οι υπολογιστές και προχωρώντας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οδηγίες Ηλεκτρονικής Υποβολής Προτάσεων

Οδηγίες Ηλεκτρονικής Υποβολής Προτάσεων ΥΠΟΥΡΓΕΊΟ ΑΝΑΠΤΥΞΗΣ ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΒΙΟΜΗΧΑΝΙΑΣ /ΝΣΗ ΜΜΕ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΑΝΤΑΓΩΝΙΣΤΙΚΟΤΗΤΑ ΚΑΙ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ» 2007 2013 ΠΡΟΓΡΑΜΜΑΤΑ «ΕΝΙΣΧΥΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑΣ ΝΕΩΝ» «ΕΝΙΣΧΥΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑΣ

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

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

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

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

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

Σύστημα. Αντώνης Μαϊργιώτης

Σύστημα. Αντώνης Μαϊργιώτης Σύστημα Αντώνης Μαϊργιώτης Σε ένα οργανισμό υπάρχουν προβλήματα για λύση Η διεύθυνση του οργανισμού αναθέτει τη λύση στους κατάλληλους ανθρώπους Οι πιο κατάλληλοι άνθρωποι είναι αυτοί που θέλουν τις κατάλληλες

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

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

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

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

Ο ΗΓΙΕΣ ΓΙΑ ΤΟ ΚΛΕΙΣΙΜΟ ΧΡΗΣΗΣ ΣΤΟ DYNAMICS NAV INNOVERA ERP

Ο ΗΓΙΕΣ ΓΙΑ ΤΟ ΚΛΕΙΣΙΜΟ ΧΡΗΣΗΣ ΣΤΟ DYNAMICS NAV INNOVERA ERP Ο ΗΓΙΕΣ ΓΙΑ ΤΟ ΚΛΕΙΣΙΜΟ ΧΡΗΣΗΣ ΣΤΟ DYNAMICS NAV INNOVERA ERP Για να κλείσουµε µία χρήση στο InnovEra ακολουθούµε τα παρακάτω βήµατα: Από το κεντρικό µενού επιλέγουµε διαδοχικά «Οικονοµική ιαχείριση», «Γενική

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

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

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

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

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2 ! Βρείτε το δεκαεξαδικό ισοδύναµο του σχήµατος µπιτ 110011100010 Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E 0010 2 Άρα το δεκαεξαδικό ισοδύναµο είναι CE2 2 !

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

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i Να μετατρέψετε τις ενέργειες που δίνονται παρακάτω σε

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

Συστήματα Πληροφοριών Διοίκησης

Συστήματα Πληροφοριών Διοίκησης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πειραιά Συστήματα Πληροφοριών Διοίκησης Ενότητα 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): Είναι μία αποθήκη πληροφοριών οργανωμένη από ένα ενοποιημένο μοντέλο. Τα δεδομένα συλλέγονται από

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

5. Γεννήτριες Τυχαίων Αριθµών.

5. Γεννήτριες Τυχαίων Αριθµών. 5. Γεννήτριες Τυχαίων Αριθµών. 5.1. Εισαγωγή. Στο Κεφάλαιο αυτό θα δούµε πώς µπορούµε να δηµιουργήσουµε τυχαίους αριθµούς από την οµοιόµορφη κατανοµή στο διάστηµα [0,1]. Την κατανοµή αυτή, συµβολίζουµε

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

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

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

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

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

Linear Hashing. Linear vs other Hashing

Linear Hashing. Linear vs other Hashing Linear Hashing Τµήµα Πληροφορικής & Τηλ/νών, ΕΚΠΑ Υλοποίηση Συστηµάτων Βάσεων εδοµένων http://www.di.uoa.gr/~k18 Linear vs other Hashing Σεαντίθεσηµετοστατικόκατακερµατισµό, τα buckets αυξάνονται καθώς

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

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

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

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

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

ΘΕΑΝΩ ΕΡΙΦΥΛΗ ΜΟΣΧΟΝΑ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΑΝΩ ΕΡΙΦΥΛΗ ΜΟΣΧΟΝΑ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ Πρόβληµα µεταφοράς Η ανάπτυξη και διαµόρφωση του προβλήµατος µεταφοράς αναπτύσσεται στις σελίδες 40-45 του βιβλίου των

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

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

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ Κεφάλαιο ο Μεικτές Στρατηγικές Τώρα θα δούµε ένα παράδειγµα στο οποίο κάθε παίχτης έχει τρεις στρατηγικές. Αυτό θα µπορούσε να είναι η µορφή που παίρνει κάποιος µετά που έχει απαλείψει όλες τις αυστηρά

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

Αρχική σελίδα. Κατάσταση. Άµεση πρόσβαση

Αρχική σελίδα. Κατάσταση. Άµεση πρόσβαση Αρχική σελίδα Με την εισαγωγή σας στο λογισμικό ανταλλαγών (Cyclos), βρίσκεστε στην αρχική σελίδα, µέσω της οποίας μπορείτε να έχετε άµεση πρόσβαση σε διάφορες λειτουργίες και πληροφορίες για το λογαριασµό

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

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

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

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

Certified Data Base Designer (CDBD)

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

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

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης ΟΙΚΟΝΟΜΙΚΌ ΠΑΝΕΠΙΣΤΉΜΙΟ ΑΘΗΝΏΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης 1o φροντιστήριο στο µάθηµα Ανάλυση και µοντελοποίηση

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

2. Missing Data mechanisms

2. Missing Data mechanisms Κεφάλαιο 2 ο 2. Missing Data mechanisms 2.1 Εισαγωγή Στην προηγούµενη ενότητα περιγράψαµε κάποια από τα βασικά µοτίβα εµφάνισης των χαµένων τιµών σε σύνολα δεδοµένων. Ένα άλλο ζήτηµα που µας απασχολεί

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

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

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

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

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

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

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

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες:

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες: Άσκηση 5Α_5 26/3/2003 11.5. Άσκηση 5A - [αναγνώριση αντικειµένων-διάγραµµα κλάσεων] [Σε αντικατάσταση της άσκησης 5 του κεφαλαίου 11] 11.5.1. Περιγραφή Η άσκηση αυτή είναι η πρώτη από µία σειρά ασκήσεων

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας

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

Το Ηλεκτρονικό Ταχυδροµείο (e-mail) είναι ένα σύστηµα που δίνει την δυνατότητα στον χρήστη να ανταλλάξει µηνύµατα αλλά και αρχεία µε κάποιον άλλο

Το Ηλεκτρονικό Ταχυδροµείο (e-mail) είναι ένα σύστηµα που δίνει την δυνατότητα στον χρήστη να ανταλλάξει µηνύµατα αλλά και αρχεία µε κάποιον άλλο Το Ηλεκτρονικό Ταχυδροµείο (e-mail) είναι ένα σύστηµα που δίνει την δυνατότητα στον χρήστη να ανταλλάξει µηνύµατα αλλά και αρχεία µε κάποιον άλλο χρήστη µέσω υπολογιστή άνετα γρήγορα και φτηνά. Για να

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

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

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

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

ιεύθυνση Λέξης Ερµηνεία Περιεχοµένου Λέξης ιεύθυνση Λέξης b7 b6 b5 b4 b3 b2 b1 b0

ιεύθυνση Λέξης Ερµηνεία Περιεχοµένου Λέξης ιεύθυνση Λέξης b7 b6 b5 b4 b3 b2 b1 b0 Μάθηµα 43ο Θέµα Εισαγωγή Παραδείγµατα 1. Τι ονοµάζουµε µνήµη; Τι είδους τεχνολογία χρησιµοποιούµε συνήθως για τις µνήµες; 2. Η λέξη µιας µνήµης, από τι αποτελείται; 3. Τι ονοµάζουµε διεύθυνση µιας µνήµης

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

3 Αναδροµή και Επαγωγή

3 Αναδροµή και Επαγωγή 3 Αναδροµή και Επαγωγή Η ιδέα της µαθηµατικής επαγωγής µπορεί να επεκταθεί και σε άλλες δοµές εκτός από το σύνολο των ϕυσικών N. Η ορθότητα της µαθηµατικής επαγωγής ϐασίζεται όπως ϑα δούµε λίγο αργότερα

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

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ.

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ. 1. Πρόσβαση Οδηγίες προγράµµατος διαχείρισης ανάλυσης χρόνου εργασίας (Time Sheet) Για να ξεκινήσετε την εφαρµογή, από την κεντρική σελίδα του ΕΛΚΕ (www.elke.aua.gr) και το µενού «ιαχείριση», Time Sheet

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

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

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

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

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

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

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

ΠΕΡΙΛΗΨΗ Vcommunity V Community

ΠΕΡΙΛΗΨΗ Vcommunity V Community ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Υλοποίηση ιαδικτυακού Συστήµατος Ανταλλαγής Προϊόντων και Υπηρεσιών The

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

Εφαρµογή EXTRA. ιαδικασία εξαγωγής της Μηχανογραφικής. έκδοσης ισοζυγίου στην εφαρµογή Extra Λογιστική ιαχείριση.

Εφαρµογή EXTRA. ιαδικασία εξαγωγής της Μηχανογραφικής. έκδοσης ισοζυγίου στην εφαρµογή Extra Λογιστική ιαχείριση. Εφαρµογή EXTRA ιαδικασία εξαγωγής της µηχανογραφικής έκδοσης ισοζυγίου στην εφαρµογή Extra Λογιστική ιαχείριση. Σελ.1 Το συγκεκριµένο εγχειρίδιο δηµιουργήθηκε για να βοηθήσει την κατανόηση της διαδικασίας

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

ΠροσδιορισµόςΒέλτιστης Λύσης στα Προβλήµατα Μεταφοράς Η µέθοδος Stepping Stone

ΠροσδιορισµόςΒέλτιστης Λύσης στα Προβλήµατα Μεταφοράς Η µέθοδος Stepping Stone ΠροσδιορισµόςΒέλτιστης Λύσης στα Προβλήµατα Μεταφοράς Η µέθοδος Stepping Stone Hµέθοδος Stepping Stoneείναι µία επαναληπτική διαδικασία για τον προσδιορισµό της βέλτιστης λύσης σε ένα πρόβληµα µεταφοράς.

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

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7 Οι σημειώσεις που ακολουθούν περιγράφουν τις ασκήσεις που θα συναντήσετε στο κεφάλαιο 7. Η πιο συνηθισμένη και βασική άσκηση αναφέρεται στο IP Fragmentation,

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

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

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

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

Διαχείριση Βάσης Δεδομένων (dbadmin)

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

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

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

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

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

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

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

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

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης Λύσεις Παλιών Θεµάτων Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης Θέµα Φεβρουάριος 2003 1) Έστω ένας υπερκύβος n-διαστάσεων. i. Να βρεθεί ο αριθµός των διαφορετικών τρόπων

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

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

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

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

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

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

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

ΦΥΛΛΟ ΠΛΗΡΟΦΟΡΙΩΝ. Μονάδες μέτρησης χωρητικότητας μνήμης - Η περιφερειακή μνήμη

ΦΥΛΛΟ ΠΛΗΡΟΦΟΡΙΩΝ. Μονάδες μέτρησης χωρητικότητας μνήμης - Η περιφερειακή μνήμη Τ.Π.Ε. - Φ.ΠΛΗΡ.Ε-001 ΜΟΝΑΔΕΣ ΜΕΤΡΗΣΗΣ ΧΩΡΗΤΙΚΟΤΗΤΑΣ ΜΝΗΜΗΣ 1 Όνομα Σχολείου 5ο Ολοήμερο Δημοτικό Σχολείο Μεταμόρφωσης Τάξη Ε Τίτλος μαθήματος Τ.Π.Ε. Τίτλος ενότητας Μονάδες μέτρησης χωρητικότητας μνήμης

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

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

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

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

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

o AND o IF o SUMPRODUCT

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. έσποινα Τσοµπανούδη, Α.Μ.

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

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