Βάσεις Δεδομένων Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ) Database Management Systems (DBMS) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com
Περιεχόμενα 1. Παραδοσιακές και νέες εφαρμογές ΒΔ 2. Ορισμός ΒΔ και ΣΔΒΔ, παραδείγματα 3. Χαρακτηριστικά ΒΔ σε σύγκριση με επεξεργασία αρχείων 4. Εργαζόμενοι με ΒΔ και ΣΔΒΔ 5. Πλεονεκτήματα χρήσης ΣΔΒΔ 6. Πότε δεν πρέπει να χρησιμοποιείται ΣΔΒΔ / μειονεκτήματα 7. Συγγενικά αντικείμενα: Εξόρυξη Δεδομένων, Ανάκτηση Πληροφοριών 8. Κοινωνικές επιπτώσεις Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 2
Εφαρμογές Βάσεων Δεδομένων Παραδοσιακές εφαρμογές Τράπεζες, κρατήσεις ξενοδοχείου/ταξιδιού, κατάλογος βιβλιοθήκης, web-shop, supermarket Νέες εφαρμογές Οι περισσότερες αποθηκευμένες πληροφορίες είναι κείμενο ή αριθμοί. ΒΔ πολυμέσων (εικόνες, video, ήχος) Γεωγραφικά πληροφοριακά συστήματα (χάρτες, καιρός) ΒΔ πραγματικού χρόνου, χρονο-σειρών (οικονομικά δεδομένα) Ενεργές ΒΔ (έλεγχος βιομηχανικών & παραγωγικών διαδικασιών) Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 3
Οργάνωση αρχείων vs. οργάνωση βάσης δεδομένων 4
Βάση Δεδομένων Αναπαριστά κάποια άποψη του πραγματικού κόσμου (μικρόκοσμος), πχ. τμήμα ΗΜΜΥ Αλλαγές στο μικρόκοσμο αντανακλώνται στη ΒΔ Λογικά συνεκτική συλλογή δεδομένων κάποιας εγγενής σημασίας Μια τυχαία διευθέτηση δεδομένων δεν είναι ΒΔ Σχεδιάζεται, χτίζεται, και γεμίζει με δεδομένα, για κάποιο συγκεκριμένο σκοπό Προορίζεται για συγκεκριμένες ομάδες χρηστών (πχ. Καθηγητές, Γραμματεία, κλπ) και προκαθορισμένες εφαρμογές (πχ. Βαθμολόγιο). Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 5
Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ) Μία συλλογή προγραμμάτων που επιτρέπουν δημιουργία και συντήρηση μιας ΒΔ δλδ, είναι γενικής χρήσης σύστημα λογισμικού Διευκολύνει τον ορισμό, κατασκευή, χειρισμό, και διαμοιρασμό ΒΔ, για διάφορες εφαρμογές πχ. MySQL, Oracle, Microsoft Access, κ.α. Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 6
Ένα απλουστευμένο Σύστημα ΒΔ Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 7
Τα νοητικά επίπεδα της υλοποίησης μιας βάσης δεδομένων 8
Παράδειγμα ΒΔ: Πανεπιστήμιο Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 9
Χαρακτηριστικά των ΒΔ Σε σύγκριση με την οργάνωση/επεξεργασία αρχείων, οι ΒΔ προσφέρουν: Αυτο-περιγραφική φύση κατάλογος με μετα-δεδομένα Απομόνωση προγραμμάτων από δεδομένα, αφαίρεση δεδομένων Πολλαπλές όψεις δεδομένων / Παραγόμενα δεδομένα Κοινή χρήση δεδομένων και επεξεργασία δοσοληψιών από πολλούς χρήστες Έλεγχος ταυτόχρονης προσπέλασης Δοσοληψίες (απομόνωση, ατομικότητα) Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 10
Εργαζόμενοι με ΒΔ - προσκήνιο Διαχειριστές Σχεδιαστές Διαχείριση λογισμικού ΣΔΒΔ και απαραίτητου υλικού Εξουσιοδότηση προσπέλασης, ασφάλεια Υπεύθυνοι για την απόδοση του συστήματος Επικοινωνία με του χρήστες, κατανόηση των απαιτήσεων, σχεδιασμός ΒΔ, δημιουργία όψεων για διαφορετικές ομάδες χρηστών Τελικοί χρήστες Περιστασιακοί, απλοϊκοί, εξειδικευμένοι, μεμονωμένοι Εισαγωγή στοιχείων, ενημέρωση, ανάκτηση Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 11
Εργαζόμενοι με ΒΔ - παρασκήνιο Σχεδιαστές και κατασκευαστές των ΣΔΒΔ Υλοποίηση καταλόγου, γλώσσας επερωτήσεων, επεξεργαστών διεπαφής, προσπέλασης δεδομένων, ασφάλειας Επικοινωνία του ΣΔΒΔ με λειτουργικό και μεταγλωττιστές Κατασκευαστές (προαιρετικών) εργαλείων Πακέτα διευκόλυνσης σχεδιασμού και χρήσης ΒΔ, παρακολούθησης απόδοσης, διεπαφές φυσικής γλώσσας ή γραφικών, κ.α. Χειριστές και προσωπικό συντήρησης λειτουργία και συντήρηση του περιβάλλοντος υλικού & λογισμικού Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 12
Πλεονεκτήματα χρήσης ΣΔΒΔ (1/6) Έλεγχος των πλεονασμών Μείωση μόχθου, χώρου, ασυμβατότητας Περιορισμός μη-εξουσιοδοτημένης προσπέλασης Μόνιμες δομές δεδομένων & αντικείμενα προγραμμάτων Αποτελεσματική επεξεργασία επερωτήσεων Ευρετήρια, ενδιάμεση μνήμη, βελτιστοποίηση Παροχή μηχανισμών εφεδρικών αντιγραφών και ανάκαμψης Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 13
Πλεονεκτήματα χρήσης ΣΔΒΔ (2/6) Πολλαπλές διεπαφές (interfaces) χρηστών Γλώσσες επερωτήσεων, πχ SQL Φόρμες και κωδικούς εντολών Διεπαφές μενού / GUI (πχ phpmyadmin) Διεπαφές φυσικής γλώσσας Διεπαφές γλωσσών προγραμματισμού C++, php (για εφαρμογές Web) Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 14
Πλεονεκτήματα χρήσης ΣΔΒΔ (3/6) Παράσταση πολύπλοκων συσχετίσεων μεταξύ των δεδομένων Επιβολή περιορισμών ορθότητας Τύπων δεδομένων (πχ INT, CHAR, κλπ) Συσχετίσεων πχ κάθε Διδασκαλία πρέπει να σχετίζεται με ένα Μάθημα Μοναδικότητα τιμών πχ αριθμός μητρώου Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 15
Πλεονεκτήματα χρήσης ΣΔΒΔ (4/6) Συμπερασμός με χρήση κανόνων Πχ, προσδιορισμός προαγωγής φοιτητή Δραστηριότητες με χρήση κανόνων Ενεργές ΒΣ: ενεργούς κανόνες που ενεργοποιούν αυτόματα ενέργειες όταν συμβούν κάποια γεγονότα και συνθήκες Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 16
Πλεονεκτήματα χρήσης ΣΔΒΔ (5/6) Επιβολή τυποποίησης σε μεγάλους οργανισμούς Μείωση χρόνου ανάπτυξης εφαρμογών Η ανάπτυξη εκτιμάται μεταξύ 1/6 και 1/4 Ευελιξία / εύκολη αλλαγή δομής ΒΔ ανάλογα με νέες απαιτήσεις Νέα ομάδα χρηστών Νέο αρχείο Επέκταση αρχείου Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 17
Πλεονεκτήματα χρήσης ΣΔΒΔ (6/6) Διαθεσιμότητα ενημερωμένων πληροφοριών Η ενημέρωση από ένα χρήστη είναι αυτόματα διαθέσιμη σε όλους τους χρήστες Οικονομία κλίμακας Ενοποίηση δεδομένων και εφαρμογών, ελαττώνοντας άχρηστες επικαλύψεις Λιγότερο υλικό / εξοπλισμός Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 18
Πότε δεν πρέπει να χρησιμοποιούνται ΣΔΒΔ Η ΒΔ και εφαρμογές είναι απλές και καλά ορισμένες, και δεν αναμένεται να αλλάξουν Πιεστικές απαιτήσεις λειτουργίας σε πραγματικό χρόνο Δεν απαιτείται προσπέλαση πολλών χρηστών Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 19
Συγγενικό Αντικείμενο: Εξόρυξη Δεδομένων (Data Mining) Ο τομέας της επιστήμης υπολογιστών που ασχολείται με την ανακάλυψη προτύπων σε συλλογές δεδομένων Αποθήκη δεδομένων: Μια στατική συλλογή δεδομένων απ όπου θα γίνει η εξόρυξη Σημαντικό εργαλείο σε: Μάρκετινγκ, διαχείριση αποθήκης, έλεγχο ποιότητας, εντοπισμό απάτης, κ.α. Είδαμε κάποιες τεχνικές στο μάθημα Ανάκτηση Πληροφοριών και Εξόρυξη Δεδομένων (6ο εξ.) Classification & clustering (for text documents) Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 20
Συνηθισμένες Στρατηγικές Εξόρυξης Δεδομένων Περιγραφή κλάσεων (Classification) Ποιοι αγοράζουν μικρά οικονομικά οχήματα; Διάκριση κλάσεων (Classification) Αγορά μεταχειρισμένου vs καινούργιου αυτοκινήτου Ανάλυση συστάδων (Clustering, Cluster labeling) Δύο συστάδες θεατών μιας ταινίας: 4-10 και 25-40 ετών. Ανάλυση συσχετισμών Αγορά μπύρας -> Αγορά ξηρών καρπών Ανάλυση αποκλίσεων Υποκλοπή στοιχείων πιστωτικής κάρτας Σειριακή ανάλυση προτύπων Οικονομικά συστήματα, κλιματολογικές συνθήκες
Συγγενικό Αντικείμενο: Ανάκτηση Πληροφοριών είναι η εύρεση υλικού, κυρίως εγγράφων (documents) αδόμητης φύσης (unstructured) που συνήθως έχουν τη μορφή κειμένου (text), το οποίο ικανοποιεί μια ανάγκη πληροφόρησης (information need) από μεγάλες συλλογές (συνήθως αποθηκευμένες σε υπολογιστές)
Ανάκτηση Πληροφοριών vs Βάσεις Δεδομένων (1/4) Δομημένα δεδομένα συνήθως αναφέρονται σε δεδομένα σε Πίνακες ( tables ) Employee Manager Salary Smith Jones 50000 Chang Smith 60000 Ivy Smith 50000 Ερωτήματα: π.χ. Salary < 60000 AND Manager = Smith. 23
Ανάκτηση Πληροφοριών vs Βάσεις Δεδομένων (2/4) Ερώτημα SQL: SELECT όνομα FROM πλανήτες WHERE δορυφόροι < 3 κωδικός όνομα διάμετρος δορυφόροι 1 Ερμής 4880 0 2 Αφροδίτη 12103.6 0 3 Γη 12756.3 1 4 Αρης 6794 2 5 Δίας 142984 63 6 Κρόνος 120536 34 7 Ουρανός 51118 21 8 Ποσειδώνας 49532 13 9 Πλούτωνας 2274 3 Το ερώτημα είναι σαφές, προσδιορίζει επακριβώς τη συνθήκη που πρέπει να ικανοποιεί κάθε αποτέλεσμα που εμφανίζεται στην έξοδο.
Ανάκτηση Πληροφοριών vs Βάσεις Δεδομένων (3/4) Συλλογή εγγράφων d1 : Ο κομήτης του Χάλεϋ μας επισκέπτεται περίπου κάθε εβδομήντα έξι χρόνια. d2 : Ο κομήτης του Χάλεϋ πήρε το όνομά του από τον αστρονόμo Εντμοντ Χάλεϋ. d3 : Ενας κομήτης διαγράφει ελλειπτική τροχιά. d4 : Ο πλανήτης Αρης έχει δύο φυσικούς δορυφόρους, το Δείμο και το Φόβο. d5 : Ο πλανήτης Δίας έχει 63 γνωστούς φυσικούς δορυφόρους. d6 : Ενας κομήτης έχει μικρότερη διάμετρο από ότι ένας πλανήτης. d7 : Ο Αρης είναι ένας πλανήτης του ηλιακού μας συστήματος. Πληροφοριακή ανάγκη: πληροφορίες για τον κομήτη του Χάλεϋ Ερώτημα: Χάλεϋ Διαισθητικά αντιλαμβανόμαστε ότι τα έγγραφα d1 και d2 σχετίζονται περισσότερο με το ερώτημα από ότι τα υπόλοιπα έγγραφα.
Ανάκτηση Πληροφοριών vs Βάσεις Δεδομένων (4/4) Χαρακτηριστικό ΣΔΒΔ ΣΑΠ είδος δεδομένων δομημένα αδόμητα, ημι-δομημένα τύπος δεδομένων αριθμητικά, αλφαριθμητικά έγγραφα (κειμένου) γλώσσα ερωτημάτων SQL φυσική γλώσσα, λέξεις κλειδιά (keywords) ερώτημα σαφές ασαφές αποτελέσματα χωρίς βαθμολόγηση βαθμολογημένα
Ημιδομημένα δεδομένα Στην πραγματικότητα, δεν υπάρχουν αμιγώς μη-δομημένα δεδομένα π.χ., αυτή η διαφάνεια έχει διακριτές ζώνες όπως Title και Bullets Web pages? «Ημιδομημένη» αναζήτηση όπως: Title contains data AND Bullets contain search και βέβαια υπάρχει πάντα η γλωσσική δομή 27
Αδόμητα (κείμενο) vs. Δομημένα (βάσεις δεδομένων) δεδομένα το 1996 28
Αδόμητα (κείμενο) vs. Δομημένα (βάσεις δεδομένων) δεδομένα το 2009 29
Κοινωνικές Επιπτώσεις της Τεχνολογίας των ΒΔ Προβλήματα Συλλέγονται μεγάλες ποσότητες προσωπικών δεδομένων Συχνά χωρίς τη γνώση ή τη ρητή αποδοχή των επηρεαζόμενων ανθρώπων Η συγχώνευση δεδομένων παράγει νέες, πιο διεισδυτικές πληροφορίες Τα σφάλματα διασπείρονται σε μεγάλο βαθμό και είναι δύσκολο να διορθωθούν Λύσεις Οι υπάρχουσες νομικές επανορθώσεις είναι συχνά δύσκολο να εφαρμοστούν Η αρνητική δημοσιότητα μπορεί να είναι πιο αποτελεσματική Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 30
Αναφορές Βιβλίο μαθήματος, Κεφάλαιο 1 Cristopher D. Manning, Prabhakar Raghavan and Hinrich Schutze. Εισαγωγή στην Ανάκτηση Πληροφοριών, Κεφ. 1. J. Glenn Brookshear, Η Επιστήμη των Υπολογιστών: Μια Ολοκληρωμένη Παρουσίαση (δέκατη αμερικανική έκδοση), Κεφ. 9. Βάσεις Δεδομένων Συστήματα Διαχείρησης Βάσεων Δεδομένων (ΣΔΒΔ) 31