Εισαγωγή στις Βάσεις Δεδομένων
Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά προσέγγισης βάσεων δεδομένων Εμπλεκόμενοι φορείς Πλεονεκτήματα χρήσης ενός DBMS Πότε ΔΕΝ συνίσταται η χρήση ενός DBMS
Τι είναι μια Βάση Δεδομένων; Δεδομένα αντικείμενα που 1) επιδέχονται ψηφιοποίησης (άρα και καταγραφής) και 2) έχουν αυτονόητη εξήγηση Βάση δεδομένων (Database) Μια συλλογή από συσχετιζόμενα δεδομένα με σαφή και συγκεκριμένο νόημα τα οποία Αντιπροσωπεύουν ένα μέρος του πραγματικού κόσμου έχουν αυταπόδεικτη υφή απευθύνονται σε συγκεκριμένους τελικούς αποδέκτες
Τι είναι ένα σύστημα διαχείρισης Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων (DBMS) Μια συλλογή προγραμμάτων για την δημιουργία και την διαχείριση των βάσεων δεδομένων (αποτελεί συνήθως ένα ολοκληρωμένο πακέτο λογισμικού). Μέσω του DBMS υπάρχει η δυνατότητα: Ορισμού μιας Βάσης: τύπος δεδομένων, δομή, περιορισμοί Δημιουργίας μιας Βάσης: αποθήκευση δεδομένων Χειρισμού μιας Βάσης: δομημένα ερωτήματα, ενημερώσεις, αναφορά Παράλληλης χρήσης της βάσης: από πολλά προγράμματα και χρήστες ταυτόχρονα Προστασίας της Βάσης Δεδομένων Σύστημα Βάσης Δεδομένων (Database System) ηβάση+ ένα DBMS (σχήμα)
Σύστημα Βάσης Δεδομένων Χρήστες/Προγραμματιστές Εφαρμογές / Δομημένα Ερωτήματα(Queries) DBMS Λογισμικό για την επεξεργασία των ερωτημάτων Λογισμικό για πρόσβαση στα δεδομένα Ορισμοί Βάσεων (Meta-Data) Αποθηκευμένες Βάσεις Σχήμα 1. Ένα απλουστευμένο περιβάλλον Συστήματος Βάσης Δεδομένων
Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά File-Processing Το υποσύστημα διαχείρισης αρχείων βασίζεται στην διαχείριση αρχείων του εκάστοτε λειτουργικού συστήματος Περιορισμοί Ευλυγισία στη δομή δεδομένων Απώλεια αποθηκευτικού χώρου Συνέπεια δεδομένων Χρήση από μια διεργασία μόνο Ασφάλεια
Χαρακτηριστικά προσέγγισης βάσεων δεδομένων Αυτοπροσδιοριζόμενα δεδομένα Δομημένη αποθήκευση ορισμού και περιγραφής της δομής της βάσης του τύπου των δεδομένων των λογικών περιορισμών των δεδομένων Πολλαπλές όψεις των δεδομένων Διαφορετικές προοπτικές της ίδιας βάσης Κάθε φορά ένα παρουσιάζεται ένα υποσύνολο των αποθηκευμένων δεδομένων
Εμπλεκόμενοι φορείς Database Administrators (DBA) Έλεγχος πρόσβασης Ασφάλεια, security, backup, data/storage structure performance monitoring, schema updates Σχεδιαστές Βάσης (Database Designers) Προσδιορίζουν τα δεδομένα που θα αποθηκευτούν Σχεδιάζουν την δομή που αντιπροσωπεύουν τα data Μηχανικοί Λογισμικού-Προγραμματιστές Αναλυτές συστημάτων Αναλύουν τις απαιτήσεις ενός χρήστη και δημιουργούν το σχήμα μιας βάσης Προγραμματιστές Απλοί χρήστες που χρησιμοποιούν την γλώσσα υψηλού επιπέδου SQL για διαχείριση των δεδομένων
Πλεονεκτήματα ενός DBMS Διαχείριση Πλεονασμού (Redundancy Control) Ασφάλεια: Έλεγχος Πρόσβασης Μόνιμη Αποθήκευση Δεδομένων Πολλαπλά User Interfaces Περιγραφή σχέσεων Έλεγχος ακεραιότητας δεδομένων Αυτοματοποιημένα αντίγραφα ασφαλείας
Πότε ΔΕΝ συνίσταται η χρήση ενός DBMS Επιβαρυντικό κόστος χρήσης ενός DBMS Υψηλό αρχικό κόστος επένδυσης: software, hardware, εκπαίδευση Πότε ενδείκνυται η χρήση αρχείων Απλές εφαρμογές χειρισμού δεδομένων Ύπαρξη στατικής πληροφορίας (μη δυναμικής) Δεν απαιτείται χρήση από δύο ταυτόχρονους χρήστες
Σκοπός των συστημάτων βάσεων δεδομένων Ο σκοπός ενός ΣΔΒΔ (σύστημα διαχείρισης βάσεων δεδομένων) είναι να παράσχει ένα περιβάλλον που είναι και βολικό και αποδοτικό για την αποθήκευση των πληροφοριών στη βάση δεδομένων ανάκτηση των πληροφοριών από τη βάση δεδομένων
Προβλήματα που υπάρχουν με την κλασσική προσέγγιση επεξεργασίας αρχείων: 1. Πλεονασμός και ασυνέπεια δεδομένων 2. Δυσκολία στην πρόσβαση των δεδομένων θα πρέπει να γραφτεί ένα νέο πρόγραμμα εφαρμογής για να ικανοποιηθεί ένα ασυνήθιστο αίτημα. 3. Απομόνωση δεδομένων δεδομένα σε διαφορετικά αρχεία. δεδομένα με διαφορετικά format. 3. Πολλαπλοί χρήστες χρειάζεται ταυτοχρονισμός για μικρότερο χρόνο απόκρισης. χρειάζεται προστασία για τις ταυτόχρονες ενημερώσεις. 4. Προβλήματα ασφάλειας κάθε χρήστης του συστήματος πρέπει να είναι σε θέση να έχει πρόσβαση μόνο στα δεδομένα που επιτρέπεται να δει. πολύ δύσκολά να επιτευχθεί αυτός ο στόχος με ένα πρόγραμμα εφαρμογής. 5. Προβλήματα ακεραιότητας τα δεδομένα θα πρέπει να ικανοποιούν κάποιους περιορισμούς. Π.χ. κανένα υπόλοιπο λογαριασμού κάτω από 1.000.
Αφαιρετική άποψη δεδομένων Ο σημαντικότερος σκοπός ενός συστήματος βάσεων δεδομένων είναι να παράσχει στους χρήστες μια αφαιρετική άποψη του συστήματος. Το σύστημα κρύβει ορισμένες λεπτομέρειες για το πώς τα δεδομένα αποθηκεύονται και διατηρούνται Η πολυπλοκότητα πρέπει να κρυφτεί από τους χρήστες βάσεων δεδομένων. Γι' αυτό το σκοπό υπάρχουν διάφορα επίπεδα αφαίρεσης: (α) φυσικό επίπεδο: είναι το χαμηλότερο επίπεδο αφαίρεσης. περιγράφει πώς αποθηκεύονται τα δεδομένα. Π.χ. δείκτες, β-δέντρα, αποκερματισμός. εδώ περιγράφονται λεπτομερώς όλες οι σύνθετες δομές χαμηλού επιπέδου. (β) εννοιολογικό επίπεδο: το αμέσως υψηλότερο επίπεδο αφαίρεσης. περιγράφει τι είδους δεδομένα αποθηκεύονται. περιγράφει τις συσχετίσεις μεταξύ αυτών των δεδομένων. (γ) Επίπεδο άποψης: το πιο υψηλό επίπεδο. περιγράφει τμήματα της βάσης δεδομένων για κάθε συγκεκριμένη ομάδα χρηστών. μπορεί να είναι πολλές διαφορετικές απόψεις μιας βάσης δεδομένων. Π.χ. οι ταμίες σε μια τράπεζα παίρνουν μια άποψη των απολογισμών πελατών, αλλά όχι των δεδομένων μισθοδοτικών καταστάσεων.
Ανεξαρτησία και Εξάρτηση δεδομένων Η ανεξαρτησία δεδομένων μειώνει τη σύνδεση μεταξύ: της πραγματικής οργάνωσης των δεδομένων και το πώς οι χρήστες και τα προγράμματα εφαρμογών επεξεργάζονται τα δεδομένα (ή "βλέπουν" τα δεδομένα) Γιατί; Τα δεδομένα πρέπει να είναι σε θέση να αλλάξουν χωρίς απαίτηση μιας αντίστοιχης αλλαγής των προγραμμάτων εφαρμογών. Διαφορετικές εφαρμογές και διαφορετικοί χρήστες χρειάζονται διαφορετικές "απόψεις" των ίδιων δεδομένων.
Ανεξαρτησία και Εξάρτηση δεδομένων Ακόμη και μια μικρή αλλαγή της δομής δεδομένων, π.χ. η δημιουργία ή η αλλαγή ενός πεδίου σε μια δομή εγγραφών, συνήθως απαιτεί και επιπλέον αλλαγές σε πολλά προγράμματα ή ρουτίνες. Τα προγράμματα είναι εξαρτώμενα από το ότι: τα δεδομένα βρίσκονται σε ένα συγκεκριμένο μέσο αποθήκευσης. τα δεδομένα έχουν ένα συγκεκριμένο format αποθήκευσης (δυαδικό, συμπιεσμένο) τα πεδία έχουν κωδικοποιηθεί σύμφωνα με ορισμένους κανόνες (άνδρας = 1, γυναίκα = 2) τα αρχεία εγγραφών ταξινομούνται κατά συγκεκριμένο τρόπο κ.λπ.....
Ανεξαρτησία δεδομένων - πώς; Με την εισαγωγή μιας πολλαπλού-επιπέδου αρχιτεκτονικής όπου κάθε επίπεδο αντιπροσωπεύει ένα επίπεδο αφαίρεσης. Αρχιτεκτονική τριών-σχημάτων: Το 1978 πρωτοπαρουσιάστηκε η ακόλουθη "τυποποιημένη" αρχιτεκτονική (αρχιτεκτονική ANSI/SPARC) για τις βάσεις δεδομένων. Αποτελείται από 3 επίπεδα: 1. Εσωτερικό επίπεδο 2. Εννοιολογικό επίπεδο 3. Εξωτερικό επίπεδο Κάθε επίπεδο εισάγει ένα στρώμα αφαίρεσης και έχει ένα σχήμα που περιγράφει πώς οι αναπαραστάσεις των δομών δεδομένων πρέπει να αντιστοιχηθούν στο επόμενο χαμηλότερο επίπεδο αφαίρεσης.
Εσωτερικό σχήμα Περιγράφει τις δομές αποθήκευσης και τα μονοπάτια πρόσβασης προς τη φυσική βάση δεδομένων. Επίπεδο αφαίρεσης: αρχεία, αρχεία δεικτών κ.λπ. Καθορίζεται συνήθως μέσω της γλώσσας ορισμού δεδομένων (DDL) του ΣΔΒΔ (συστήματος διαχείρισης βάσεων δεδομένων)
Εννοιολογικό σχήμα Μια αφηρημένη περιγραφή της φυσικής βάσης δεδομένων. Αποτελεί ένα κοινό, για όλους τους χρήστες, βασικό μοντέλο της λογικής περιγραφής της βάσης δεδομένων. Αυτό το επίπεδο αφαίρεσης αντιστοιχεί "στον πραγματικό κόσμο": π.χ. αντικείμενα, χαρακτηριστικά αντικειμένων, συσχετίσεις μεταξύ των αντικειμένων κ.λπ. Το σχήμα δημιουργείται με τη γλώσσα ορισμού δεδομένων σύμφωνα με ένα συγκεκριμένο μοντέλο δεδομένων.
Εξωτερικά σχήματα ή απόψεις Μία τυπική βάση δεδομένων έχει διάφορους χρήστες με ποικίλες ανάγκες, απαιτήσεις, προνόμια πρόσβασης κ.λπ. Τα εξωτερικά σχήματα περιγράφουν τις διαφορετικές απόψεις της εννοιολογικής βάσης δεδομένων σε σχέση με αυτά τα δεδομένα που οι διαφορετικές ομάδες χρηστών θα ήθελαν ή έχουν την άδεια να δουν. Μερικά ΣΔΒΔ έχουν δικιά τους γλώσσα για τους ορισμούς των απόψεων (αλλιώς χρησιμοποιείται η γλώσσα DDL).
Ανεξαρτησία Δεδομένων στην αρχιτεκτονική τριών σχημάτων Η δυνατότητα να τροποποιηθεί ένα σχήμα της βάσης σε ένα επίπεδο χωρίς επιρροή ενός σχήματος σε ένα πιο υψηλό επίπεδο καλείται ανεξαρτησία δεδομένων. 1. Λογική ανεξαρτησία δεδομένων η δυνατότητα να τροποποιηθεί το εννοιολογικό σχήμα (π.χ. προσθήκη ή αλλαγή ενός πεδίου) χωρίς να αναγκάσει τα προγράμματα εφαρμογών να ξαναγραφούν οι τροποποιήσεις σε αυτό το επίπεδο γίνονται συνήθως όταν αλλάζει η λογική δομή της βάσης δεδομένων. 2. Φυσική ανεξαρτησία δεδομένων η δυνατότητα να τροποποιηθεί το φυσικό σχήμα (η φυσική οργάνωση της βάσης π.χ. με προσθήκη ενός μονοπατιού προσπέλασης -access path- που συνήθως ορίζεται σε ένα πεδίο του αρχείου που λέγεται πεδίο ευρετηριοποίησης -indexing field-) χωρίς να αναγκάσει τα προγράμματα εφαρμογών να ξαναγραφούν τροποποιήσεις γίνονται συνήθως για να βελτιωθεί η απόδοση. Η λογική ανεξαρτησία δεδομένων είναι πιο δύσκολο να επιτύχει