Πληροφοριακά Συστήματα Διοίκησης Βάσεις Δεδομένων ΠΜΣ Λογιστική Χρηματοοικονομική και Διοικητική Επιστήμη ΤΕΙ Ηπείρου @ 2017
Βάσεις Δεδομένων (ΒΔ) Βάση δεδομένων (database) είναι μια οργανωμένη συλλογή δεδομένων τα οποία σχετίζονται μεταξύ τους Αναπαριστούν μια άποψη του πραγματικού κόσμου η οποία παρουσιάζει ενδιαφέρον από επιχειρηματική σκοπιά Σχεδιάζονται και διατηρούν δεδομένα για συγκεκριμένο σκοπό Τα δεδομένα περιγράφουν έναν μικρόκοσμο, είτε κατά την τρέχουσα χρονική στιγμή, είτε στην εξέλιξη της ιστορίας του 2
Τα επίπεδα αρχεία δεν είναι ΒΔ Επίπεδο αρχείο (flat file) είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν μια συγκεκριμένη διαμόρφωση Στα επίπεδα αρχεία δεν ορίζονται σχέσεις μεταξύ των δεδομένων 3
Τα αρχεία Excel δεν είναι ΒΔ Τα αρχεία Excel μπορούν να θεωρηθούν ως ένα είδος ενισχυμένων επίπεδων αρχείων Κάθε φύλλο Excel (έκδοση 2013) έχει 1.048.576 γραμμές και 16.384 στήλες και κάθε κελί μπορεί να περιέχει μέχρι 32.767 χαρακτήρες Όλα τα δεδομένα ενός αρχείου Excel πρέπει να φορτωθούν στη μνήμη προκειμένου να γίνει χρήση του Αρχεία Excel μεγαλύτερα από 100ΜΒ έχουν αργή απόκριση Δεν είναι εύκολο να οριστούν λογικές σχέσεις μεταξύ των δεδομένων Τα αρχεία Excel προορίζονται για χρήση σε έναν υπολογιστή και όχι για ταυτόχρονη πρόσβαση ενημέρωση από πολλούς χρήστες 4
Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ) Σύστημα Διαχείρισης Βάσεων Δεδομένων (Database Management System=DBMS) είναι ένα σύστημα το οποίο ορίζει δημιουργεί και συντηρεί Βάσεις Δεδομένων. Το ΣΔΒΔ παρέχει επίσης στους χρήστες ελεγχόμενη πρόσβαση στις βάσεις δεδομένων. Τα ΣΔΒΔ επιτρέπουν: Μόνιμη αποθήκευση δεδομένων Αυτοματοποιημένες διαδικασίες λήψης αντιγράφων ασφαλείας Ασφάλεια - έλεγχος πρόσβασης Διαχείριση πλεονασμού (δλδ την αποφυγή επανάληψης της ίδιας πληροφορίας) Πολλαπλές οθόνες για υποβολή ερωτημάτων, φόρμες, αναφορές Έλεγχο συνέπειας - ακεραιότητας δεδομένων (δλδ αποφυγή διατήρησης αντικρουόμενων δεδομένων) 5
Ποιοι χρησιμοποιούν ΣΔΒΔ; Μεγάλες Βάσεις Δεδομένων Τράπεζες Δημόσιοι οργανισμοί (π.χ. εφορία) Νοσηλευτικά Ιδρύματα Εκπαιδευτικά Ιδρύματα Αεροπορικές εταιρείες Ασφαλιστικοί οργανισμοί Αλυσίδες εμπορικών καταστημάτων Ηλεκτρονικά καταστήματα Μικρές Βάσεις Δεδομένων Μικρές επιχειρήσεις Γυμναστήρια Ιατρεία Δημοσκοπήσεις Δεδομένα επιστημονικών πειραμάτων 6
ΣΔΒΔ ανοικτού κώδικα και εμπορικά ΣΔΒΔ Ανοικτού κώδικα MySQL PostgeSQL MariaDB SQLite H2 HSQLDB Εμπορικά Oracle Database Microsoft SQL Server IBM DB2 SAP Sybase 7
Κόστος ΣΔΒΔ Open source (δωρεάν) Οικονομικές (από μερικές εκατοντάδες ως μερικές χιλιάδες ευρώ) Αυξημένου κόστους (χιλιάδες ευρώ ανά άδεια χρήσης) Στο κόστος της ΒΔ θα πρέπει να συμπεριληφθεί και το κόστος πρόσληψης ή απασχόλησης εξειδικευμένου προσωπικού που θα διαχειρίζεται τις ΒΔ Ανάλογα με την εφαρμογή που πρέπει να υποστηριχθεί μπορεί να χρειαστούν διαφορετικοί ρόλοι: Database administrator Database designer 8
Διαχειριστής ΒΔ (Database Administrator=DBA) Ο Διαχειριστής ΒΔ είναι συνήθως ένας ανά ΒΔ και έχει το υψηλότερο δυνατό επίπεδο δικαιωμάτων έχει υψηλή εξειδίκευση ελέγχει τους υπόλοιπους χρήστες παραχωρεί ή αφαιρεί προνόμια φροντίζει έτσι ώστε η βάση δεδομένων να λειτουργεί αποδοτικά Λαμβάνει αντίγραφα ασφαλείας έτσι ώστε σε περίπτωση καταστροφής των δεδομένων να μπορέσει να επαναφέρει το σύστημα σε λειτουργία Οι απλοί χρήστες χρησιμοποιούν το τμήμα της βάσης στο οποίο τους έχει δοθεί πρόσβαση Η περιορισμένη πρόσβαση αφορά είτε το εύρος των δεδομένων που έχουν πρόσβαση είτε το είδος των ενεργειών που είναι σε θέση να εκτελέσουν (π.χ. πρόσβαση μόνο για ανάγνωση) Δεν είναι απαραίτητο να έχουν ιδιαίτερες τεχνικές γνώσεις 9
Πότε δεν συνίσταται η χρήση ενός ΣΔΒΔ Όταν η ζητούμενη εφαρμογή είναι πολύ απλή Όταν το κόστος του ΣΔΒΔ δεν καλύπτεται από τα αναμενόμενα οφέλη Παράγοντες αύξησης κόστους Λογισμικό Υλικό Εκπαίδευση Πρόσληψη ατόμων με την απαιτούμενη τεχνογνωσία Όταν δεν απαιτείται ταυτόχρονη πρόσβαση από δύο ή περισσότερους χρήστες 10
Πρώιμες αρχιτεκτονικές Βάσεων Δεδομένων Ιεραρχικές ΒΔ Το πρώτο μοντέλο βάσης δεδομένων που παρουσιάστηκε Τα δεδομένα οργανώνονται σε μια ιεραρχία (ανάποδο δένδρο) Στην κορυφή υπάρχει μια οντότητα η οποία ονομάζεται ρίζα Δικτυωτές ΒΔ Οι οντότητες οργανώνονται σε ένα γράφημα όπου κάποιες από αυτές μπορούν να προσπελαστούν μέσω διαφορετικών διαδρομών. Πολύπλοκο (απαιτεί πολλές ενημερώσεις όταν γίνεται κάποια αλλαγή στα δεδομένα) 11
Σχεσιακές ΒΔ(Relational Databases) Το 1970 o E.F. Codd έθεσε τις βάσεις για την ανάπτυξη των σχεσιακών ΒΔ Τα σχεσιακά ΣΔΒΔ (Relational Database Management Systems=RDBMS) έχουν επικρατήσει (τα τελευταία χρόνια όμως έχουν εμφανιστεί και άλλες τεχνολογίες ΒΔ) Τα δεδομένα στις σχεσιακές ΒΔ αναπαρίστανται ως ένα σύνολο πινάκων που συνδέονται μεταξύ τους 12
Πίνακες (οντότητες - σχέσεις) Κάθε πίνακας έχει πεδία που περιγράφουν μια οντότητα για τον πίνακα ΠΕΛΑΤΕΣ τα πεδία μπορεί να είναι: ΚΩΔΙΚΟΣ, ΟΝΟΜΑ, ΔΙΕΥΘΥΝΣΗ, ΤΗΛΕΦΩΝΟ Κάθε πίνακας πρέπει να έχει πρωτεύον κλειδί για τον πίνακα ΠΕΛΑΤΕΣ πρωτεύον κλειδί μπορεί να είναι ο ΚΩΔΙΚΟΣ (προσοχή: δεν μπορούν να υπάρχουν δύο πελάτες με το ίδιο πρωτεύον κλειδί) Κάθε πίνακας περιέχει εγγραφές Για τον πίνακα ΠΕΛΑΤΕΣ εγγραφές μπορεί να είναι συγκεκριμένοι πελάτες όπως για παράδειγμα: 0001, ΝΙΚΟΛΑΟΥ ΠΕΤΡΟΣ, Λ. ΕΙΡΗΝΗΣ 12, 2682012345 0002, ΠΑΠΠΑ ΜΑΡΙΑ, ΚΑΒΑΦΗ 2, 2682054321 13
Πρωτεύον κλειδί (primary key) Το πρωτεύον κλειδί είναι ένα ή περισσότερα πεδία του πίνακα που η τιμή τους προσδιορίζει μοναδικά μια εγγραφή Δεν είναι δυνατόν δύο εγγραφές του ίδιου πίνακα να έχουν το ίδιο πρωτεύον κλειδί Το πρωτεύον κλειδί χρησιμοποιείται στις σχέσεις του με τους άλλους πίνακες Ένα πρωτεύον κλειδί δεν μπορεί να είναι NULL (KENO) 14
Πρωτεύον κλειδί (παράδειγμα) Δεν μπορούν να υπάρξουν στη ΒΔ σε έναν πίνακα 2 εγγραφές με το ίδιο πρωτεύον κλειδί 15
Ξένο κλειδί (foreign key) Ξένο κλειδί είναι ένα πεδίο ενός πίνακα που χρησιμοποιείται ως σύνδεσμος με ένα αντίστοιχο πεδίο ενός άλλου πίνακα Το ξένο κλειδί δεν προσδιορίζει μοναδικά τις εγγραφές του πίνακα Το ξένο κλειδί μπορεί να αποτελείται από περισσότερα του ενός πεδία Στον πίνακα Accounts πρωτεύον κλειδί είναι το ACCT_ID και ξένο κλειδί το CUST_ID Στον πίνακα Customers πρωτεύον κλειδί είναι το CUST_ID https://www.ibm.com/support/knowledgecenter/sspk3v_7.0.0/com.ibm.swg.im.soliddb.sql.doc/figure/referentialconstraint.gif 16
Ξένο κλειδί (παράδειγμα ακεραιότητας αναφορών) Δεν μπορεί να εισαχθεί εγγραφή στον πίνακα «ΚΛΗΣΕΙΣ» που να μην αντιστοιχεί σε συνδρομητή. Ο αριθμός 6987654327 δεν υπάρχει στον πίνακα των συνδρομητών Ακεραιότητα αναφορών (referential integrity) μεταξύ πεδίων: κάθε τιμή ενός πεδίου θα πρέπει να υπάρχει ως τιμή σε πεδίο ενός άλλου πίνακα 17
Μοντέλο οντοτήτων συσχετίσεων (Entity- Relations Model) Μοντέλο οντοτήτων συσχετίσεων (E-R model) είναι ένα μοντέλο που περιγράφει με αφηρημένο τρόπο τα δεδομένα ενός προβλήματος αλλά είναι σε θέση να οδηγήσει στην υλοποίηση μιας σχεσιακής ΒΔ Ένα E-R μοντέλο μπορεί να περιέχει: Σχέσεις 1 προς 1 Σχέσεις ένα προς πολλά Σχέσεις πολλά προς πολλά Εργαλεία σχεδιασμού μοντέλων E-R MySQL workbench Draw.io yed Graph Editor 18
Σχέση ένα προς ένα (1:1) Μια σχέση ένα προς ένα από τον πίνακα Α στον πίνακα Β σημαίνει ότι: για κάθε εγγραφή του πίνακα Α μπορεί να υπάρχει μία και μόνο μια σχετική εγγραφή στον πίνακα Β. Για κάθε εγγραφή του πίνακα Β ομοίως μπορεί να υπάρχει μια μόνο σχετική εγγραφή στον πίνακα Α Δημιουργείται προσθέτοντας το πρωτεύον κλειδί κάθε πίνακα ως ξένο κλειδί στο σχετιζόμενο πίνακα Η σχέση 1:1 χρησιμοποιείται σπάνια Παράδειγμα: Σχέση ανάμεσα σε υπαλλήλους και γραφεία. Για κάθε υπάλληλο υπάρχει ένα μοναδικό γραφείο και για κάθε γραφείο υπάρχει ένας μοναδικός υπάλληλος PK FK1 Υπάλληλος Κωδικός Όνομα Τηλέφωνο Διεύθυνση Τμήμα Τίτλος Σχέση ένα προς ένα από τον πίνακα Υπάλληλος προς τον πίνακα Γραφείο PK FK1 Γραφείο Αριθμός Γραφείου Κτίριο Όροφος Κωδικός 19
Σχέση ένα προς πολλά (1:Ν) Μια σχέση ένα προς πολλά από τον πίνακα Α στον πίνακα Β σημαίνει ότι: μια εγγραφή του πίνακα Α μπορεί να έχει πολλές σχετιζόμενες εγγραφές στον πίνακα Β και κάθε εγγραφή του πίνακα Β σχετίζεται με μια μόνο εγγραφή του πίνακα Α Δημιουργείται προσθέτοντας το πρωτεύον κλειδί του πίνακα Α ως ξένο κλειδί στον πίνακα Β Η σχέση 1:Ν είναι η πλέον συνηθισμένη Παράδειγμα: Σχέση ανάμεσα σε τμήματα και υπαλλήλους. Κάθε τμήμα έχει πολλούς υπαλλήλους. Κάθε υπάλληλος ανήκει σε ένα τμήμα PK Τμήμα Σχέση ένα προς πολλά από τον πίνακα Τμήμα προς τον πίνακα Υπάλληλος Τίτλος Περιγραφή Έδρα PK FK1 Υπάλληλος Κωδικός Όνομα Τηλέφωνο Διεύθυνση Τμήμα Τίτλος 20
Σχέση πολλά προς πολλά (Μ:Ν) Μια σχέση πολλά προς πολλά από τον πίνακα Α στον πίνακα Β σημαίνει ότι: Μια εγγραφή του πίνακα Α μπορεί να έχει πολλές σχετιζόμενες εγγραφές στον πίνακα Β και μια εγγραφή του πίνακα Β μπορεί να έχει πολλές σχετιζόμενες εγγραφές στον πίνακα Α Οι σχέσεις πολλά προς πολλά δεν μπορούν να μεταφραστούν απευθείας σε πίνακες αλλά θα πρέπει να μετατραπούν σε δύο ή περισσότερες σχέσεις ένα προς πολλά χρησιμοποιώντας ενδιάμεσους πίνακες συσχέτισης Παράδειγμα: Σχέση ανάμεσα σε υπαλλήλους και εργολαβίες. Ένας υπάλληλος μπορεί να συμμετάσχει σε πολλές εργολαβίες. Μία εργολαβία μπορεί να έχει πολλούς υπαλλήλους PK Εργολαβία Κωδικός Πελάτης Έναρξη Κόστος Σχέση πολλά προς πολλά από τον πίνακα Υπάλληλος προς τον πίνακα Εργολαβία. Σπάει σε 2 επιμέρους σχέσεις 1 προς πολλά προς ένα ενδιάμεσο πίνακα συσχέτισης PK FK1 Υπάλληλος_Εργολαβία PK,FK1 PK,FK2 Υπάλληλος Κωδικός Αριθμός Μητρώου Αριθμός Μητρώου Όνομα Τηλέφωνο Διεύθυνση Τμήμα Τίτλος 21
Κανονικοποίηση (normalization) Κανονικοποίηση είναι η τεχνική που χρησιμοποιείται στο σχεδιασμό σχεσιακών ΒΔ προκειμένου να δημιουργηθούν πίνακες χωρίς πλεονασμό δεδομένων Η κανονικοποίηση χρησιμοποιεί την έννοια της συναρτησιακής εξάρτησης των πεδίων των πινάκων Συναρτησιακή εξάρτηση του πεδίου Υ από το πεδίο Χ σημαίνει ότι οι τιμές του πεδίου Χ καθορίζουν τις τιμές που θα λαμβάνει το πεδίο Υ σε όλες τις εγγραφές του πίνακα (συμβολίζεται X Y) Αν το πεδίο Χ είναι πρωτεύον κλειδί τότε όλα τα υπόλοιπα πεδία του πίνακα πρέπει να είναι συναρτησιακά εξαρτώμενα από το πεδίο Χ 22
Παράδειγμα κανονικοποίησης Πρόβλημα: Μια εταιρεία (company) λαμβάνει εξαρτήματα (parts) από έναν αριθμό προμηθευτών (suppliers). Κάθε προμηθευτής εδρεύει σε μια πόλη. Κάθε πόλη μπορεί να έχει περισσότερους από ένα προμηθευτές κάθε πόλη έχει έναν κωδικό κατάστασης (status). Κάθε προμηθευτής μπορεί να παρέχει πολλά εξαρτήματα. Η επιχείρηση αποφασίζει να αποθηκεύσει τα δεδομένα σε ένα απλό πίνακα FIRST με πεδία FIRST(s#, status, city, p#, qty) όπου: s# Κωδικός του προμηθευτή city Πόλη στην οποία βρίσκεται ο προμηθευτής p# Κωδικός του εξαρτήματος που προμηθεύεται qty Αριθμός από προϊόντα τα οποία έχουν προμηθευτεί μέχρι σήμερα Τα πεδία (s#,p#) αποτελούν από κοινού το πρωτεύον κλειδί δηλαδή δεν μπορούν να υπάρχουν 2 εγγραφές με ίδιες τιμές και στα 2 αυτά πεδία 23
Πλεονασμός (redundancy) Η ίδια πληροφορία επαναλαμβάνεται σε περισσότερα από ένα σημεία στη ΒΔ Η πληροφορία για την πόλη του κάθε προμηθευτή και την κατάσταση της πόλης του προμηθευτή επαναλαμβάνονται για κάθε εξάρτημα που προμηθευόμαστε Όταν υπάρχει πλεονασμός μπορεί να υπάρξει και ασυνέπεια στα δεδομένα Ο πλεονασμός οδηγεί σε ανωμαλίες εισαγωγής, διαγραφής και ενημέρωσης: ΕΙΣΑΓΩΓΗΣ. Ένας νέος προμηθευτής δεν μπορεί να προστεθεί μέχρι να προμηθεύσει ένα εξάρτημα ΔΙΑΓΡΑΦΗΣ. Αν διαγράψουμε μια εγγραφή χάνονται και οι πληροφορίες για τον προμηθευτή ΕΝΗΜΕΡΩΣΗΣ. Αν ο προμηθευτής s1 μεταφερθεί από το Λονδίνο στην Νέα Υόρκη τότε θα πρέπει να ενημερωθούν 6 γραμμές 24
Πρώτη κανονική μορφή (1NF) Για να είναι ένας πίνακας σε 1NF κάθε στήλη (πεδίο) για κάθε εγγραφή θα πρέπει να έχει μια μόνο ατομική τιμή Στο παράδειγμα ο πίνακας First για να μην ήταν σε 1NF θα έπρεπε σε ένα πεδίο του να ήταν μαζί κωδικοποιημένες περισσότερες από μια πληροφορίες π.χ. 20 OK σε μια εγγραφή και 20 NOT OK σε μια άλλη Ο πίνακας FIRST είναι σε 1NF 25
Δεύτερη κανονική μορφή (2NF) Ένας σχεσιακός πίνακας είναι σε 2NF αν είναι σε 1NF και κάθε στήλη που δεν είναι κλειδί εξαρτάται πλήρως από το πρωτεύον κλειδί στο σύνολό του Ο πίνακας FIRST δεν είναι σε 2NF διότι τα πεδία status και city είναι συναρτησιακά εξαρτώμενα από το τμήμα s# του σύνθετου πρωτεύοντος κλειδιού (s#,p#) s# city, status Για να είναι η ΒΔ σε 2NF δημιουργείται νέος πίνακας για κάθε πεδίο του κλειδιού από το οποίο εξαρτώνται άλλα πεδία Ο πίνακας SECOND έχει ως πρωτεύον κλειδί το s# που είναι πλέον και ξένο κλειδί στον πίνακα PARTS 26
Τρίτη κανονική μορφή (3NF) Ένας πίνακας είναι σε 3NF αν είναι ήδη σε 2NF και κάθε πεδίο που δεν είναι κλειδί εξαρτάται μόνο από το πρωτεύον κλειδί Στον πίνακα SECOND υπάρχει η συναρτησιακή εξάρτηση: SECOND.city SECOND.status Για να είναι η ΒΔ σε 3NF δημιουργείται νέος πίνακας για κάθε πεδίο Χ (εκτός πρωτεύοντος κλειδιού) από το οποίο εξαρτώνται άλλα πεδία Ο πίνακας SECOND σπάει στους πίνακες SUPPLIER_CITY και CITY_STATUS Ο CITY_STATUS έχει ως πρωτεύον κλειδί το city Ο SUPPLIER_CITY έχει ως ξένο κλειδί το city 27
Πλεονεκτήματα της 3NF Δεν υπάρχει πλεονάζουσα πληροφορία Κέρδος σε χωρητικότητα SUPPLIER_CITY PK s# FK1 city CITY_STATUS PK city status PARTS PK,FK1 s# PK p# qty Εισαγωγή: Το γεγονός ότι η πόλη Rome έχει κατάσταση 50 μπορεί να προστεθεί χωρίς να υπάρχει προμηθευτής από τη συγκεκριμένη πόλη Διαγραφή: Οι εγγραφές σχετικά με τα εξαρτήματα για τα οποία έχει γίνει προμήθεια μπορούν να διαγραφούν χωρίς να χαθεί η πληροφορία για τον προμηθευτή ή την πόλη. Ενημέρωση: Η αλλαγή της πόλης ενός προμηθευτή ή της κατάστασης μιας πόλης απαιτεί την ενημέρωση μόνο μιας γραμμής 28
Η γλώσσα SQL SQL = (Structured Query Language). Δημιουργήθηκε από την εταιρεία ΙΒΜ το 1975 και είναι εξαιρετικά δημοφιλής Είναι μια κοινή γλώσσα ερωτημάτων (queries) για την προσπέλαση και την τροποποίηση των δεδομένων σε σχεσιακές ΒΔ Μερικές εντολές της SQL είναι οι: insert, update, delete, select Η SQL έχει διάφορες διαλέκτους οι οποίες έχουν προτυποποιηθεί: SQL-86, SQL-89, SQL-92, SQL-99, SQL-2003, SQL-2006, SQL-2008, SQL-2011 29
Απλές εντολές SQL Programmes SELECT * FROM Programmes WHERE Duration<20 OR Genre='Nature'; SELECT * FROM Programmes WHERE Genre='Entertainment' AND Channel='BBC3'; 07, Dick and Dom, 05, Wild Brazil, 03, The Voice, 30
Εντολές SQL με σύνδεση (join) πινάκων inner join Επιστροφή όλων των υπαλλήλων που ανήκουν σε κάποιο τμήμα και όλων των τμημάτων που έχουν υπαλλήλους http://www.developingthefuture.net/types-of-joins-in-sql/ 31
Τα χαρακτηριστικά ACID των σχεσιακών ΒΔ Δοσοληψία ή συναλλαγή (transaction) είναι μια σειρά λειτουργιών που εκτελείται ως μια λογική μονάδα εργασίας που είτε θα εκτελεστεί στο σύνολό της είτε δεν θα πραγματοποιηθεί καμία από τις επιμέρους λειτουργίες της Μια δοσοληψία μπορεί να οριστικοποιηθεί (commit) ή να ανακληθεί (rollback) Atomicity (ατομικότητα): Μια δοσοληψία γίνεται είτε στο σύνολό της είτε καθόλου Consistency (συνέπεια): Κάθε δοσοληψία μεταφέρει τη ΒΔ από μια συνεπή κατάσταση σε άλλη συνεπή επίσης κατάσταση Isolation (απομόνωση): Οι άλλες λειτουργίες δεν μπορούν να προσπελάσουν αλλαγές στα δεδομένα δοσοληψιών που δεν έχουν ολοκληρωθεί Durability (ανθεκτικότητα): Η ΒΔ μπορεί να ανακάμψει σε περίπτωση αστοχιών υλικού 32
ETL Εξαγωγή-μετασχηματισμός-φόρτωση ETL = Extract-Transform-Load Λήψη δεδομένων από διάφορες πηγές, προ-επεξεργασία και αποθήκευση σε μορφή που να μπορεί να αναλυθεί περαιτέρω από εργαλεία οπτικοποίησης (visualization) και ανάλυσης (analytics) Εξαγωγή Extract Μετασχηματισμός Transform Φόρτωση Load Λήψη δεδομένων από διάφορες πηγές Καθαρισμός επεξεργασία των δεδομένων Διατήρηση των δεδομένων σε μορφή που να μπορεί εύκολα να ανακληθεί 33
Αποθήκες δεδομένων (Data warehouses) Η αποθήκη δεδομένων είναι ένα κεντρικό αποθετήριο δεδομένων που περιλαμβάνει πληροφορίες αντλούμενες από πολλές πηγές οι οποίες χρησιμοποιούνται για ανάλυση, επιχειρηματική ευφυία και στρατηγικό σχεδιασμό Η αποθήκη δεδομένων συμπληρώνει τα δεδομένα της μέσω διαδικασιών ETL 34
Συστήματα Φωνητικής Αλληλεπιδραστικής Απόκρισης (IVR) Η φωνητική αλληλεπιδραστική απόκριση (Interactive Voice Response) είναι η τεχνολογία η οποία διευκολύνει την πρόσβαση στη ΒΔ μέσω σημάτων που μεταδίδονται από το τηλέφωνο για την ανάκληση και την εισαγωγή δεδομένων Εξέλιξη των IVR είναι τα συστήματα κατανόησης φυσικής γλώσσας https://www.voicebox.com/ Amazon Alexa Apple ios Siri Google now Microsoft Cortana 35