Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016
Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων
2.1 Η Τρι-επίπεδη Αρχιτεκτονική ANSI-SPARC Ο τρόπος που αντιλαμβάνονται τα δεδομένα οι χρήστες ονομάζεται «Εξωτερικό Επίπεδο». Κάθε χρήστης μπορεί να βλέπει μέρος των δεδομένων με τον τρόπο που τον βολεύει. Το «Ιδεατό επίπεδο» περιλαμβάνει την αντιστοίχηση και την επιθυμητή ανεξαρτησία μεταξύ του Εξωτερικού και Εσωτερικού Επιπέδου. Αναπαριστά τη λογική δομή της Β.Δ. Ποιες πληροφορίες είναι αποθηκευμένες, πώς ονομάζονται, τι ιδιότητες έχουν κλπ. Ο τρόπος που το ΣΔΒΔ και το λειτουργικό σύστημα «αντιλαμβάνεται» τα δεδομένα είναι το «εσωτερικό επίπεδο» όπου είναι πραγματικά αποθηκευμένα τα δεδομένα. To εσωτερικό επίπεδο περιγράφει λεπτομερώς όσα αφορούν στην αποθήκευση των δεδομένων και τον τρόπο προσπέλασής τους.
2.1 Η Τρι-επίπεδη Αρχιτεκτονική ANSI-SPARC Σκοπός της τριεπίπεδης αρχιτεκτονικής είναι να διαχωρίσει τον τρόπο που οι χρήστες βλέπουν τα δεδομένα από τον τρόπο που η βάση Δεδομένων υλοποιείται φυσικά. Οι λόγοι που είναι χρήσιμος ένας τέτοιος διαχωρισμός είναι: Κάθε χρήστης μπορεί να βλέπει τα ίδια δεδομένα με τον δικό του προσωποποιημένο τρόπο Κάθε χρήστης μπορεί να αλλάζει τον τρόπο που βλέπει τα δεδομένα χωρίς να επηρεάζει τους υπόλοιπους χρήστες Οι χρήστες δε χρειάζεται να εμπλέκονται στον φυσικό τρόπο αποθήκευσης δεδομένων. Οι διαχειριστές της Β.Δ. θα πρέπει να μπορούν να αλλάξουν τις δομές αποθήκευσης της Βάσης χωρίς να επηρεάζουν τους χρήστες Η Εσωτερική δομή της Βάσης δε θα πρέπει να επηρεάζεται από φυσικούς παράγοντες όπως π.χ. η αλλαγή σε μια νέα συσκευή αποθήκευσης Οι διαχειριστές της Β.Δ. θα πρέπει να μπορούν να αλλάζουν την «ιδεατή» δομή της ΒΔ χωρίς να επηρεάζουν τους χρήστες
2.1 Η Τρι-επίπεδη Αρχιτεκτονική - Παράδειγμα
2.2 Εννοιολογική Αναπαράσταση Δεδομένων Κάποιος που ενδιαφέρεται για τη δημιουργία μιας Βάσης Δεδομένων πρέπει πρώτα να σχεδιάσει τη λογική δομή της (εννοιολογικό σχήμα conceptual level) Οντότητες Συσχετίσεις
Οντότητες Οντότητα (Entity): Κάθε αντικείμενο, πρόσωπο, γεγονός, κατάσταση ή αφηρημένη έννοια που προσδιορίζεται από την ανεξάρτητη ύπαρξή του. Είναι κάτι που υπάρχει, μπορούμε να το διακρίνουμε και ενδιαφερόμαστε να συλλέξουμε πληροφορίες για αυτό. Ιδιότητες (Attributes): Τα συστατικά στοιχεία ιδιότητες που περιγράφουν μια οντότητα και διαφοροποιούν τα «στιγμιότυπα» που ανήκουν στην οντότητα Πρωτεύον κλειδί: Η ιδιότητα ή ο συνδυασμός ιδιοτήτων που έχει μοναδική τιμή για κάθε στιγμιότυπο της οντότητας. Συσχετίσεις Συσχέτιση: Μια «Σχέση» «Σύνδεση» μεταξύ οντοτήτων που αναπαριστά μια αντίστοιχη σχέση στον πραγματικό κόσμο. Τελικά, στην ουσία, και οι συσχετίσεις είναι οντότητες.
Άσκηση 1 : Θέλουμε να σχεδιάσουμε μια Βάση Δεδομένων που να καλύπτει το τμήμα Διοίκησης Επιχειρήσεων του Τ.Ε.Ι. Ιονίων Νήσων. 1. Ποιες Οντότητες και ποιες συσχετίσεις διακρίνετε; 2. Για κάθε οντότητα και συσχέτιση καταγράψτε τις ιδιότητές της (attributes).
Οντότητες Συσχετίσεις Μοντέλα Δεδομένων Βάση Δεδομένων Έχοντας καταγράψει τις Οντότητες και τις Συσχετίσεις, χρειαζόμαστε ένα μοντέλο δεδομένων για να εκφράσουμε το Εννοιολογικό και το Εξωτερικό Επίπεδο (Σχήμα). Επικράτησαν τρία κυρίως Μοντέλα Δεδομένων : Ιεραρχικό Δικτυωτό Σχεσιακό
Ιεραρχικό Μοντέλο Σύμφωνα με αυτό το μοντέλο οι οντότητες τοποθετούνται σε επίπεδα. Από κάθε οντότητα μπορούν να ξεκινάνε πολλές διακλαδώσεις που καταλήγουν σε οντότητες χαμηλότερου επιπέδου. Κάθε οντότητα χαμηλότερου επιπέδου συνδέεται μόνο με μία ανώτερου επιπέδου. Μειονεκτήματα: Η ανεύρεση ενός στοιχείου απαιτεί σειριακή αναζήτηση Περιοριστική δομή για το σχεδιαστή της Βάσης Δεδομένων
Δικτυωτό Μοντέλο Αναπτύχθηκε αρχές δεκαετίας 70. Και σε αυτό το μοντέλο οι οντότητες τοποθετούνται σε επίπεδα αλλά κάθε οντότητα μπορεί να συνδέεται με πολλές τόσο κατώτερου όσο και ανώτερου επιπέδου. Οι συσχετίσεις γίνονται μέσω συνόλων. Κάθε σύνολο έχει όνομα και συσχετίζει μια εγγραφή ιδιοκτήτη με μία ή περισσότερες εγγραφές μέλη. ΠΑΡΑΔΕΙΓΜΑ: Το σύνολο «μαθητές που ανήκουν στην τάξη» συνδέει τον ιδιοκτήτη «ΤΑΞΗ» με τα μέλη «ΜΑΘΗΤΕΣ».
Σχεσιακό Μοντέλο Διατυπώθηκε το 1970 από το μαθηματικό Δρ. E.F.Codd. Θεωρείται το σημαντικότερο επίτευγμα στις Βάσεις Δεδομένων καθώς για πρώτη φορά τις περιέγραψε με αυστηρές μαθηματικές έννοιες. Πίνακες ή Σχέσεις Οντότητες Συσχετίσεις
Σχεσιακό Μοντέλο Κάθε κελί μπορεί να πάρει ένα σύνολο τιμών που καθορίζεται από τον τύπο (π.χ. Αριθμητικό, Κειμένου) του αντίστοιχου πεδίου) Χαρακτηριστικό (attribute) ή Πεδίο (Field) Πλειάδα (tuple) ή Εγγραφή (record) Πίνακας ή Σχέση
Σχεσιακή Θεωρία Βασικοί Κανόνες Κάθε Οντότητα αναπαριστάται σαν πίνακας. Τα πεδία (στήλες) του πίνακα αντιστοιχούν στις ιδιότητες (attributes) της οντότητας και οι γραμμές (εγγραφές) του πίνακα σε στιγμιότυπα της οντότητας. Κάθε γραμμή (εγγραφή) ενός πίνακα είναι μοναδική. Δεν πρέπει να υπάρχουν δύο εγγραφές με ίδια τιμή σε όλα τα πεδία. Η σειρά τον γραμμών δεν έχει σημασία. Κάθε στήλη (πεδίο) έχει μοναδικό όνομα και ίδιο τύπο τιμών για όλες τις εγγραφές. Η σειρά των στηλών δεν έχει σημασία. Το πεδίο (ή ο συνδυασμός πεδίων) που αποτελεί το πρωτεύον κλειδί δε μπορεί να έχει κενή τιμή. Κάθε συσχέτιση επίσης αναπαριστάται ως πίνακας.
Πλεονεκτήματα του Σχεσιακού Μοντέλου Εύκολος και κατανοητός τρόπος για την αναπαράσταση των δεδομένων. Ευκολία χρήσης τόσο για τους χρήστες όσο και για τους προγραμματιστές. Υστερεί σε θέματα αποδοτικότητας όπως ταχύτητα υπολογισμών, απαιτήσεις αποθηκευτικού χώρου ιδίως σε μεγάλες βάσεις αλλά υπερτερεί σε σαφήνεια και απλότητα
Σχεσιακά Συστήματα Διαχείρισης Βάσεων Δεδομένων (RDBMS) Αναπτύχθηκαν με βάση το σχεσιακό μοντέλο και από τη δεκαετία του 80 επικράτησαν πλήρως στην αγορά. Οι πίνακες είναι το μόνο απαραίτητο στοιχείο για την αναπαράσταση οποιασδήποτε πληροφορίας που περιέχεται σε ένα σχεσιακό μοντέλο. Ειδικές γλώσσες ερωταπαντήσεων (query languages) αναπτύχθηκαν για τη δημιουργία, ενημέρωση, διαγραφή και ανάκτηση στοιχείων από τους πίνακες. Η πιο γνωστή δημιουργήθηκε από την IBM και έγινε γρήγορα διεθνές πρότυπο: Η SQL (Structured Query Language) Η SQL μπορεί να χρησιμοποιηθεί αυτόνομα ή μέσα από κάποια άλλη γλώσσα προγραμματισμού Μια πιο «φιλική» εκδοχή της SQL (επίσης από την IBM) είναι το σύστημα QBE (Query by example) όπου οι ερωτήσεις δε γίνονται με εντολές αλλά μέσα από ένα γραφικό περιβάλλον.
Σχεσιακά Συστήματα Διαχείρισης Βάσεων Δεδομένων (RDBMS) «Μεγάλα» RDBMSs (Servers) Desktop RDBMS Κατάλληλα για μικρής κλίμακας έργα λίγων χρηστών. Παρέχουν πολλές δυνατότητες διαχείρισης δικαιωμάτων χρηστών Διαθέτουν εξελιγμένους μηχανισμούς ελέγχου για υποστήριξη ταυτόχρονος εργασίας πολλών χρηστών στη Β.Δ. Παρέχουν ολοκληρωμένο περιβάλλον ανάπτυξης τόσο της ΒΔ όσο και των εφαρμογών. Δεν απαιτούν μεγάλη υπολογιστική ισχύ. Μεγάλη ταχύτητα επεξεργασίας ακόμη και σύνθετων ερωτήσεων Τα περισσότερα ακολουθούν αρχιτεκτονική Client Server. Διαθέτουν πολλές εφαρμογές διαχείρισης και προστασίας δεδομένων.
Άσκηση 2 : Καταγράψτε τους πίνακες που προκύπτουν από τις οντότητες και τις συσχετίσεις της Άσκησης 1. Για κάθε πίνακα περιγράψτε τα πεδία και τους τύπους τους καθώς και τυχόν περιορισμούς που πρέπει να ακολουθούν οι τιμές τους. Αναφέρετε το πρωτεύον κλειδί κάθε πίνακα και τυχόν δευτερεύοντα κλειδιά.
Πηγές: Database Systems: A Practical Approach to Design, Implementation, and Management Thomas Connolly Carolyn Begg Βάσεις Δεδομένων, ΤΕΕ Β Τάξη, 1 ος Κύκλος, Ινστιτούτο Τεχνολογίας Υπολογιστών και Εκδόσεων «Διόφαντος»