ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Κωνσταντίνος Ταραµπάνης Καθηγητής γρ. 307 891-578 kat@uom.gr
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΤΟ ΕΝ ΙΑΦΕΡΟΝ ΓΙΑ ΤΙΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ η επεξεργασία µε τη χρήση των βάσεων δεδοµένων υπήρξε πάντα ένα σηµαντικό αντικείµενο στον τοµέα των πληροφοριακών συστηµάτων. µε την ανάπτυξη του ιαδικτύου η σηµασία των βάσεων δεδοµένων ενισχύθηκε ιδιαίτερα. δυναµικό και όχι στατικό το περιεχόµενο του ιαδικτύου και προτυποποιείται ο τρόπος παροχής αυτών των δεδοµένων. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 2
ΓΙΑΤΙ ΧΡΕΙΑΖΕΤΑΙ ΈΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ παρακολούθηση πραγµάτων που ενδιαφέρουν. αρχικά χρήση απλών λιστών στον η/υ προβλήµατα στο παράδειγµα που ακολουθεί µια επιχείρηση Lakeside Equipment παρακολουθεί τις ενοικιάσεις του εξοπλισµού της που γίνονται από διάφορες εργολαβικές επιχειρήσεις οι οποίες χρησιµοποιούν τον εξοπλισµό αυτό στα έργα που εκτελούν. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 3
ΠΡΟΒΛΗΜΑΤΑ ΣΤΗ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΛΙΣΤΕΣ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 4
ΠΡΟΒΛΗΜΑΤΑ ΣΤΗ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΛΙΣΤΕΣ αλλαγή αριθµού τηλεφώνου της K.H. Services αλλαγές σε τέσσερις γραµµές. κίνδυνος ασυνεπών δεδοµένων (inconsistent data) και δεν θα γνωρίζουµε ποια είναι τα σωστά στοιχεία. σε µεγάλη λίστα µια διαδικασία και χρονοβόρα αλλά και επιρρεπής στα σφάλµατα. η τιµή ενοικίασης του εξοπλισµού backhoe διαφέρει µεταξύ δύο εργολαβικών επιχειρήσεων πρόβληµα ασυνεπώνδεδοµένων ή επιχειρηµατική πρακτική ; η RB Partnership αποφασίζει να µην ενοικιάσει τελικά τον εξοπλισµό backhoe διαγραφή τελευταίας γραµµής, όµως διαγράφονται και άλλες πληροφορίες 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 5
ΠΡΟΒΛΗΜΑΤΑ ΣΤΗ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΛΙΣΤΕΣ αποθήκευση στοιχείων σχετικά µε µια εργολαβική επιχείρησηηοποίαόµως δεν έχει ακόµη ενοικιάσει εξοπλισµό από την εταιρεία µας έλλειψη ηµεροµηνίας λήξης στην ενοικίαση του εξοπλισµού scaffolding σφάλµα ή σηµαίνει ότι δεν έχει λήξει η ενοικίαση του εν λόγω εξοπλισµού. κοινή χρήση δεδοµένων (sharing) αλλά επιλεκτικά 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 6
ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ οι λίστες περιέχουν δεδοµένα σχετικά µε διαφορετικά θέµατα. στην διαχείριση δεδοµένων επιδιώκεται η οµαδοποίηση δεδοµένων ενός και µόνον θέµατος πράγµα µάλιστα που διασφαλίζεται µε µια διαδικασία που ονοµάζεται «κανονικοποίηση» (normalization). στο παράδειγµα της προηγούµενης ενότητας πόσα θέµατα συνυπάρχουνστηνίδιαλίστα; η απάντηση είναι τέσσερα καθώς η λίστα περιέχει στοιχεία για «ΕΡΓΟΛΑΒΟΥΣ», «ΕΞΟΠΛΙΣΜΟ», «ΕΝΟΙΚΙΑΣΕΙΣ» και «ΕΡΓΑ» στα οποία εργάζονται οι εργολαβικές επιχειρήσεις. κατάτµηση της µιαςλίσταςσεεπιµέρους λίστες µε έναθέµα «πίνακες» κατά την ορολογία των βάσεων δεδοµένων. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 7
ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 8
ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 9
ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ επιλύονται πολλά από τα προηγούµενα προβλήµατα. πώς ; επίσης το πρόβληµα της ασυνέπειας των δεδοµένων που οφείλεται στην εσφαλµένη εισαγωγή δεδοµένων µπορεί να αντιµετωπισθεί µε την υποχρέωση του χρήστη να επιλέξει από προκαθορισµένες επιλογές (π.χ. εργολαβική επιχείρηση από τον αντίστοιχο πίνακα). το πρόβληµα της επιλεκτικής πρόσβασης σε ορισµένα στοιχεία, για παράδειγµα, σε αυτά που βρίσκονται στον ίδιο πίνακα. σε ποιο πίνακα θα οµαδοποιηθεί το στοιχείο της τιµής ενοικίασης εξοπλισµού. Τρεις περιπτώσεις : η τιµή ενοικίασης του εξοπλισµού είναι η ίδια. η τιµή ενοικίασης συµφωνείται για κάθε έργο στο οποίο η εργολαβική επιχείρηση θα χρησιµοποιήσει τον εξοπλισµό. η τιµή ενοικίασης του εξοπλισµού εξαρτάται από την εργολαβική επιχείρηση που τον ενοικιάζει. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 10
ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ η κατάτµηση της µιας λίστας σε επιµέρους πίνακες δεν δείχνει όµως τις σχέσεις που υπάρχουν µεταξύ των δεδοµένων ένας τρόπος συσχέτισης των δεδοµένων µεταξύ των πινάκων. σε κάθε γραµµή του κάθε πίνακα δόθηκε µια αυθαίρετη αλλά µοναδική τιµή µε τοόνοµα ID. αυτό το στοιχείο µπορεί να µην έχει νόηµα για τους χρήστες αλλά έχει ως στόχο να δώσει µια µοναδική ταυτότητα σε κάθε γραµµή του κάθε πίνακα. ένα τέτοιο στοιχείο µπορεί να χρησιµοποιηθεί για να συσχετίσει δεδοµένα των πινάκων µεταξύ τους. το στοιχείο αυτό µε µοναδικές τιµές λέγεται κλειδί στην ορολογία των βάσεων δεδοµένων. η χρήση του κλειδιού για την συσχέτιση πινάκων ονοµάζεται ξένο κλειδί. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 11
ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 12
ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ η πληροφορία της αρχικής λίστας υπάρχει κατανεµηµένη στους επιµέρους πίνακες, είναι δυνατόν να παραχθεί ολόκληρη η αρχική λίστα από τους επιµέρους πίνακες και αν ναι πως ; το παραπάνω µπορεί να γίνει µε τη βοήθεια της γλώσσας προγραµµατισµού SQL (see-quel) ηοποία χρησιµοποιείται γενικά για την διαχείριση πινάκων στις βάσεις δεδοµένων. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 13
ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΜΕ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 14
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 15
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 16
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; οχρήστης(user) οι χρήστες χρησιµοποιούν τα συστήµατα βάσεων δεδοµένων για να επιτελέσουν την εργασία τους. εισάγουν νέα στοιχεία (create), αλλάζουν τα υπάρχοντα στοιχεία (update), διαγράφουν στοιχεία (delete), διαβάζουν στοιχεία (read) (λειτουργίες CRUD). 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 17
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; η εφαρµογή της βάσης δεδοµένων (database application) αποτελείται από ένα ή περισσότερα προγράµµατα ηλεκτρονικού υπολογιστή. η εφαρµογή βάσης δεδοµένων δρα ως ενδιάµεσος µεταξύ του χρήστη και του λεγόµενου «συστήµατος διαχείρισης βάσεων δεδοµένων - Σ Β» (database management system - DBMS). το Σ Β είναι ένα άλλο σύνολο προγραµµάτων ηλεκτρονικού υπολογιστή που επεξεργάζονται την βάση δεδοµένων. ηεφαρµογή : α. δηµιουργεί και επεξεργάζεται φόρµες (forms) β. δηµιουργεί και αποστέλλει ερωτήµατα (queries) γ. δηµιουργεί και επεξεργάζεται αναφορές (reports) δ. εκτελεί την λογική της εφαρµογής (application logic) ε. ελέγχει την εφαρµογή 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 18
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; στο πλαίσιο του α. για παράδειγµα στην περίπτωση µιας εφαρµογής βάσης δεδοµένων στον Παγκόσµιο Ιστό, η εφαρµογή της βάσης δεδοµένων παράγει τις απαραίτητες εντολές HTML και τα άλλα που απαιτούνται για την δηµιουργία των φορµών στον ηλεκτρονικό υπολογιστή του χρήστη. Όταν ο χρήστης συµπληρώσει τη φόρµα και αποστείλει τα δεδοµένα, η εφαρµογή θα καθορίσει ποιοι πίνακες της βάσης δεδοµένων πρέπει να αλλαχθούν και αποστέλλει αιτήµατα σε SQL στο Σ Β για να γίνουν οι απαραίτητες ενέργειες στο πλαίσιο του β. ηεφαρµογή συνθέτει το ερώτηµα σεsql και το αποστέλλει στο Σ Β. Όταν έχει γίνει η επεξεργασία του ερωτήµατος τα αποτελέσµατα µορφοποιούνται και αποστέλλονται στον χρήστη. το γ. είναι όµοιο µε τοβ. ηεφαρµογή υποβάλλει το ερώτηµα στο Σ Β και στην συνέχεια εµφανίζει την απάντηση στην µορφή της αναφοράς 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 19
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; στο πλαίσιο του δ. εκτελούνται οι απαιτήσεις που έχουν οι χρήστες γενικότερα από την εφαρµογή. Για παράδειγµα, σε µια εφαρµογή βάσης δεδοµένων µε παραγγελίες τι θα γίνει στην περίπτωση παραγγελίας είδους σε ποσότητα µεγαλύτερη από την διαθέσιµη ποσότητα του είδους στα αποθέµατα. Μιααπάντησηθαήταννααποσταλείηποσότηταπουείναιδιαθέσιµη, να µείνει το υπόλοιπο σε εκκρεµότητα ώσπου να υπάρξει απόθεµα και να γίνει ανάλογη παραγγελία στον προµηθευτή µας. Η απάντηση αυτή ή οποιαδήποτε άλλη είναι η επιχειρηµατική πρακτική της επιχείρησης πρέπει να υλοποιηθεί στην εφαρµογή της βάσης δεδοµένων (application logic) τέλος στο πλαίσιο του ε. τα προγράµµατα εφαρµογών ελέγχουν την όλη εφαρµογή. Αυτό γίνεται τόσο µε τις επιλογές που δίδονται στον χρήστη (π.χ. µενού, δηλαδή περιορίζεται από τις επιλογές αυτές στην χρήση της βάσης δεδοµένων), όσο και µε την αλληλουχία των εντολών που δίδει η εφαρµογή στο Σ Β 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 20
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; περιληπτικά, ηεφαρµογή παράγει φόρµες, αναφορές και ερωτήµατα, στέλνει και λαµβάνει δεδοµένα από και προς τον χρήστη και µετασχηµατίζει τις ενέργειες του χρήστη σε αιτήµατα διαχείρισης δεδοµένων από µέρους του Σ Β 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 21
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; Το σύστηµα διαχείρισης βάσης δεδοµένων Σ Β (database management system DBMS) ο σκοπός του Σ Β είναι να λαµβάνει αιτήµατα από τις εφαρµογές της βάσης δεδοµένων και να τις µετασχηµατίζει σε εντολές ανάγνωσης και εγγραφής στα αρχεία της βάσης δεδοµένων. στις περισσότερες περιπτώσεις, το Σ Β λαµβάνει εντολές SQL και τις µετασχηµατίζει σε εντολές του λειτουργικού συστήµατος για ανάγνωση ή εγγραφή στα αρχεία της βάσης δεδοµένων. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 22
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; Ενώ τα προγράµµατα εφαρµογών γράφονται από την επιχείρηση που θα χρησιµοποιήσει την εφαρµογή ή από κάποια άλλη επιχείρηση που θα υλοποιήσει την εφαρµογή για λογαριασµό της επιχείρησης-χρήστη, το Σ Β πάντα χρησιµοποιείται ως ένα τελικό εµπορικό προϊόν µε την αγορά αδειών χρήσης. Τέτοια εµπορικά προϊόντα είναι το Σ Β Oracle της εταιρείας Oracle Corporation, το Σ Β DB2 της εταιρείας IBM, τα Σ Β Access και SQL Server της εταιρείας Microsoft. Υπάρχουν δεκάδες άλλα προϊόντα Σ Β αλλά τα τέσσερα αυτά έχουν την µερίδα του λέοντος. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 23
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; Ειδικότερα, το Σ Β εκτελεί τις παρακάτω εργασίες: δηµιουργεί την βάση δεδοµένων, δηµιουργεί τους πίνακες (tables), δηµιουργεί υποστηρικτικές δοµές της βάσης δεδοµένων (π.χ. δείκτης index), διαβάζει δεδοµένα της βάσης δεδοµένων, ενηµερώνει τα δεδοµένα της βάσης δεδοµένων, συντηρεί τις υποστηρικτικές δοµές της βάσης δεδοµένων (π.χ. αλλαγή στην δοµήενόςπίνακα), επιβάλλει κανόνες (π.χ. η τιµή του ξένου κλειδιού πρέπει να αντιστοιχεί σε υπάρχουσα τιµή του κλειδιού, κανόνας ακεραιότητας αναφοράς referential integrity constraint), ρυθµίζει την σύγχρονη πρόσβαση στη βάση δεδοµένων (concurrency control) έτσι ώστε οι ενέργειες ενός χρήστη να µην παρεµβαίνουν ανορθόδοξα στις ενέργειες ενός άλλου, 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 24
ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ; Ειδικότερα, το Σ Β εκτελεί τις παρακάτω εργασίες: υλοποιεί ρυθµίσεις ασφαλείας έτσι ώστε να διασφαλίζεται ότι εξουσιοδοτηµένοι χρήστες εκτελούν εξουσιοδοτηµένες λειτουργίες πάνω στην βάση δεδοµένων (π.χ. πρόσβαση σε τµήµα της βάσης δεδοµένων, περιορισµούς στις αλλαγές που µπορούν να γίνουν), υλοποιεί τη δηµιουργία αντιγράφων (backup) της βάσης δεδοµένων και την ανάκτηση της από αντίγραφα (recovery) στις περιπτώσεις λαθών, προβληµάτων εξοπλισµού ή φυσικών καταστροφών. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 25
ΟΡΙΣΜΟΙ ΚΑΙ ΣΤΟΙΧΕΙΑ ΤΗΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ βάση δεδοµένων είναι µια αυτό-περιγραφόµενη συλλογή σχετιζόµενων εγγραφών. για σχεσιακές βάσεις δεδοµένων, που είναι οι περισσότερες βάσεις δεδοµένων σήµερα και αυτές µε τις οποίες θα ασχοληθούµε στο µάθηµα, ο παραπάνω ορισµός µπορεί να µεταβληθεί ως εξής: βάση δεδοµένων είναι µια αυτό-περιγραφόµενη συλλογή σχετιζόµενων πινάκων. «αυτό-περιγραφόµενη» η δοµή της βάσης δεδοµένων περιέχεται στην ίδια την βάση δεδοµένων. Με αυτό τον τρόπο δεν χρειάζεται να γίνει ανίχνευση αλλού για να ανακτηθούν τα περιεχόµενα της βάσης δεδοµένων. «µεταδεδοµένα». τα δεδοµένα που περιγράφουν την δοµήτηςβάσηςδεδοµένων παραδείγµατα µεταδεδοµένων τα ονόµατα των πινάκων, τα ονόµατα των στηλών και των πινάκων στους οποίους ανήκουν οι στήλες, ιδιότητες των πινάκων και των στηλών, κλπ. αποθηκεύονται και πάλι σε πίνακες της βάσης δεδοµένων. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 26
ΟΡΙΣΜΟΙ ΚΑΙ ΣΤΟΙΧΕΙΑ ΤΗΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ ηβάσηδεδοµένων περιέχει : δεδοµένα που ενδιαφέρουν τους χρήστες µεταδεδοµένα δείκτες και σχετιζόµενες δοµές κώδικα υπό τύπο «αποθηκευµένων συναρτήσεων» (stored procedures) Αποθηκευµένη συνάρτηση είναι ένα πρόγραµµα που αποθηκεύεται στην βάση δεδοµένων. Μια αποθηκευµένη συνάρτηση µπορεί για παράδειγµα να υλοποιεί προγράµµατα γενικής ωφέλειας για τη βάση δεδοµένων (π.χ. δηµιουργία αντιγράφου και στην συνέχεια διαγραφή παλαιών στοιχείων της βάσης δεδοµένων). Επίσης οι αποθηκευµένες συναρτήσεις υλοποιούν την λογική της εφαρµογής (application logic) (π.χ. την αντιµετώπιση περιπτώσεων νέων παραγγελιών λόγω έλλειψης αποθέµατος back orders). 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 27
ΟΡΙΣΜΟΙ ΚΑΙ ΣΤΟΙΧΕΙΑ ΤΗΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ ηβάσηδεδοµένων περιέχει : κώδικα υπό τύπο «σκανδάλης» (triggers) Σκανδάλη είναι κώδικας που εκτελείται όταν λαµβάνει χώρα κάποια ενέργεια πάνω στα δεδοµένα, π.χ. εισαγωγή νέων στοιχείων. Παράδειγµα αποτελεί η περίπτωση ελέγχου του υπολοίπου οφειλής ενός πελάτη πριν την αποδοχή νέας παραγγελίας από µέρους του. Τόσο οι αποθηκευµένες συναρτήσεις όσο και ο κώδικάς σκανδάλης υλοποιούνται σε ειδική γλώσσα προγραµµατισµού του Σ Β (π.χ. PL/SQL της Oracle) ή σε γλώσσες προγραµµατισµού γενικής χρήσης (π.χ. Java). µεταδεδοµένα της εφαρµογής Τα µεταδεδοµένα της εφαρµογής αφορούν δεδοµένα που περιγράφουν στοιχεία της εφαρµογής όπως οι φόρµες και οι αναφορές. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 28
ΟΡΙΣΜΟΙ ΚΑΙ ΣΤΟΙΧΕΙΑ ΤΗΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 29
ΟΡΙΣΜΟΙ ΚΑΙ ΣΤΟΙΧΕΙΑ ΤΗΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 30
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Παράδειγµα Β 1 Προσωπική Επιχείρηση Βαφής Οικιών Αυτοαπασχολούµενος Επιχειρηµατίας Βάση εδοµένων ενός χρήστη 3 Πίνακες (Customers, Jobs, Source) Πληροφοριακές Ανάγκες: Παρακολούθηση πελατών, έργων και συστάσεων Παρακολούθηση προσφορών Παρακολούθηση συστάσεων Παραγωγή ετικεττών αλληλογραφίας 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 31
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Mary Richards Tables SOURCE CUSTOMER JOB 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 32
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Database Example 1 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 33
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Database Example 1 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 34
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Παράδειγµα Β 2 Επιχείρηση Ενοικίασης Μουσικών Οργάνων Βάση εδοµένων πολλών χρηστών σε δίκτυο - Multi-User database on LAN 3 Πίνακες - Tables (Customers, Instruments, Rentals) Πληροφοριακές Ανάγκες: Παρακολούθηση ενοικιάσεων µουσικών οργάνων Χειρισµός θεµάτων πολλών χρηστών - multi-user issues 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 35
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Treble Clef Form 1 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 36
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Treble Clef Form 2 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 37
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Treble Clef Form 3 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 38
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Παράδειγµα Β 3 Νοµαρχιακή ιεύθυνση Οχηµάτων - State Licensing & Vehicle Registration Bureau 52 Κέντρα, 37 Γραφεία, Εκατοντάδες χρήστες 40 Πίνακες - Tables Πληροφοριακές Ανάγκες: Παρακολούθηση θεµάτων αδειών οδήγησης - Track drivers licensing issues traffic violations, accidents, arrests, limitations Παρακολούθηση θεµάτων ταξινόµησης αυτοκινήτων - Track auto registration issues revenue, law enforcement Ολοκλήρωση αναγκών πολλών τµηµάτων 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 39
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 40
ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 41
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; Η διαδικασία ανάπτυξης ενός συστήµατος βάσης δεδοµένων είναι ουσιαστικά η ίδια µε αυτήν για την ανάπτυξη οποιουδήποτε άλλου πληροφοριακού συστήµατος. Η διαδικασία αυτή διακρίνεται σε τρεις φάσεις: απαιτήσεις (requirements), σχεδιασµός (design), και υλοποίηση (implementation). Οι τρεις αυτές φάσεις αφορούν τόσο τη βάση δεδοµένων αυτή καθεαυτή όσο και την εφαρµογή της βάσης δεδοµένων καθώς και τα δύο αποτελούν στοιχεία αυτού που ονοµάζουµε «σύστηµα βάσεων δεδοµένων». Στα παρακάτω η ανάλυση αφορά το µέρος της ανάπτυξης της βάσης δεδοµένων. Το µέρος της ανάπτυξης της εφαρµογής της βάσης δεδοµένων θα εξετασθεί στις ενότητες της SQL καθώς και των αποθηκευµένων συναρτήσεων και των σκανδάλων. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 42
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 43
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; Φάση απαιτήσεων κατασκευάζεται ένα µοντέλο δεδοµένων, επίσης το µοντέλο δεδοµένων είναι µια λογική αναπαράσταση της δοµής της βάσης δεδοµένων. Η µοντελοποίηση δεδοµένων είναι πολύ σηµαντική διότι τόσο ο σχεδιασµός της βάσης δεδοµένων όσο και όλες οι δοµές της εξαρτώνται από το µοντέλο δεδοµένων. Λόγω της σηµασίας της µοντελοποίησης δεδοµένων αφιερώνονται ειδικά µαθήµατα για το θέµα αυτό. παράδειγµαδιαγράµµατος µοντέλου δεδοµένων. διάγραµµα οντοτήτων-σχέσεων (entity-relationship diagram), που αποτελεί ένα τρόπο αναπαράστασης µοντέλου δεδοµένων και έχει γίνει πρότυπο για το αντικείµενο αυτό. καθορίζεται ο τύπος των δεδοµένων, το µέγεθός τους, καθώς και κανόνες και περιορισµοί που ισχύουν για τα δεδοµένα. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 44
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 45
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; Φάση απαιτήσεων ορίζονται επίσης τα χαρακτηριστικά των δεδοµένων, όπως ο τύπος τους, το µέγιστο µέγεθός τους, αν πρέπει να έχουν πάντα τιµές, κλπ. επιπλέον, πρέπει να ορισθούν τυχόν περιορισµοί που ισχύουν για τις τιµές των δεδοµένων (π.χ. τιµήαπόµια καθορισµένη λίστα τιµών), καθώς και κανόνες που ισχύουν για την επεξεργασία των δεδοµένων. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 46
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; Φάση σχεδιασµού κατά την φάση του σχεδιασµού, το µοντέλο δεδοµένων µετασχηµατίζεται σε πίνακες και σχέσεις. για την απεικόνιση των πινάκων και των σχέσεων χρησιµοποιείται ένα νέος τύπος διαγράµµατος, το λεγόµενο «διάγραµµα δοµής δεδοµένων» (data structure diagram). παράδειγµα ενός τέτοιου διαγράµµατος φαίνεται στο σχήµα που ακολουθεί. ορίζονται οι δείκτες (index) της βάσης δεδοµένων. σχεδιάζεται ο τρόπος µε τον οποίο θα επιβληθούν οι περιορισµοί της βάσης δεδοµένων, σχεδιάζεται ο κώδικας των αποθηκευµένων συναρτήσεων και των σκανδάλων. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 47
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 48
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; Φάση υλοποίησης δηµιουργούνταιοιπίνακεςκαιοισχέσεις. υπάρχουν δύο συνηθισµένοι τρόποι για την δηµιουργία πινάκων: µέσω της SQL ή µε τη χρήση ενός γραφικού σχεδιαστικού εργαλείου. στο παρακάτω σχήµα φαίνονται και οι δύο τρόποι. τα περισσότερα Σ Β επιτρέπουν την χρήση και των δύο µεθόδων. γράφονται και δοκιµάζονται τα προγράµµατα των αποθηκευµένων συναρτήσεων και των σκανδάλων. καταχωρούνται δεδοµένα στη βάση και γίνονται δοκιµές στο σύστηµα. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 49
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 50
ΠΩΣ ΑΝΑΠΤΥΣΣΕΤΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ; 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 51
ΠΩΣ ΕΞΕΛΙΧΘΗΚΕ Η ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΗ ΧΡΗΣΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 52
ΠΩΣ ΕΞΕΛΙΧΘΗΚΕ Η ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΗ ΧΡΗΣΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ έως τα µέσα περίπου της δεκαετίας του 60 για όλα τα δεδοµένα που ήταν αποθηκευµένα σε ηλεκτρονικό υπολογιστή χρησιµοποιούνταν µαγνητική ταινία. επειδή η επεξεργασία στην µαγνητική ταινία µπορούσε να γίνει µόνο σειριακά, τα δεδοµένα αποθηκευόταν µε τη δοµήλίστας ο όρος που χρησιµοποιείτο ήταν «σειριακά αρχεία» (sequential files). 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 53
ΠΩΣ ΕΞΕΛΙΧΘΗΚΕ Η ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΗ ΧΡΗΣΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ µετά τα µέσα της δεκαετίας του 60, µε την επιτυχία της αποθήκευσης σε δίσκο, έγινε εφικτή η µη σειριακήήαλλιώςηάµεσηπρόσβασησεεγγραφές. έτσι, σχεδιάσθηκαν µοντέλα βάσεων δεδοµένων που εκµεταλλεύθηκαν την άµεση πρόσβαση (direct access) σε αρχεία. δύο ανταγωνιστικά µοντέλα αναπτύχθηκαν και χρησιµοποιήθηκαν µε επιτυχία. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 54
ΠΩΣ ΕΞΕΛΙΧΘΗΚΕ Η ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΗ ΧΡΗΣΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Τα πρώτα µοντέλα βάσεων δεδοµένων ύο ανταγωνιστικά µοντέλα αναπτύχθηκαν και χρησιµοποιήθηκαν µε επιτυχία. Η IBM ανέπτυξε το µοντέλο DL/I ή αλλιώς το Data Language One, µοντελοποιούσε τα δεδοµένα της βάσης στην µορφή ιεραρχίας ή αλλιώς µε την µορφή δένδρου. η απεικόνιση αυτή ήταν κατάλληλη για ορισµένες περιπτώσεις (π.χ. bill of materials), αλλά όµως δεν ήταν γενικής χρήσης. Έτσι, ηαπεικόνισηµη ιεραρχικών δεδοµένων ήταν δύσκολη. Στην συνέχεια η οµάδα CODASYL, η οποία ανέπτυξε το πρότυπο για την γλώσσα προγραµµατισµού COBOL, ανέπτυξε στη δεκαετία του 70 το µοντέλο DBTG (Data Base Task Group Model). Το µοντέλο αυτό µπορούσε να αναπαριστά τόσο ιεραρχίες όσο και γενικά δίκτυα. εν υιοθετήθηκε όµως ως πρότυπο λόγω της πολυπλοκότητάς του. Απετέλεσε όµως τη βάση για πολλά εµπορικά Σ Β της δεκαετίας του 70 και του 80. Ειδικότερα, το προϊόν της εταιρείας Cullinane το λεγόµενο IDMS ήταν το περισσότερο επιτυχηµένο. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 55
ΠΩΣ ΕΞΕΛΙΧΘΗΚΕ Η ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΗ ΧΡΗΣΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Το σχεσιακό µοντέλο απεικονίζει δεδοµένα υπό µορφή πινάκων και σχέσεων προτάθηκε για πρώτη φορά από τον E.F. Codd το 1970 ενώ εργαζόταν στην IBM. µετά από δέκα χρόνια έρευνας αναπτύχθηκαν Σ Β τα οποία βασιζόταν στο σχεσιακό µοντέλο. Το περισσότερο γνωστό από αυτά ήταν το προϊόν DB2, ένα Σ Β που χρησιµοποιείται ακόµη και σήµερα. Επίσης, και άλλες εταιρείες, όπως η Oracle, η Ingres, η Sybase, και η Informix, ανέπτυξαν προϊόντα Σ Β βασισµένα στο σχεσιακό µοντέλο. Το προϊόν SQL Server αναπτύχθηκε από την εταιρεία Sybase και πωλήθηκε στην Microsoft στα τέλη της δεκαετίας του 80. Σήµερα τα προϊόντα DB2, Oracle, και SQL Server είναι τα σηµαντικότερα εµπορικά Σ Β. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 56
ΠΩΣ ΕΞΕΛΙΧΘΗΚΕ Η ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΗ ΧΡΗΣΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Σ Β για προσωπικούς υπολογιστές Με την ανάπτυξη του µικροϋπολογιστή έγινε δυνατή η χρήση προσωπικών βάσεων δεδοµένων. Έτσι αναπτύχθηκαν και Σ Β για προσωπικούς υπολογιστές. Επιτυχηµένα παραδείγµατα τέτοιων Σ Β αποτέλεσαν το προϊόν dbase της εταιρείας Ashton-Tate, το προϊόν R:base της εταιρείας Microrim και το προϊόν Paradox της εταιρείας Borland. Ηυπολογιστικήδύναµη των προσωπικών υπολογιστών έδωσε την δυνατότητα ανάπτυξης γραφικών διεπαφών για τον χρήστη. Μάλιστα από την επίδραση αυτών των προϊόντων µεταβλήθηκαν και οι διεπαφές των Σ Β των µεγαλύτερων υπολογιστών αποµακρυνόµενες από το να βασίζονται σε εισαγωγή χαρακτήρων (character-based) και οδηγούµενες προς την κατεύθυνση των γραφικών διεπαφών. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 57
ΠΩΣ ΕΞΕΛΙΧΘΗΚΕ Η ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΗ ΧΡΗΣΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Αντικειµενοστραφή Σ Β (Object Oriented DBMS- OODBMS) Οαντικειµενοστραφής προγραµµατισµός άρχισε να χρησιµοποιείται στα µέσα της δεκαετίας του 80 και οδήγησε και στην ανάπτυξη αντικειµενοστραφών Σ Β. Ο στόχος αυτών των προϊόντων ήταν να δίδεται η δυνατότητα αποθήκευσης αντικειµένων του αντικειµενοστραφούς προγραµµατισµού σε µια βάση δεδοµένων χωρίς να χρειάζεται να µετασχηµατισθούν σε σχεσιακή µορφή. Μέχρι σήµερατααντικειµενοστραφή Σ Β δεν σηµείωσαν εµπορική επιτυχία. Το υψηλό κόστος µετάπτωσης των εν χρήσει βάσεων δεδοµένων και πληροφοριακών συστηµάτων από σχεσιακά Σ Β σε αντικειµενοστραφή έχει εµποδίσει την ευρεία τους χρήση. Έχει όµως αρχίσει η ανάπτυξη υβριδικών, αντικειµενοστραφών και σχεσιακών Σ Β, όπως τα προϊόντα Oracle 8i και 9i. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 58
ΠΩΣ ΕΞΕΛΙΧΘΗΚΕ Η ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΗ ΧΡΗΣΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Η πρόσφατη ιστορία των βάσεων δεδοµένων το 1991 η εταιρεία Microsoft κυκλοφόρησε στην αγορά το Σ Β Access και εκτόπισε όλα τα άλλα προϊόντα προσωπικών Σ Β. ησηµασία των βάσεων δεδοµένων έχει ενισχυθεί µε την παροχή δυναµικών δεδοµένων στο ιαδίκτυο. τέλος πολύ πρόσφατα γίνεται χρήση της γλώσσας XML στη τεχνολογία των βάσεων δεδοµένων για την επίλυση προβληµάτων της τελευταίας. 2003-2004 Βάσεις εδοµένων - Μάθηµα 1 59