1.1 Βάσεις δεδομένων
Οι στόχοι μας σε αυτό το κεφάλαιο: Να διατυπώσουμε τον ορισμό για τη βάση δεδομένων και για το σύστημα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ), καθώς και να περιγράψουμε τα συστατικά στοιχεία ενός ΣΔΒΔ. Να περιγράψουμε την αρχιτεκτονική ενός ΣΔΒΔ με βάση το πρότυπο ANSI/SPARC. Να διατυπώσουμε τον ορισμό για καθένα από τα τρία παραδοσιακά μοντέλα βάσεων δεδομένων: το ιεραρχικό, το δικτυακό, και το σχεσιακό. Να περιγράψουμε το σχεσιακό μοντέλο και τις σχέσεις. 1.2 Να κατανοήσουμε τις λειτουργίες που εφαρμόζονται σε μια σχεσιακή βάση δεδομένων με διαταγές SQL.
Οι στόχοι μας σε αυτό το κεφάλαιο (συνέχεια): Να περιγράψουμε τα βήματα που προβλέπονται στον σχεδιασμό βάσεων δεδομένων. Να διατυπώσουμε τον ορισμό για το μοντέλο οντοτήτωνσυσχετίσεων και για τα αντίστοιχα διαγράμματα, καθώς και να εξηγήσουμε τις οντότητες και τις σχέσεις σε αυτό το μοντέλο. Να ορίσουμε τα ιεραρχικά επίπεδα της κανονικοποίησης και να κατανοήσουμε τη λογική που εφαρμόζεται στην κανονικοποίηση των σχέσεων. Να περιγράψουμε άλλους τύπους βάσεων δεδομένων εκτός από το σχεσιακό μοντέλο. 1.3
14.1 ΕΙΣΑΓΩΓΗ Παλαιότερα, για την αποθήκευση δεδομένων χρησιμοποιούνταν μόνο μεμονωμένα, μη σχετικά μεταξύ τους αρχεία, τα οποία ονομάζονται επίπεδα αρχεία (flat files). Έτσι, κάθε πρόγραμμα εφαρμογής που χρησιμοποιούσε μια εταιρεία διατηρούσε το δικό της αρχείο. Σήμερα, όμως, όλα αυτά τα επίπεδα αρχεία μπορούν να συνδυαστούν σε μία οντότητα, σε μια βάση δεδομένων για ολόκληρη την εταιρεία ή τον οργανισμό ή το ίδρυμα. 1.4
Εικόνα 14.1: Συστατικά στοιχεία ενός ΣΔΒΔ 1.5
14.2 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Η Επιτροπή Σχεδιασμού και Απαιτήσεων Προτύπων (Standards Planning and Requirements Committee, ή SPARC) του Αμερικανικού Ινστιτούτου Εθνικών Προτύπων (ANSI) έχει καθιερώσει μια αρχιτεκτονική τριών επιπέδων για τα ΣΔΒΔ: το εσωτερικό, το εννοιολογικό, και το εξωτερικό. 1.6
Εικόνα 14.2: Αρχιτεκτονική βάσεων δεδομένων 1.7
14.3 ΜΟΝΤΕΛΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Το μοντέλο μιας βάσης δεδομένων καθορίζει τον λογικό σχεδιασμό των δεδομένων. Επίσης, περιγράφει τις σχέσεις μεταξύ των διαφόρων μερών των δεδομένων. Στην ιστορία του σχεδιασμού βάσεων δεδομένων έχουν χρησιμοποιηθεί τρία μοντέλα: το ιεραρχικό, το δικτυακό, και το σχεσιακό. 1.8
Εικόνα 14.3: Η αναπαράσταση της διοικητικής δομής ενός πανεπιστημίου με χρήση του ιεραρχικού μοντέλου 1.9
Εικόνα 14.4: Η αναπαράσταση της διοικητικής δομής ενός πανεπιστημίου με χρήση του δικτυακού μοντέλου 1.10
Εικόνα 14.5: Η αναπαράσταση της διοικητικής δομής ενός πανεπιστημίου με χρήση του σχεσιακού μοντέλου 1.11
14.4 ΤΟ ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Στο σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων ή ΣΣΔΒΔ (relational database management system, RDBMS), τα δεδομένα αναπαρίστανται ως ένα σύνολο σχέσεων. 1.12
Εικόνα 14.6: Ένα παράδειγμα σχέσης 1.13
14.5 ΛΕΙΤΟΥΡΓΙΕΣ ΣΕ ΣΧΕΣΕΙΣ Σε μια σχεσιακή βάση δεδομένων μπορούμε να ορίζουμε διάφορες λειτουργίες ώστε να δημιουργούμε νέες σχέσεις από τις ήδη υπάρχουσες. Σε αυτή την ενότητα θα περιγράψουμε εννέα λειτουργίες: την εισαγωγή, τη διαγραφή, την ενημέρωση, την επιλογή, την προβολή, τη σύνδεση, την ένωση, την τομή, και τη διαφορά. Αντί να αναφερθούμε σε αυτές τις λειτουργίες αφηρημένα, θα περιγράψουμε καθεμιά τους με τον τρόπο που ορίζεται στη γλώσσα ερωτημάτων βάσεων δεδομένων SQL (Structured Query Language). 1.14
Εικόνα 14.7: Ένα παράδειγμα της λειτουργίας εισαγωγής 1.15
Εικόνα 14.8: Ένα παράδειγμα της λειτουργίας διαγραφής 1.16
Εικόνα 14.9: Ένα παράδειγμα της λειτουργίας ενημέρωσης 1.17
Εικόνα 14.10: Ένα παράδειγμα της λειτουργίας επιλογής 1.18
Εικόνα 14.11: Ένα παράδειγμα της λειτουργίας προβολής 1.19
Εικόνα 14.12: Ένα παράδειγμα της λειτουργίας σύνδεσης 1.20
Εικόνα 14.13: Ένα παράδειγμα της λειτουργίας ένωσης 1.21
Εικόνα 14.14: Ένα παράδειγμα της λειτουργίας τομής 1.22
Εικόνα 14.15: Ένα παράδειγμα της λειτουργίας διαφοράς 1.23
14.6 ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ο σχεδιασμός οποιασδήποτε βάσης δεδομένων είναι χρονοβόρα και δύσκολη εργασία που μπορεί να γίνει μόνο με μια διαδικασία βήμα προς βήμα. Στο πρώτο βήμα συνήθως διεξάγονται πολλές συνεντεύξεις πιθανών χρηστών της βάσης δεδομένων όπως, για παράδειγμα, σε ένα πανεπιστήμιο, προκειμένου να συγκεντρωθούν οι πληροφορίες που πρέπει να αποθηκευτούν και οι απαιτήσεις πρόσβασης κάθε τμήματος του πανεπιστημίου. Το δεύτερο βήμα είναι η δόμηση ενός Μοντέλου Οντοτήτων- Συσχετίσεων (ERM) που ορίζει τις οντότητες για τις οποίες πρέπει να διατηρούνται πληροφορίες, τις ιδιότητες αυτών των οντοτήτων, καθώς και τις μεταξύ τους συσχετίσεις. 1.24
Εικόνα 14.16: Οντότητες, ιδιότητες και συσχετίσεις σε ένα διάγραμμα Ο-Σ 1.25
Εικόνα 14.17: Σχέσεις για το σύνολο οντοτήτων της Εικόνας 14.16 1.26
Εικόνα 14.18: Οι σχέσεις για το διάγραμμα Ο-Σ της Εικόνας 14.16 1.27
Εικόνα 14.19: Ένα παράδειγμα πρώτης κανονικής μορφής (1NF) 1.28
Εικόνα 14.20: Ένα παράδειγμα δεύτερης κανονικής μορφής (2NF) 1.29
14.7 ΑΛΛΑ ΜΟΝΤΕΛΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Σήμερα, το σχεσιακό μοντέλο βάσεων δεδομένων δεν είναι το μοναδικό που χρησιμοποιείται. Δύο άλλα γνωστά μοντέλα βάσεων δεδομένων είναι το κατανεμημένο και το αντικειμενοστρεφές, τα οποία θα εξετάσουμε συνοπτικά σε αυτή την ενότητα. 1.30