Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Διαγράμματα οντοτήτων-συσχετίσεων- Παράδειγμα Εκπαιδευτικό Ίδρυμα Δρ. Εύη Φαλιάγκα
1. Αντικείμενο και σκοπός της εργαστηριακής άσκησης Εννοιολογικός και λογικός σχεδιασμός ΒΔ. Εξοικείωση με τις αντίστοιχες έννοιες που διδάσκονται στη θεωρία. Εξοικείωση με τη δημιουργία και διαχείριση βάσεων δεδομένων που περιέχουν ικανό αριθμό πινάκων, χρησιμοποιώντας την MySQL. 2. Εισαγωγή στις βασικές έννοιες. Διάγραμμα οντοτήτων Συσχετίσεων Το διάγραμμα Οντοτήτων-Σχέσεων (Entity-Relationship) είναι ένας τρόπος αφηρημένης και εννοιολογικής αναπαράστασης των δεδομένων. Τα βασικά σχήματα που χρησιμοποιούνται είναι: Οντότητα: κάθε αντικείμενο, γεγονός, κατάσταση ή αφηρημένη έννοια που υπάρχει, μπορούμε να διακρίνουμε και ενδιαφερόμαστε να καταγράψουμε. Γνωρίσματα οντοτήτων: τα συστατικά στοιχεία που περιγράφουν μια οντότητα. Συσχέτιση: μία σύνδεση μεταξύ οντοτήτων, η οποία αναπαριστά μια αντίστοιχη σχέση των αντικειμένων στον πραγματικό κόσμο. 2.1. Συσχετίσεις Πληθικότητες Ο λόγος πληθικότητας σε μια συσχέτιση καθορίζει τον αριθμό των στιγμιοτύπων από κάθε οντότητα που συμμετέχουν στη συσχέτιση. 2.2. Δημιουργία πινάκων λογικός σχεδιασμός 2
Το Διάγραμμα Οντοτήτων συσχετίσεων είναι το αποτέλεσμα του εννοιολογικού σχεδιασμού. Στη συνέχεια πρέπει να εφαρμοστεί ο λογικός σχεδιασμός κατά τον οποίο δημιουργούνται οι τελικοί πίνακες της ΒΔ. 3. Προαπαιτούμενες γνώσεις για να μπορέσετε να ολοκληρώσετε την εργαστηριακή άσκηση. Βεβαιωθείτε πως έχετε αφομοιώσει τις παρακάτω έννοιες: 1. Εννοιολογικός σχεδιασμός, οντότητες, κατηγορήματα οντοτήτων, ασθενείς και ισχυρές οντότητες, συσχετίσεις, είδη/πληθυκότητα συσχετίσεων, βαθμός συσχέτισης, συμμετοχή οντότητας σε συσχέτιση, δυαδικές και τριαδικές συσχετίσεις, Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ), τα κυριότερα σύμβολα του ΔΟΣ, κλάσεις και υποκλάσεις. 2. Λογικός σχεδιασμός, μετατροπή οντότητας σε πίνακα, μετατροπή συσχέτισης τύπου 1:1 σε πίνακα, μετατροπή συσχέτισης τύπου 1:Ν σε πίνακα, μετατροπή συσχέτισης τύπου Μ:Ν σε πίνακα, μετατροπή τριαδικής συσχέτισης σε πίνακα, μετατροπή κλάσεων/υποκλάσεων σε πίνακες. Πηγές μελέτης: Ενδεικτικά αναφέρεται το σύγγραμμα «Εισαγωγή στις ΒΔ», Β. Ταμπακά, κεφάλαιο 4, σελ. 101-123 (εννοιολογικός σχεδιασμός) και κεφάλαιο 6, σελ. 166-173 (λογικός σχεδιασμός). 4. Παράδειγμα Εκπαιδευτικό Ίδρυμα Στην εφαρμογή «Εκπαιδευτικό Ίδρυμα» μας ενδιαφέρει να κρατούμε πληροφορίες για τα τμήματα, τους καθηγητές και τους σπουδαστές. Για κάθε τμήμα μας ενδιαφέρει η ονομασία του και το έτος ίδρυσής του. Για κάθε σπουδαστή μας ενδιαφέρει ο αριθμός μητρώου, το όνομα, το επώνυμο, το πατρώνυμο και το εξάμηνο φοίτησης. Ο αριθμός μητρώου είναι μοναδικός για κάθε σπουδαστή. Επίσης ο συνδυασμός ονόματος, επώνυμου και πατρώνυμου είναι μοναδικός για κάθε σπουδαστή. Για κάθε καθηγητή μας ενδιαφέρει ο κωδικός, το όνομα, το επώνυμο, η βαθμίδα, η διεύθυνση και το τηλέφωνο. Κρατούμε πληροφορίες για τα μαθήματα που διδάσκονται και συγκεκριμένα τον κωδικό μαθήματος, τον τίτλο και τις διδακτικές μονάδες του. Μας ενδιαφέρουν επίσης και τα συγγράμματα που έχουν γράψει οι καθηγητές του ιδρύματος (και όχι τα υπόλοιπα συγγράμματα). Για κάθε σύγγραμμα κρατούμε τον τίτλο, τον κωδικό συγγράμματος και τον αριθμό σελίδων. Τέλος, η βάση δεδομένων πρέπει να κρατά πληροφορίες για τους κηδεμόνες των σπουδαστών. Για κάθε κηδεμόνα κρατούμε το όνομα, το επώνυμο και τη διεύθυνσή του. Η βάση δεδομένων που θα υποστηρίζει την εφαρμογή, θα πρέπει να δίνει και ένα σύνολο πληροφοριών που σχετίζονται με τα προηγούμενα. Συγκεκριμένα πρέπει να δίνει: 3
- Το τμήμα που ανήκει ο κάθε σπουδαστής. - Τα μαθήματα που διδάσκει ο κάθε καθηγητής. - Τα μαθήματα που παρακολουθεί ο κάθε σπουδαστής και το ημερολογιακό εξάμηνο που έχει παρακολουθήσει το καθένα (π.χ. εαρινό 2003). Για λόγους απλότητας δεχόμαστε πως ένα μάθημα επιτρέπεται να παρακολουθείται από ένα σπουδαστή μόνο ένα εξάμηνο. - Τα συγγράμματα που έχει συγγράψει ο κάθε καθηγητής. - Τον καθηγητή προϊστάμενο του κάθε τμήματος. - Τους κηδεμόνες του κάθε σπουδαστή. Με βάση τον κανονισμό λειτουργίας του ιδρύματος ισχύουν τα εξής: - Ένας σπουδαστής ανήκει σε ένα μόνο τμήμα. - Ένας καθηγητής μπορεί να διδάσκει πολλά μαθήματα αλλά ένα μάθημα μπορεί να διδάσκεται από ένα μόνο καθηγητή. - Ένας σπουδαστής μπορεί να παρακολουθεί πολλά μαθήματα. - Ένα τμήμα έχει έναν μόνο προϊστάμενο που είναι καθηγητής και ένας καθηγητήςπροϊστάμενος μπορεί να προΐσταται ενός μόνο τμήματος. Κάθε τμήμα του εκπαιδευτικού ιδρύματος έχει οπωσδήποτε ένα προϊστάμενο. - Ένας καθηγητής μπορεί να συγγράψει πολλά συγγράμματα. Ένα σύγγραμμα μπορεί να έχει περισσότερους από ένα συγγραφείς. - Ένας σπουδαστής μπορεί να έχει πολλούς κηδεμόνες αλλά ένας κηδεμόνας είναι υπεύθυνος για ένα μόνο σπουδαστή. Διαπιστώθηκε πως ο συνδυασμός των κατηγορημάτων (όνομα, επώνυμο) ή (όνομα, επώνυμο, διεύθυνση) διαχωρίζει μεταξύ τους, τους κηδεμόνες του ίδιου σπουδαστή αλλά όχι και τους κηδεμόνες διαφορετικών σπουδαστών. Σημείωση: Το παράδειγμα έχει ληφθεί από το Βιβλίο «Εισαγωγή στις ΒΔ» (Β. Τ. Ταμπακάς). 4.1. Ερωτήσεις 1. Βρείτε τις οντότητες, τα γνωρίσματα οντοτήτων, τις συσχετίσεις και τους τύπους/πληθυκότητες συσχετίσεων του παραδείγματος. 2. Δημιουργείστε το ΔΟΣ του παραδείγματος. 3. Από το ΔΟΣ βρείτε τους αντίστοιχους πίνακες. 4. Στο προσάρτημα της εργαστηριακής άσκησης δίνονται οι τελικοί πίνακες της εφαρμογής και ορισμένα ενδεικτικά δεδομένα. Δημιουργείστε στην MySQL τους πίνακες Σπουδαστής και Μάθημα. Εισάγετε τα αντίστοιχα δεδομένα των δυο πινάκων. 5. Κάνετε import (εισαγωγή) τους υπόλοιπους πίνακες της εφαρμογής από το αρχείο sql που θα σας δοθεί. 6. Δημιουργείστε τις συσχετίσεις μεταξύ των πινάκων. 4
ΠΡΟΣΑΡΤΗΜΑ Οι πίνακες του παραδείγματος 1. Σπουδαστής ΑΜ Όνομα Επώνυμο Πατρώνυμο ΕξΦοίτησης ΟνομΤμήματος 6033 Νίκος Σιδέρης Ηλίας Α Λογιστική 1017 Βασίλειος Νίνος Δημήτρης ΣΤ Λογιστική 3051 Βαγγέλης Σαρρής Κωνσταντίνος Γ Λογιστική 4055 Γιάννης Τριάντης Δημήτρης Β Νοσηλευτική 1021 Νίκος Γιαννόπουλος Ευστάθιος ΣΤ Ηλεκτρολογία 2032 Ντίνος Σιδέρης Ηλίας Γ Ηλεκτρολογία 2. Μάθημα ΚωδικόςΜ Τίτλος ΔιδΜονάδες Διδάσκων ΗΛΕ07 Σχέδιο 8 74 ΔΕ01 Οικονομική 10 11 ΛΟΓ13 Λογιστική 7 53 ΛΟΓ15 Κοστολόγηση 8 99 ΛΟΓ16 Βάσεις Δεδομένων 6 32 ΠΣ10 Δίκτυα 7 32 3. Καθηγητής ΚωδικόςΚ Όνομα Επώνυμο Βαθμίδα Διεύθυνση Τηλέφωνο 104 Γιώργος Νικολάου Καθηγητής Φειδίου 100 2104457435 53 Γιώργος Αντύπας Επίκουρος Αλκιβιάδους 7 2610479932 74 Νίκος Τριάντης Αναπληρωτής Μαιζώνος 7 2610727209 99 Γιάννης Μόσχος Καθηγητής Ηλείας 5 2109445109 11 Θεμιστοκλής Ανδρέου Καθηγητής Αξιού 34 2610344565 5
32 Νίκος Αντύπας Επίκουρος Ζακύνθου 3 2610727239 4. Παρακολουθεί ΑΜΣπουδαστή ΚωδΜαθήματος ΕξΠαρακολ 1017 ΔΕ01 Χειμερινό 2001 1017 ΛΟΓ13 Εαρινό 2003 1021 ΗΛΕ07 Χειμερινό 2003 2032 ΗΛΕ07 Εαρινό 2004 3051 ΛΟΓ13 Εαρινό 2005 4055 ΠΣ10 Χειμερινό 2005 6033 ΛΟΓ15 Χειμερινό 2007 6033 ΛΟΓ13 Χειμερινό 2007 5. Σύγγραμμα Τίτλος ΚωδικόςΣ ΑρΣελίδων Λογιστικό Σχέδιο 205 200 Νέες Τεχνολογίες 52 200 Μάρκετινγκ 112 140 Εισαγωγή στις ΒΔ 773 150 Μηχανές Ι 89 320 6. Κηδεμόνας Όνομα Επώνυμο Διεύθυνση ΑΜΣπουδαστή Δημητρούλα Νίνου Δράμας 120 1017 Σπύρος Σαρρής Αλφειού 11 3051 Αντώνιος Τριάντης Κορίνθου 230 4055 Βαγγέλης Αρβανίτης Πηνειού 30 2032 Γεώργιος Νίνος Δράμας 120 1017 6
7. Συγγράφει ΚωδΚαθηγητή ΚωδΣυγγράμματος 32 112 53 773 74 52 99 112 99 205 99 773 8. Τμήμα Ονομασία ΈτοςΊδρυσης Προιστάμενος Ηλεκτρολογία 03/09/87 74 Λογιστική 30/10/83 53 Νοσηλευτική 05/07/89 99 7