ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr Διαφάνειες: Καθ. Νικόλαος Λορέντζος 1
9. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 2
Έννοια Βάσης Δεδομένων 3
Τρακάρισμα Χειροκρότημα Συμβολοσειρές Αριθμοί Ημερομηνίες Αντικείμενα Δεδομένα 4 4
Οντότητα Τύπος Οντοτήτων Οντότητα: Οτιδήποτε θέλουμε να διακρίνουμε από άλλα ομοειδή. Τύπος Οντοτήτων: Συλλογή ομοειδών οντοτήτων 5
Οντότητα Τύπος Οντοτήτων Οντότητα Γεωργίου Ελλάδα Αττική Αθήνα ΓΠΑ ασπιρίνη πεύκο ιλαρά χαρά ΤΥΠΟΣ ΟΝΤΟΤΗΤΩΝ ΚΑΘΗΓΗΤΗΣ ΦΟΙΤΗΤΗΣ ΑΓΡΟΤΗΣ ΥΠΑΛΛΗΛΟΣ ΓΙΑΤΡΟΣ ΧΩΡΑ ΝΟΜΟΣ ΠΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΦΑΡΜΑΚΟ ΔΕΝΔΡΟ ΑΣΘΕΝΕΙΑ ΣΥΝΑΙΣΘΗΜΑ 6
Τύποι Οντοτήτων & Γνωρίσματα ΚΚ Όνομα Επώνυμο ΚΜ Τίτλος ΚΑΘΗΓΗΤΗΣ ΜΑΘΗΜΑ Μισθός Ειδικότητα Μονάδες Εξάμηνο ΚΦ Όνομα Επώνυμο ΦΟΙΤΗΤΗΣ Διεύθυνση Τηλέφωνο - Υπάρχουν άπειροι ΤΥΠΟΙ ΟΝΤΟΤΗΤΩΝ - Ένας ΤΥΠΟΣ ΟΝΤΟΤΗΤΩΝ έχει πολλά Γνωρίσματα ( Χαρακτηριστικά ) 7
Μοντελοποίηση Δεδομένων ΚΚ Όνομα Επώνυμο ΚΜ Τίτλος ΚΑΘΗΓΗΤΗΣ 1:Ν 1:Ν Διδάσκει ΜΑΘΗΜΑ ΚΑΘΗΓΗΤΗΣ ΔΙΔΑΣΚΑΛΙΑ ΜΑΘΗΜΑ ΚΚ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΚΚ ΚΜ ΚΜ ΤΙΤΛΟΣ Κ1 ΑΝΤΩΝΙΟΣ ΑΝΤΩΝΙΟΥ Κ1 Μ1 Μ1 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ Κ2 ΓΕΩΡΓΙΟΣ ΓΕΩΡΓΙΟΥ Κ1 Μ2 Μ2 ΣΤΟΙΧΕΙΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Κ3 ΙΩΑΝΝΗΣ ΙΩΑΝΝΟΥ Κ2 Μ1 Μ3 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Κ3 Μ3 Μας ενδιαφέρει η Μοντελοποίηση - των ΤΥΠΩΝ ΟΝΤΟΤΗΤΩΝ και των Γνωρισμάτων τους καθώς και - των Συσχετίσεων μεταξύ των ΤΥΠΩΝ ΟΝΤΟΤΗΤΩΝ 8
Τύποι Οντοτήτων και Συσχετίσεις ΚΚ Όνομα Επώνυμο ΚΜ Τίτλος ΚΑΘΗΓΗΤΗΣ 1:Ν 1:Ν Διδάσκει ΜΑΘΗΜΑ 1:Ν Ημερομηνία Βαθμολογήθηκε Βαθμός 1:Ν ΦΟΙΤΗΤΗΣ 1:Ν Επιδίδεται 1:Ν ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΚΦ Όνομα Επώνυμο Επίδοση 9 ΚΔ Όνομα 9
Σχεσιακή Βάση Δεδομένων Σπουδών ΚΑΘΗΓΗΤΗΣ ΜΑΘΗΜΑ ΔΙΔΑΣΚΑΛΙΑ ΚΚ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΚΜ ΤΙΤΛΟΣ ΚΚ ΚΜ Κ1 ΑΝΤΩΝΙΟΣ ΑΝΤΩΝΙΟΥ Μ1 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ Κ1 Μ1 Κ2 ΓΕΩΡΓΙΟΣ ΓΕΩΡΓΙΟΥ Μ2 ΣΤΟΙΧΕΙΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Κ1 Μ2 Κ3 ΙΩΑΝΝΗΣ ΙΩΑΝΝΟΥ Μ3 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Κ2 Μ1 Κ3 Μ3 ΦΟΙΤΗΤΗΣ ΒΑΘΜΟΛΟΓΙΑ ΚΦ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΚΦ ΚΜ ΗΜΕΡΟΜΗΝΙΑ ΒΑΘΜΟΣ Φ1 ΚΟΣΜΑΣ ΚΟΣΜΑΤΟΣ Φ1 Μ1 05/06/2008 4 Φ2 ΛΟΥΚΑΣ ΛΟΥΚΑΤΟΣ Φ1 Μ1 08/09/2008 8 Φ3 ΠΑΥΛΟΣ ΠΑΥΛΑΤΟΣ Φ2 Μ1 05/06/2008 6 Φ2 Μ2 15/09/2008 6 Φ3 Μ3 10/09/2008 7 ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΠΙΔΟΣΗ ΚΔ Δ1 ΟΝΟΜΑ ΜΟΥΣΙΚΗ ΚΦ Φ1 ΚΔ Δ1 ΒΑΘΜΟΣ ΑΡΙΣΤΑ Σχέσεις - Συσχετίσεις Δ2 Δ3 ΣΚΑΚΙ ΘΕΑΤΡΟ Φ1 Φ2 Δ2 Δ3 ΚΑΛΑ 10 ΜΕΤΡΙΑ 10
Ορισμός Βάσης Δεδομένων ΚΑΘΗΓΗΤΗΣ ΜΑΘΗΜΑ ΚΚ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΚΜ ΤΙΤΛΟΣ Κ1 ΑΝΤΩΝΙΟΣ ΑΝΤΩΝΙΟΥ Μ1 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ Κ2 ΓΕΩΡΓΙΟΣ ΓΕΩΡΓΙΟΥ Μ2 ΣΤΟΙΧΕΙΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Κ3 ΙΩΑΝΝΗΣ ΙΩΑΝΝΟΥ Μ3 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΦΟΙΤΗΤΗΣ ΒΑΘΜΟΛΟΓΙΑ ΚΦ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΚΦ ΚΜ ΗΜΕΡΟΜΗΝΙΑ ΒΑΘΜΟΣ Φ1 ΚΟΣΜΑΣ ΚΟΣΜΑΤΟΣ Φ1 Μ1 05/06/2008 4 Φ2 ΛΟΥΚΑΣ ΛΟΥΚΑΤΟΣ Φ1 Μ1 08/09/2008 8 Φ3 ΠΑΥΛΟΣ ΠΑΥΛΑΤΟΣ Φ2 Μ1 05/06/2008 6 Φ2 Μ2 15/09/2008 6 Φ3 Μ3 10/09/2008 7 ΔΙΔΑΣΚΑΛΙΑ ΚΚ ΚΜ Κ1 Μ1 Κ1 Μ2 Κ2 Μ1 Κ3 Μ3 ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΠΙΔΟΣΗ ΚΔ Δ1 Δ2 Δ3 ΟΝΟΜΑ ΜΟΥΣΙΚΗ ΣΚΑΚΙ ΘΕΑΤΡΟ ΚΦ Φ1 Φ1 Φ2 ΚΔ Δ1 Δ2 Δ3 ΒΑΘΜΟΣ ΑΡΙΣΤΑ ΚΑΛΑ ΜΕΤΡΙΑ Συλλογή δεδομένων, που είναι καλά οργανωμένα σε μέσα μαζικής αποθήκευσης, κοινώς διαθέσιμα και καταμερισμένα 11
Σύστημα Διαχείρισης Βάσης Δεδομένων (ΣΔΒΔ) Σημείωση Τα σχετικά παραδείγματα για το ΣΔΒΔ βασίζονται στο Σχεσιακό Μοντέλο για λόγους απλότητας αλλά ισχύουν για όλα τα ΣΔΒΔ. 12
Ορισμός ΣΔΒΔ Σύνολο προγραμμάτων για την αξιοποίηση του περιεχομένου μιας ΒΔ Προς τούτο, το ΣΔΒΔ διαθέτει: Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) για τη διαχείριση της ΒΔ Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) για τον ορισμό της ΒΔ Γλώσσα 4 ης Γενιάς 13
Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) ΦΟΙΤΗΤΗΣ ΚΦ Φ1 Φ2 Φ3 ΟΝΟΜΑ ΚΟΣΜΑΣ ΛΟΥΚΑΣ ΠΑΥΛΟΣ ΕΠΩΝΥΜΟ ΚΟΣΜΑΤΟΣ ΛΟΥΚΑΤΟΣ ΠΑΥΛΑΤΟΣ Γιατί χρησιμοποιούμε πίνακες; Τι πρέπει να κάνουμε; ΒΑΘΜΟΛΟΓΙΑ Εισαγωγή Δεδομένων ΕΝΗΜΕΡΩΣΗ - Να εισαχθεί στον πίνακα ΦΟΙΤΗΤΗΣ η εγγραφή (πλειάδα) (Φ10, ΓΕΩΡΓΙΟΣ, ΓΕΩΡΓΙΟΥ). 10/09/2008 Διαγραφή Δεδομένων ΕΝΗΜΕΡΩΣΗ - Να διαγραφεί από τον πίνακα ΦΟΙΤΗΤΗΣ η εγγραφή (πλειάδα) του Φ3. Τροποποίηση Δεδομένων ΕΝΗΜΕΡΩΣΗ - Στον πίνακα βαθμολογία η εξέταση της 05/06/2008 να διορθωθεί στη σωστή, 12/06/2008. Ανάκτηση (Άντληση) Δεδομένων ΓΙΑ ΠΛΗΡΟΦΟΡΗΣΗ - Να βρεθούν οι κωδικοί των φοιτητών που εξετάσθηκαν την 05/06/2008. στο μάθημα με κωδικό Μ1. - Να βρεθούν τα ονοματεπώνυμα των φοιτητών που εξετάσθηκαν την 14 05/06/2008. 14 ΚΦ Φ1 Φ1 Φ2 Φ2 Φ3 ΚΜ Μ1 Μ1 Μ1 Μ2 Μ3 ΗΜΕΡΟΜΗΝΙΑ 05/06/2008 08/09/2008 05/06/2008 15/09/2008 ΒΑΘΜΟΣ 4 8 6 6 7
Γλώσσα Χειρισμού Δεδομένων Η γλώσσα (υπογλώσσα) του ΣΔΒΔ με την οποία επιτυγχάνεται ο χειρισμός (η διαχείριση) της ΒΔ, δηλαδή η - Εισαγωγή, - Διαγραφή, - Τροποποίηση, - Ανάκτηση δεδομένων. 15
Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Προκαταρκτικά Λογικό Σχήμα Πίνακα: Περιγραφή του πίνακα και της δομής του. Ενδεικτικά, - το όνομα του πίνακα, - το όνομα κάθε στήλης του, - το πεδίο ορισμού κάθε στήλης του, - το πρωτεύον κλειδί του (προαιρετικό), - άλλα ΟΝΟΜΑ ΠΙΝΑΚΑ: ΦΟΙΤΗΤΗΣ ΣΤΗΛΕΣ ΟΝΟΜΑ ΤΥΠΟΣ Σ1 ΚΦ Αριθμός Ακέραιος > 0 Σ2 ΟΝΟΜΑ Κειμενο 15 Σ3 ΕΠΩΝΥΜΟ Κειμενο 15 ΠΡΩΤΕΥΟΝ ΚΛΕΙΔΙ: ΚΦ 16
Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Προκαταρκτικά Λογικό Σχήμα ΒΔ : Το σχήμα όλων των πινάκων της ΒΔ (και όχι μόνο). ΚΑΘΗΓΗΤΗΣ ΚΚ Αριθμός Ακέραιος > 0 ΟΝΟΜΑ Κειμενο 15 ΕΠΩΝΥΜΟ Κειμενο 15 ΔΙΔΑΣΚΑΛΙΑ ΚΚ Αριθμός Ακέραιος > 0 ΚΜ Κειμενο Ακέραιος > 0 ΜΑΘΗΜΑ ΚΜ Αριθμός Ακέραιος > 0 ΤΙΤΛΟΣ Κειμενο 50 ΦΟΙΤΗΤΗΣ ΚΦ Αριθμός Ακέραιος > 0 ΟΝΟΜΑ Κειμενο 15 ΕΠΩΝΥΜΟ Κειμενο 15 ΒΑΘΜΟΛΟΓΙΑ ΚΦ Αριθμός Ακέραιος > 0 ΚΜ Αριθμός Ακέραιος > 0 ΗΜΕΡΟΜΗΝΙΑ Σύντομη Ημερομηνία DD/MM/YYYY ΒΑΘΜΟΣ Αριθμός Πραγματικός, 1 δεκαδικό > 0 ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΚΔ Αριθμός Ακέραιος > 0 ΟΝΟΜΑ Κειμενο 15 ΕΠΙΔΟΣΗ ΚΦ Αριθμός Ακέραιος > 0 ΚΔ Κειμενο 15 ΒΑΘΜΟΣ Κειμενο 15 17
Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Η γλώσσα (υπογλώσσα) του ΣΔΒΔ με την οποία δηλώνεται (ορίζεται) στο ΣΔΒΔ το Λογικό Σχήμα της ΒΔ. Γιατί πρέπει να δηλώνουμε το Λογικό Σχήμα της ΒΔ; Σε τι χρησιμεύει η ΓΟΔ; 18
Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Κανόνες της ΓΟΔ Στη ΒΔ το όνομα κάθε πίνακα είναι μοναδικό. Γιατί; Σε έναν πίνακα, το όνομα κάθε στήλης είναι μοναδικό. Γιατί; 19
Σχεσιακή Βάση Δεδομένων Σπουδών ΚΑΘΗΓΗΤΗΣ ΙΩΑΝΝΟΥ ΙΩΑΝΝΗΣ Κ3 ΓΕΩΡΓΙΟΥ ΓΕΩΡΓΙΟΣ Κ2 ΑΝΤΩΝΙΟΥ ΑΝΤΩΝΙΟΣ Κ1 ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΚΚ ΜΑΘΗΜΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μ3 ΣΤΟΙΧΕΙΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Μ2 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ Μ1 ΤΙΤΛΟΣ ΚΜ ΔΙΔΑΣΚΑΛΙΑ Μ3 Κ3 Μ1 Κ2 Μ2 Κ1 Μ1 Κ1 ΚΜ ΚΚ ΒΑΘΜΟΛΟΓΙΑ 7 10/09/2008 Μ3 Φ3 6 15/09/2008 Μ2 Φ2 6 05/06/2008 Μ1 Φ2 8 08/09/2008 Μ1 Φ1 4 05/06/2008 Μ1 Φ1 ΒΑΘΜΟΣ ΗΜΕΡΟΜΗΝΙΑ ΚΜ ΚΦ ΦΟΙΤΗΤΗΣ ΠΑΥΛΑΤΟΣ ΠΑΥΛΟΣ Φ3 ΛΟΥΚΑΤΟΣ ΛΟΥΚΑΣ Φ2 ΚΟΣΜΑΤΟΣ ΚΟΣΜΑΣ Φ1 ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΚΦ Τ3 Τ2 Τ1 TMHMA ΤΜΗΜΑ ΦΥΣΙΚΗ T3 ΜΑΘΗΜΑΤΙΚΑ T2 ΠΛΗΡΟΦΟΡΙΚΗ T1 ΟΝΟΜΑ ΚT ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΘΕΑΤΡΟ Δ3 ΣΚΑΚΙ Δ2 ΜΟΥΣΙΚΗ Δ1 ΟΝΟΜΑ ΚΔ ΕΠΙΔΟΣΗ ΜΕΤΡΙΑ Δ3 Φ2 ΚΑΛΑ Δ2 Φ1 ΑΡΙΣΤΑ Δ1 Φ1 ΒΑΘΜΟΣ ΚΔ ΚΦ ΦΟΙΤΗΤΗΣ ΠΑΥΛΑΤΟΣ ΠΑΥΛΟΣ Φ3 ΛΟΥΚΑΤΟΣ ΛΟΥΚΑΣ Φ2 ΚΟΣΜΑΤΟΣ ΚΟΣΜΑΣ Φ1 ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΚΦ 20
Πίνακες Σχεσιακής Βάσης Δεδομένων Σπουδών 21
Αρχιτεκτονική ΣΔΒΔ ΧΡΗΣΤΗΣ Α ΧΡΗΣΤΗΣ Β ΧΡΗΣΤΗΣ Γ Προσωπικό Οικονομικά Σπουδές ΕΞΩΤΕΡΙΚΟ ΕΠΙΠΕΔΟ Περιγραφή του λογικού υποσχήματος κάθε εφαρμογής ΙΔΕΑΤΟ (ΛΟΓΙΚΟ) ΕΠΙΠΕΔΟ Περιγραφή του λογικού σχήματος όλης της ΒΔ ΒΔ ΕΣΩΤΕΡΙΚΟ ΕΠΙΠΕΔΟ Περιγραφή του εσωτερικού σχήματος όλης της ΒΔ Αφορά στον τρόπο δόμησης (άρα και προσπέλασης) των δεδομένων στο φυσικό επίπεδο Διασύνδεση των δεδομένων που δηλώνονται στα διάφορα επίπεδα 22 22
Πληρέστερος Ορισμός για τη Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Η γλώσσα (υπογλώσσα) του ΣΔΒΔ με την οποία ορίζεται (δηλώνεται) το της ΒΔ. - Λογικό Σχήμα (η δομή της ΒΔ), - Εξωτερικό Σχήμα - Εσωτερικό Σχήμα 23
Αρχιτεκτονική ΣΔΒΔ Προγράμματα Βάση Χρήστες Εφαρμογών Δεδομένων Προσωπικό Οικονομικά Σπουδές (Αρχεία) 24
Τυπική Αρχιτεκτονική Εφαρμογών ΒΔ 1.10 D ata M ining and I nformation Retrieval 2 user client user application application client netw ork netw ork database system server application server database system (a) Tw o-tier architecture (b) Three-tier architecture 25
Πρωτεύον Κλειδί Πίνακα Οι στήλες του πίνακα των οποίων το περιεχόμενο ορίζει μονοσήμαντα το περιεχόμενο μιας γραμμής. ΚΑΘΗΓΗΤΗΣ ΚΚ ΟΝΟΜΑ ΕΠΩΝΥΜΟ Κ1 ΑΝΤΩΝΙΟΣ ΑΝΤΩΝΙΟΥ Κ2 ΓΕΩΡΓΙΟΣ ΓΕΩΡΓΙΟΥ Κ3 ΙΩΑΝΝΗΣ ΙΩΑΝΝΟΥ ΦΟΙΤΗΤΗΣ ΚΦ ΟΝΟΜΑ ΕΠΩΝΥΜΟ Φ1 ΚΟΣΜΑΣ ΚΟΣΜΑΤΟΣ Φ2 ΛΟΥΚΑΣ ΛΟΥΚΑΤΟΣ Φ3 ΠΑΥΛΟΣ ΠΑΥΛΑΤΟΣ ΜΑΘΗΜΑ ΚΜ ΤΙΤΛΟΣ Μ1 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ Μ2 ΣΤΟΙΧΕΙΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Μ3 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΒΑΘΜΟΛΟΓΙΑ ΚΦ ΚΜ ΗΜΕΡΟΜΗΝΙΑ ΒΑΘΜΟΣ Φ1 Μ1 05/06/2008 4 Φ1 Μ1 08/09/2008 8 Φ2 Μ1 05/06/2008 6 Φ2 Μ2 15/09/2008 6 ΔΙΔΑΣΚΑΛΙΑ ΚΚ ΚΜ Κ1 Μ1 Κ1 Μ2 Κ2 Μ1 Κ3 Μ3 Φ3 Μ3 10/09/2008 7 ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΠΙΔΟΣΗ ΚΔ Δ1 Δ2 ΟΝΟΜΑ ΜΟΥΣΙΚΗ ΣΚΑΚΙ ΚΦ Φ1 Φ1 ΚΔ Δ1 Δ2 ΒΑΘΜΟΣ ΑΡΙΣΤΑ ΚΑΛΑ Οι στήλες, των οποίων το όνομα είναι υπογραμμισμένο, αποτελούν το πρωτεύον κλειδί του πίνακα. Δ3 ΘΕΑΤΡΟ Φ2 Δ3 ΜΕΤΡΙΑ 26
Σκοπός: Διάκριση μεταξύ οντοτήτων του ίδιου τύπου Ιδιότητες: Γνωστό, Μοναδικό Συνέπεια: Ιδιότητες επιβάλλονται από το ΣΔΒΔ στην εισαγωγή, τροποποίηση Είδη: ΦΟΙΤΗΤΗΣ ΚΦ Φ1 Φ2 Φ3 ΜΑΘΗΜΑ ΚΜ Μ1 Μ2 Μ3 ΟΝΟΜΑ ΚΟΣΜΑΣ ΛΟΥΚΑΣ ΠΑΥΛΟΣ Απλό ΕΠΩΝΥΜΟ ΚΟΣΜΑΤΟΣ ΛΟΥΚΑΤΟΣ ΠΑΥΛΑΤΟΣ ΤΙΤΛΟΣ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ ΣΤΟΙΧΕΙΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Πρωτεύον Κλειδί Πίνακα Σύνθετο Ξένο ΒΑΘΜΟΛΟΓΙΑ ΚΦ Φ1 Φ1 Φ2 Φ2 Φ3 ΚΜ Μ1 Μ1 Μ1 Μ2 Μ3 Υποψήφιο ΗΜΕΡΟΜΗΝΙΑ 05/06/2008 08/09/2008 05/06/2008 15/09/2008 10/09/2008 ΒΑΘΜΟΣ 4 8 6 6 7 27
Ξένο Κλειδί Πίνακα ΦΟΙΤΗΤΗΣ ΚΦ ΟΝΟΜΑ ΕΠΩΝΥΜΟ TMHMA ΒΑΘΜΟΛΟΓΙΑ ΚΦ ΚΜ ΗΜΕΡΟΜΗΝΙΑ ΒΑΘΜΟΣ Φ1 ΚΟΣΜΑΣ ΚΟΣΜΑΤΟΣ Τ1 Φ1 Μ1 05/06/2008 4 Φ2 ΛΟΥΚΑΣ ΛΟΥΚΑΤΟΣ Τ2 Φ1 Μ1 08/09/2008 8 Φ3 ΠΑΥΛΟΣ ΠΑΥΛΑΤΟΣ Τ3 Φ2 Μ1 05/06/2008 6 ΜΑΘΗΜΑ Φ2 Μ2 15/09/2008 6 ΚΜ ΤΙΤΛΟΣ Φ3 Μ3 10/09/2008 7 Μ1 Μ2 Μ3 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ ΣΤΟΙΧΕΙΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στον πίνακα ΒΑΘΜΟΛΟΓΙΑ, - η στήλη ΚΦ είναι ξένο κλειδί, - η στήλη ΚΜ είναι ξένο κλειδί. ΤΜΗΜΑ ΚT ΟΝΟΜΑ T1 ΠΛΗΡΟΦΟΡΙΚΗ Στον πίνακα ΦΟΙΤΗΤΗΣ, η στήλη ΤΜΗΜΑ είναι ξένο κλειδί. T2 T3 ΜΑΘΗΜΑΤΙΚΑ ΦΥΣΙΚΗ 28
Πλεονεκτήματα ΣΔΒΔ 1. Οικονομία στα μέσα αποθήκευσης 2. Εξάλειψη πλεοναζόντων στοιχείων 3. Αποφυγή επανάληψης εργασιών ενημέρωσης της ΒΔ 4. Εξάλειψη ασυμβατότητας των δεδομένων 5. Διασφάλιση ακεραιότητας δεδομένων 6. Υψηλός βαθμός ασφαλείας δεδομένων 7. Ανεξαρτησία δεδομένων 8. Ευκολία στην ανάπτυξη εφαρμογών 9. Διευκόλυνση εισαγωγής προτύπων 10. Συμβιβασμός απαιτήσεων χρηστών 29
Παραδοσιακά Πληροφοριακά Συστήματα ΔΙΕΥΘΥΝΣΗ ΣΠΟΥΔΩΝ ΚΑΘΗΓΗΤΗΣ(ΚΚ, Όνομα, Επώνυμο, ΜΑΘΗΜΑΤΑ μαθήματα που διδάσκονται ΔΙΔΑΣΚΑΛΙΑ ποιος διδάσκει τι. ΦΟΙΤΗΤΕΣ στοιχεία φοιτητών Ειδικότητα) ΒΑΘΜΟΛΟΓΙΑ ποιος φοιτητής πήρε τι βαθμό, σε ποιο μάθημα, πότε. ΚΑΘΗΓΗΤΗΣ(ΚΚ, ΔΙΕΥΘΥΝΣΗ ΠΡΟΣΩΠΙΚΟΥ Όνομα, Επώνυμο, Βαθμίδα) ΠΡΟΫΠΗΡΕΣΙΑ Έτη υπηρεσίας σε κάθε βαθμίδα ΔΙΕΥΘΥΝΣΗ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΘΗΓΗΤΗΣ(ΚΚ, Όνομα, Επώνυμο, Ακαθάριστα, Κρατήσεις) Προβλήματα Επανάληψη δεδομένων Απαίτηση μεγάλης δευτερεύουσας μνήμης Επανάληψη διαδικασιών συντήρησης της ΒΔ Ασυμβατότητα δεδομένων 30
Βάση Δεδομένων Αντιμετώπιση Προβλημάτων Συγκέντρωση και ταυτόχρονος καταμερισμός δεδομένων. ΚΑΘΗΓΗΤΗΣ(ΚΚ, Όνομα, Επώνυμο, Ειδικότητα, Βαθμίδα, Ακαθάριστα, Κρατήσεις) ΠΡΟΫΠΗΡΕΣΙΑ Έτη υπηρεσίας σε κάθε βαθμίδα ΜΑΘΗΜΑΤΑ Μαθήματα που διδάσκονται ΔΙΔΑΣΚΑΛΙΑ - Ποιος διδάσκει, Τι. ΦΟΙΤΗΤΕΣ Στοιχεία φοιτητών. ΒΑΘΜΟΛΟΓΙΑ Ποιος φοιτητής πήρε Τι βαθμό, σε Ποιο μάθημα, Πότε. 31
Πλεονεκτήματα ΣΔΒΔ 1. Οικονομία στα μέσα αποθήκευσης 2. Εξάλειψη πλεοναζόντων στοιχείων 3. Αποφυγή επανάληψης εργασιών ενημέρωσης της ΒΔ 4. Εξάλειψη ασυμβατότητας των δεδομένων 5. Διασφάλιση ακεραιότητας δεδομένων 6. Υψηλός βαθμός ασφαλείας δεδομένων 7. Ανεξαρτησία δεδομένων 8. Ευκολία στην ανάπτυξη εφαρμογών 9. Διευκόλυνση εισαγωγής προτύπων 10. Συμβιβασμός απαιτήσεων χρηστών 32
Διασφάλιση Ακεραιότητας Δεδομένων Διασφάλιση καταχώρισης ακριβώς των δεδομένων που έχουν δηλωθεί (με τη ΓΟΔ). Λογικό Σχήμα Πίνακα: Περιγραφή του πίνακα και της δομής του. Ενδεικτικά, - το όνομα του πίνακα, - το όνομα κάθε στήλης του, - το πεδίο ορισμού κάθε στήλης του, - το πρωτεύον κλειδί του, - το ξένο κλειδί, - άλλα ΦΟΙΤΗΤΗΣ ΚΦ Φ1 Φ2 Φ3 ΤΜΗΜΑ ΚT T1 T2 T3 ΟΝΟΜΑ ΚΟΣΜΑΣ ΛΟΥΚΑΣ ΠΑΥΛΟΣ ΦΥΣΙΚΗ ΟΝΟΜΑ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ ΕΠΩΝΥΜΟ ΚΟΣΜΑΤΟΣ ΛΟΥΚΑΤΟΣ ΠΑΥΛΑΤΟΣ TMHMA Τ1 Τ2 Τ3 ΟΝΟΜΑ ΠΙΝΑΚΑ: ΦΟΙΤΗΤΗΣ ΣΤΗΛΕΣ ΟΝΟΜΑ ΤΥΠΟΣ ΕΠΙΤΡΕΠΤΕΣ ΤΙΜΕΣ Σ1 ΚΦ Αριθμός Ακέραιος > 0 Σ2 ΟΝΟΜΑ Κείμενο 15 Σ3 ΕΠΩΝΥΜΟ Κείμενο 15 Σ4 ΤΜΗΜΑ Αριθμός Ακέραιος > 0 ΠΡΩΤΕΥΟΝ ΚΛΕΙΔΙ: ΞΕΝΟ ΚΛΕΙΔΙ: ΚΦ ΤΜΗΜΑ ΑΝΑΦΕΡΕΤΑΙ ΣΤΟ ΤΜΗΜΑ(ΚΤ) 33
Πλεονεκτήματα ΣΔΒΔ 1. Οικονομία στα μέσα αποθήκευσης 2. Εξάλειψη πλεοναζόντων στοιχείων 3. Αποφυγή επανάληψης εργασιών ενημέρωσης της ΒΔ 4. Εξάλειψη ασυμβατότητας των δεδομένων 5. Διασφάλιση ακεραιότητας δεδομένων 6. Υψηλός βαθμός ασφαλείας δεδομένων 7. Ανεξαρτησία δεδομένων 8. Ευκολία στην ανάπτυξη εφαρμογών 9. Διευκόλυνση εισαγωγής προτύπων 10. Συμβιβασμός απαιτήσεων χρηστών 34
Πλεονεκτήματα ΣΔΒΔ 1. Οικονομία στα μέσα αποθήκευσης 2. Εξάλειψη πλεοναζόντων στοιχείων 3. Αποφυγή επανάληψης εργασιών ενημέρωσης της ΒΔ 4. Εξάλειψη ασυμβατότητας των δεδομένων 5. Διασφάλιση ακεραιότητας δεδομένων 6. Υψηλός βαθμός ασφαλείας δεδομένων 7. Ανεξαρτησία δεδομένων 8. Ευκολία στην ανάπτυξη εφαρμογών 9. Διευκόλυνση εισαγωγής προτύπων 10. Συμβιβασμός απαιτήσεων χρηστών 35
Ανεξαρτησία δεδομένων Η αλλαγή του τρόπου δόμησης των δεδομένων στο φυσικό επίπεδο, χωρίς την ανάγκη της ταυτόχρονης αλλαγής των προγραμμάτων διαχείρισης της ΒΔ. 36
Διαχείριση Συναλλαγών Μια συναλλαγή (transaction) αποτελείται από μια σειρά από εντολές ερωτημάτων ή/και ενημερώσεων που πρέπει να εκτελεστεί αδιαίρετα Μια συναλλαγή τερματίζει με μία από τις δύο κάτωθι εντολές commit (ολοκλήρωση), μέσω της οποίας γίνονται μόνιμες οι ενημερώσεις που εκτελεί η συναλλαγή στη ΒΔ rollback (αναίρεση), μέσω της οποίας ακυρώνονται όλες οι ενημερώσεις που έγιναν από τις SQL εντολές της συναλλαγής Σε πολλές ΒΔ, κάθε SQL εντολή θεωρείται εξ ορισμού μία συναλλαγή από μόνη της και γίνεται commit μόλις εκτελεστεί Αυτό το αυτόματο commit το απενεργοποιεί ο προγραμματιστής εάν επιθυμεί να ορίσει μια συναλλαγή που αποτελείται από SQL εντολές 37
Διαχείριση Συναλλαγών Οι συναλλαγές απαιτείται να έχουν ιδιότητες ACID (Atomicity, Consistency, Isolation, Durability) Ατομικότητα (Atomicity): διασφαλίζει ότι ή όλες οι επιπτώσεις μιας συναλλαγής θα εμφανιστούν στη ΒΔ ή καμία δε θα εμφανιστεί Συνέπεια (Consistency): διασφαλίζει ότι η εκτέλεση μιας συναλλαγής σε μια συνεπή ΒΔ αφήνει σε συνεπή κατάσταση τη ΒΔ Απομόνωση (Isolation): διασφαλίζει ότι η ταυτόχρονη εκτέλεση συναλλαγών απομονώνει τη μία συναλλαγή από την άλλη Αντοχή (Durability): διασφαλίζει ότι, αφού ολοκληρωθεί επιτυχώς μια συναλλαγή, οι ενημερώσεις αυτής δε χάνονται, ακόμα και αν το σύστημα χαλάσει 38
Μοντέλα Δεδομένων 39
Παραδοσιακά Μοντέλα Δεδομένων 1. Σχεσιακό Μοντέλο 2. Ιεραρχικό Μοντέλο 3. Δικτυωτό Μοντέλο 40
41 ΚΑΘΗΓΗΤΗΣ ΙΩΑΝΝΟΥ ΙΩΑΝΝΗΣ Κ3 ΓΕΩΡΓΙΟΥ ΓΕΩΡΓΙΟΣ Κ2 ΑΝΤΩΝΙΟΥ ΑΝΤΩΝΙΟΣ Κ1 ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΚΚ ΜΑΘΗΜΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μ3 ΣΤΟΙΧΕΙΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Μ2 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ Μ1 ΤΙΤΛΟΣ ΚΜ ΔΙΔΑΣΚΑΛΙΑ Μ3 Κ3 Μ1 Κ2 Μ2 Κ1 Μ1 Κ1 ΚΜ ΚΚ ΦΟΙΤΗΤΗΣ ΠΑΥΛΑΤΟΣ ΠΑΥΛΟΣ Φ3 ΛΟΥΚΑΤΟΣ ΛΟΥΚΑΣ Φ2 ΚΟΣΜΑΤΟΣ ΚΟΣΜΑΣ Φ1 ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΚΦ ΒΑΘΜΟΛΟΓΙΑ 7 10/09/2008 Μ3 Φ3 6 15/09/2008 Μ2 Φ2 6 05/06/2008 Μ1 Φ2 8 08/09/2008 Μ1 Φ1 4 05/06/2008 Μ1 Φ1 ΒΑΘΜΟΣ ΗΜΕΡΟΜΗΝΙΑ ΚΜ ΚΦ ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΘΕΑΤΡΟ Δ3 ΣΚΑΚΙ Δ2 ΜΟΥΣΙΚΗ Δ1 ΟΝΟΜΑ ΚΔ ΕΠΙΔΟΣΗ ΜΕΤΡΙΑ Δ3 Φ2 ΚΑΛΑ Δ2 Φ1 ΑΡΙΣΤΑ Δ1 Φ1 ΒΑΘΜΟΣ ΚΔ ΚΦ Σχεσιακό Μοντέλο
Ιεραρχικό Μοντέλο 1ο Επίπεδο (ρίζα) ΦΟΙΤΗΤΗΣ ΚΦ Όνομα Επώνυμο 2ο Επίπεδο ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΜΑΘΗΜΑ ΚΔ Λεκτικό Επίδοση ΚΜ Τίτλος 3ο Επίπεδο ΚΑΘΗΓΗΤΗΣ ΒΑΘΜΟΛΟΓΙΑ ΚΦ Όνομα Επώνυμο Ημερομηνία Βαθμός 42
Δικτυωτό Μοντέλο ΚΑΘΗΓΗΤΗΣ ΜΑΘΗΜΑ ΦΟΙΤΗΤΗΣ ΔΡΑΣΤΗΡΙΟΤΗΤΑ Κ-Δ Μ-Δ Μ-Β Φ-Β Φ-Ε Δ-Ε ΔΙΔΑΣΚΑΛΙΑ ΒΑΘΜΟΛΟΓΙΑ ΕΠΙΔΟΣΗ 43
Σύγκριση Παραδοσιακών Μοντέλων 1. Σχεσιακό + Εύκολος Σχεδιασμός Λογικού Μοντέλου + Ευκολία χειρισμού + Μεγάλη διαθεσιμότητα + Πολύ καλή επεκτασιμότητα + Άριστο θεωρητικό υπόβαθρο 2. Ιεραρχικό - Δύσκολος λογικός σχεδιασμός - Δυσκολία χειρισμού - Περιορισμένη Επεκτασιμότητα - Προβλήματα ενημέρωσης 3. Δικτυωτό + Εύκολη υλοποίηση + Μεγάλη διαθεσιμότητα - Δυσκολία χειρισμού 44
Μοντέλο Οντοτήτων-Συσχετίσεων ΚΚ Όνομα Επώνυμο ΚΜ Τίτλος ΚΑΘΗΓΗΤΗΣ 1:Ν 1:Ν Διδάσκει ΜΑΘΗΜΑ 1:Ν Ημερομηνία Βαθμολογήθηκε Βαθμός 1:Ν ΦΟΙΤΗΤΗΣ 1:Ν Αναπτύσσει 1:Ν ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΚΦ Όνομα Επώνυμο Επίδοση ΚΔ Όνομα 45
Είδη ΒΔ Ως προς το Περιεχόμενο Συμβατικές Πολυμεσικές ΒΔ Χρονικές (Ιστορικές) Χωρικές ΒΔ Χωροχρονικές ΒΔ Επαγωγικές ΒΔ Ενεργές ΒΔ Ως προς τη Γεωγραφική κατανομή Συμβατικές Κατανεμημένες ΒΔ Διαδικτυακές ΒΔ Κινητές ΒΔ 46
Συμβατική ΒΔ Η/Υ ΚΜΕ ΚΜ ΜΛΑ ΜΕ ΒΔ H ΒΔ είναι οργανωμένη στα μαγνητικά μέσα ενός μόνον Η/Υ. 47
Η/Υ 1 ΚΜΕ ΜΛΑ ΜΕ Κατανεμημένη ΒΔ Η/Υ 2 ΚΜ ΚΜΕ ΜΛΑ ΜΕ ΚΜ ΒΔ 1 ΒΔ 2 Η ΒΔ είναι κατανεμημένη σε μαγνητικά μέσα πολλών Η/Υ (συνήθως απομακρυσμένοι μεταξύ τους) που συνδέονται μέσω δικτύου. Το ΣΔΒΔ είναι πιο περίπλοκο. 48
Παράρτημα 49
It is easy to misinterpret the 0.. on the left edge and think that the relationship advisor is many-to-one from instructor to student this is exactly the reverse of the Μοντέλο E-R Απλό correct interpretation. If both edges have a maximum value of 1, the relationship is one-to-one. If we had specified a cardinality παράδειγμα limit of 1.. on the left edge, we would be saying that each instructor must advise at least one student. The E-R diagram in Figure 7.10 could alternatively have been drawn with adouble line from student to advisor, and an arrow on the line from advisor to instructor,in υψηλού place επιπέδου of the cardinality μοντέλο δεδομένων constraints shown. το οποίο This alternative βασίζεται diagram would enforce exactly the same constraints as the constraints shown in the figure. Το μοντέλο οντότητας-σχέσης (μοντέλο E-R) είναι ένα στην αντίληψη του πραγματικού κόσμου, και αποτελείται από μια συλλογή βασικών αντικειμένων, που ονομάζονται οντότητες, και από τις σχέσεις μεταξύ αυτών των αντικειμένων 7.5.3 Complex Attributes Figure Τα 7.11σύνολα shows how οντοτήτων compositeαναπαριστώνται attributes can be represented με ορθογώνια in the E-R notation. Here, a composite attribute name, with component attributes first name, middle Τα σύνολα σχέσεων αναπαριστώνται με ρόμβους initial, and last name replaces the simple attribute name of instructor. Asanother example, Γραμμές suppose συνδέουν we were σύνολα to add anοντοτήτων address toμε theσύνολα instructor σχέσεων entity-set. The address can be defined as the composite attribute address with the attributes instructor student ID name salary 0..* advisor 1..1 ID name tot_cred 50
the requirements of the application but may not be familiar with data modeling. An intuitive diagrammatic representation is particularly important since it eases communication of information between these groups of experts. A number of alternative notations for modeling data have been proposed, Συμβολισμοί στα διαγράμματα E-R of which E-R diagrams and UML class diagrams are the most widely used. There is no universal standard for E-R diagram notation, and different books and E-R diagram software use different notations. We have chosen a particular notation E R R entity set relationship set identifying relationship set for w eak entity set E A1 A2 A2.1 A2.2 {A3} A4() E A1 a ributes: simple (A 1), composite (A 2) and multivalued (A 3) derived (A 4) primary key R E total participation of entity set in relationship E A1 discriminating a ribute of weak entity set R many-to-many relationship R many-to-one relationship R one-to-one relationship R l..h E cardinality limits R rolename E role indicator E2 E1 E3 ISA: generalization or specialization E1 total total (disjoint) generalization E1 disjoint generalization 51 E2 E3 E2 E3
Αντιστοιχία συμβολισμών μεταξύ διαγραμμάτων ER και 7.9 Alternative N otations for M odeling D ata 309 UML διαγραμμάτων κλάσεων ER Diagram Notation Equivalent in UM L E entity w ith E a ributes (simple, A1 A1 composite, M1() multivalued, derived) +M1() class w ith simple a ributes and methods (a ribute prefixes: + = public, = private, # = protected) E1 role1 role2 R E2 binary relationship E1 role1 R role2 E2 E1 A1 role1 role2 R E2 relationship a ributes E1 R A1 role1 role2 E2 E1 0.. * 0..1 cardinality 0..1 R 0.. * R E2 E1 constraints E2 E1 R E2 E3 n-ary relationships E1 R E2 E3 E2 E1 E3 overlapping generalization E2 E1 E3 overlapping E2 E1 E3 disjoint generalization E2 E1 disjoint E3 52
Αντικειμενοστραφείς Βάσεις Δεδομένων Όταν τα υπό διαχείριση δεδομένα είναι περίπλοκα και σύνθετα, το σχεσιακό (relational) μοντέλο μπορεί να αποδειχτεί ανεπαρκές Το αντικειμενοστραφές (ΟΟ - object-oriented) μοντέλο δεδομένων, το οποίο βασίζεται στις αρχές του αντικειμενοστραφούς προγραμματισμού (όπως ενθυλάκωση, πολυμορφισμός, κληρονομικότητα, κλάσεις αντικειμένων), μπορεί να συνιστά κατάλληλη λύση σε τέτοιες περιπτώσεις Ένα αντικειμενοστραφές DBMS πρέπει να είναι σε θέση να αποθηκεύει αντικείμενα σαν αυτά που υποστηρίζονται από την επιλεγείσα αντικειμενοστραφή γλώσσα προγραμματισμού Τέτοιου είδους αντικείμενα καλούνται μόνιμα (persistent), δηλ. δεν εξαφανίζονται μόλις τερματιστεί το πρόγραμμα, και ανήκουν και αυτά σε κλάσεις Η καταλληλότητα ή μη των αντικειμενοστραφών ΒΔ αποτελεί αντικείμενο διενέξεων και πρέπει να κρίνεται κατά περίσταση Για μια αντιμετώπιση του θέματος, βλ. π.χ.: http://www.25hoursaday.com/whyarentyouusinganoodbms.html 53
NoSQL Βάσεις Δεδομένων «NoSQL» σημαίνει Not only SQL και πρόκειται για ένα «κίνημα» που υποστηρίζει ότι one size does not fit all (δηλ. ότι το σχεσιακό μοντέλο δεν μπορεί να επιλύσει το ίδιο αποδοτικά όλα τα προβλήματα διαχείρισης δεδομένων) Βασικά χαρακτηριστικά Δεν απαιτείται «σχήμα» για τη ΒΔ Ακολουθείται μη-σχεσιακό μοντέλο Καλύτερη υποστήριξη για κατανεμημένες ΒΔ (clusters με πολλούς κόμβους) Αναλόγως με το εκάστοτε πρόβλημα, η επιλογή κατάλληλης NoSQL ΒΔ μπορεί να επιφέρει σημαντικά καλύτερη απόδοση και κλιμακωσιμότητα (σε σύγκριση με SQL λύσεις), ειδικά όταν ο όγκος των δεδομένων αυξάνεται ραγδαία (Big Data) Αυτά τα πλεονεκτήματα έρχονται συνήθως θυσιάζοντας την πλήρη υποστήριξη ACID 54
NoSQL Βάσεις Δεδομένων Δημοφιλείς τύποι NoSQL ΒΔ key-value stores (π.χ. Riak, Redis) document databases (π.χ. MongoDB) column/table stores (π.χ. Apache Cassandra) triple/graph databases (π.χ. Neo4j) Οι απόψεις διίστανται για το κατά πόσον οι αντικειμενοστραφείς ΒΔ εντάσσονται στο NoSQL κίνημα ή όχι 55