ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΝΝΟΙΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΔΕΔΟΜΕΝΩΝ (6) ΓΙΩΡΓΟΣ ΜΟΥΡΚΟΥΣΗΣ Μηχανικός Η/Υ & Πληροφορικής Διδάκτορας Μηχανικός ΕΜΠ gmourkousis@teimes.gr Υλικό: Χ. Σκουρλάς, N. Καρούσος ΘΕΩΡΙΑ
Η Μοντελοποίηση Δεδομένων 2 Όταν θέλουμε να σχεδιάσουμε ένα σύστημα βάσης δεδομένων αρχικά μοντελοποιούμε το σύστημα σχεδιάζοντας ένα ειδικό μοντέλο για όλες τις εφαρμογές που μας ενδιαφέρουν, το Μοντέλο Οντοτήτων Συσχετίσεων (ΜΟΣ) ή Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ). Το μοντέλο αναπαριστά όλες τις οντότητες (entities) και τις μεταξύ τους συσχετίσεις (relationships).
Μοντέλο Οντοτήτων Συσχετίσεων 3 Μια βάση δεδομένων μπορεί να μοντελοποιηθεί εννοιολογικά σαν: Ένα σύνολο οντοτήτων (entities), Συσχετίσεις (relationships) μεταξύ των οντοτήτων αυτών. Εννοιολογική Μοντελοποίηση Conceptual Modeling. Εναλλακτικά: Ιδεατή, Σημασιολογική, Οντολογική...
Οντότητες 4 Μια οντότητα (entity) είναι ένα υπαρκτό αντικείμενο, που είναι διακριτό από τα άλλα αντικείμενα της ΒΔ. Παραδείγματα: ο φοιτητής Βασίλης το αυτοκίνητο MEA1111 η εταιρεία LOGISMIKO ΑΕ η απόδειξη 156 κλπ.
Τύποι Οντοτήτων (Entity Types) 5 Ένα τύπος οντοτήτων είναι ένα σύνολο από σημασιολογικά όμοιες οντότητες Π.χ., το σύνολο όλων των υπαλλήλων μιας εταιρείας, το σύνολο όλων των αυτοκινήτων κλπ ΠΡΟΣΟΧΗ: Άλλο οντότητα και άλλο τύπος οντοτήτων! Στον προφορικό λόγο, συνηθίζεται να τα συγχέουμε...
Τύποι Οντοτήτων 6 ΑΥΤΟΚΙΝΗΤΟ ΠΕΛΑΤΗΣ ΕΤΑΙΡΙΑ ΥΠΑΛΛΗΛΟΣ
Διάφοροι Συμβολισμοί για Μοντέλο Οντοτήτων Συσχετίσεων (ΜΟΣ) 7 Peter Chen Navathe Elmasri Oracle Designer Case Tool UML MS ACCESS
Βασικοί Συμβολισμοί (Navathe Elmasri) 8 ONTOTHTA Γνώρισμα Συσχέτιση
Παράδειγμα Οντότητας ΕΡΓΑΖΟΜΕΝΟΣ 9 Όνομα Επώνυμο Πατρώνυμο Ημ.Γέννησης ΑΦΜ Εργαζόμενος Ηλικία Κλειδί, άρα υπογράμμιση Διεύθυνση Τηλέφωνο Οδός Πόλη ΤΚ Σύνθετο Γνώρισμα Υπολογιζόμενο γνώρισμα Γνώρισμα πολλαπλών τιμών
Συμβολισμοί (Navathe Elmasri) 10 Σύμβολο Σημασία Σύμβολο Σημασία E Οντότητα Χαρακτηριστικό πολλαπλών τιμών Ασθενής Οντότητα Σύνθετο Χαρακτηριστικό Σ Συσχέτιση Παράγωγο Χαρακτηριστικό Αναγνωριστική Συσχέτιση E 1 Σ E 2 Ολική Συμμετοχή της Ε 2 στη Σ Χαρακτηριστικό 1 Ν E 1 Σ E 2 Αριθμητική Αναλογία 1:Ν για Ε 1 :Ε 2 στη Σ Χαρακτηριστικό-κλειδί Σ (min,max) E Περιορισμός (min,max) της συμμετοχής της Ε στη Σ
Συσχετίσεις 11 Για να ολοκληρώσουμε το ΜΟΣ πρέπει να σχεδιάσουμε και τις Συσχετίσεις ανάμεσα στους τύπους οντοτήτων. Κάθε συσχέτιση έχει ένα βαθμό! Για παράδειγμα η συσχέτιση «διδάσκει» είναι δυαδική. Για κάθε συσχέτιση στο ΜΟΣ πρέπει να γράφουμε και τον τύπο συσχέτισης. Για παράδειγμα η «διδάσκει» θα μπορούσε να είναι «1-προς- Πολλά» (γράφεται και «1:N»).
Βαθμός Συσχέτισης 12 Βαθμός μιας συσχέτισης ονομάζεται ο αριθμός των οντοτήτων που συνδέει η συσχέτιση. Συνήθως οι συσχετίσεις μεταξύ δύο οντοτήτων (δυαδικές συσχετίσεις) επαρκούν για τις ανάγκες μεγάλου μέρους της εφαρμογής. Υπάρχουν περιπτώσεις όπου τρεις ή περισσότερες οντότητες πρέπει να συνδεθούν με μια συσχέτιση.
13 Παραδείγματα Δυαδικών Συσχετίσεων. Προσέξτε ότι κάθε συσχέτιση έχει τύπο! ΑΝΔΡΑΣ 1 1 παντρεύεται ΓΥΝΑΙΚΑ 1-προς-1 ΠΕΛΑΤΗΣ 1 Ν 1-προς-Πολλά δίδει ΠΑΡΑΓΓΕΛΙΑ ΥΠΑΛΛΗΛΟΣ Ν 1 εργάζεται ΤΜΗΜΑ Πολλά-προς-1 ΜΑΘΗΤΗΣ Ν Μ παρακολουθεί ΜΑΘΗΜΑ Πολλά-προς-Πολλά
Καθορισμός Τύπου Συσχέτισης 14 Επιχείρηση Απασχολεί Εργαζόμενος?? ΜΙΑ επιχείρηση ΠΟΣΟΥΣ απασχολεί; Πολλούς, άρα Ν (αφού είναι >1) ΕΝΑΣ εργαζόμενος ΣΕ ΠΟΣΕΣ επιχειρήσεις απασχολείται; Σε μία, άρα 1
Καθορισμός Τύπου Συσχέτισης (2 15 Ν 1 Φοιτητής Σπουδάζει Τμήμα Ν Ν Συγγραφέας Γράφει Βιβλίο
Συσχέτιση 1 προς 1 16 Επιχείρηση 1 1 απασχολεί ( 0, 1 ) ( 0, 1 ) Εργαζόμενος Επιχείρηση Εργαζόμενος E1 E2 E3 E4 EΡ1 EΡ2 EΡ3 EΡ4
Συσχέτιση 1 προς Ν (Πολλά) 17 Επιχείρηση 1 Ν απασχολεί ( 0, N ) ( 0, 1 ) Εργαζόμενος Επιχείρηση Εργαζόμενος E1 E2 E3 E4 EΡ1 EΡ2 EΡ3 EΡ4
Συσχέτιση Ν (Πολλά) προς 1 18 Επιχείρηση N 1 απασχολεί ( 0, 1 ) ( 0, N ) Εργαζόμενος Επιχείρηση Εργαζόμενος E1 E2 E3 E4 EΡ1 EΡ2 EΡ3 ΕΡ4
Συσχέτιση Ν (Πολλά) προς Ν (Πολλά) 19 Επιχείρηση N N ( 0, N ) απασχολεί ( 0, N ) Εργαζόμενος Επιχείρηση Εργαζόμενος E1 E2 E3 E4 EΡ1 EΡ2 EΡ3 EΡ4
Συσχέτιση Ν προς Ν - Ολική Συμμετοχή 20 Επιχείρηση 1 N απασχολεί ( 0, N ) ( 1, 1 ) Εργαζόμενος Επιχείρηση Εργαζόμενος E1 E2 E3 E4 EΡ1 EΡ2 EΡ3 EΡ4
Συσχέτιση Ν προς Ν - Ολική Συμμετοχή (2) 21 Επιχείρηση Ν N ( 1, N ) απασχολεί ( 1, Ν ) Εργαζόμενος Επιχείρηση Εργαζόμενος E1 E2 E3 E4 EΡ1 EΡ2 EΡ3 EΡ4
Άλλοι τύποι συσχετίσεων: τριαδική συσχέτιση 22 Επιχείρηση Απασχολεί Εργαζόμενος Έργο
Αναδρομική συσχέτιση 23?? Επιχείρηση Απασχολεί Εργαζόμενος? 1 Ν Έργο Προΐσταται
Αναγνωριστική σε Ασθενή Οντότητα 24?? Επιχείρηση Απασχολεί Εργαζόμενος? 1 Ν Έργο Προΐσταται Αποτελείται _από Υποέργο
25 Εναλλακτικοί Συμβολισμοί ΔΟΣ (ERD)
26 Εναλλακτικοί Συμβολισμοί ΔΟΣ (ERD)
ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΓΡΑΜΜΑΤΕΙΑΣ
28 Ανάλυση απαιτήσεων Περιγραφή του συστήματος Μας αναθέτουν να κατασκευάσουμε ένα σύστημα βάσης δεδομένων για τη Γραμματεία του τμήματος μας. Στους πίνακες που θα κατασκευάσουμε θα μπορεί το προσωπικό της Γραμματείας να πληκτρολογεί τα στοιχεία των σπουδαστών, των καθηγητών και των μαθημάτων. Επιπλέον, το προσωπικό θα μπορεί να πληκτρολογεί ποιά μαθήματα διδάσκει κάθε καθηγητής του τμήματος Πληροφορικής. Θα πρέπει το Προσωπικό να μπορεί να πληκτρολογεί τα μαθήματα στα οποία γράφεται κάθε σπουδαστής. Τέλος, οι υπάλληλοι της Γραμματείας πρέπει να μπορούν να βλέπουν τα στοιχεία που υπάρχουν στις πίνακες της βάσης δεδομένων.
Συστατικά στοιχεία Μοντέλου Οντοτήτων Συσχετίσεων (ΜΟΣ) 29 Οντότητα Χρήστος Χρήστου Χαρακτηριστικά Surname Χρήστου Name Χρήστος Address Αγίου Σπυρίδωνα Number 22 Driver s licence 123456789
Χαρακτηριστικά attributes- οντότητας 30 Για τα ονόματα των χαρακτηριστικών χρησιμοποιούμε αγγλικές λέξεις ή greeklish: Surname = επώνυμο Name = όνομα Address = διεύθυνση Number = αριθμός Drivers_licence = αριθμός άδειας οδήγησης
Παράδειγμα συσχέτισης 31 «έχει στην κατοχή του» (συσχέτιση) (οντότητα) Χρήστος Χρήστου (Οντότητα) Ferrari
Και άλλο παράδειγμα συσχέτισης 32 (οντότητα) ΒΑΣΕΙΣ Ι «διδάσκει» (συσχέτιση) (οντότητα) Χρήστος Χρήστου (οντότητα) ΒΑΣΕΙΣ ΙΙ
ΟΝΤΟΤΗΤΕΣ ΤΥΠΟΙ ΟΝΤΟΤΗΤΩΝ 33 Στο ΜΟΣ σχεδιάζουμε τύπους οντοτήτων και συσχετίσεων. Ο Αναλυτής Δεδομένων μελετά τις οντότητες που ενδιαφέρουν. Για παράδειγμα προσπαθεί να καταλάβει ποια στοιχεία (δεδομένα) των σπουδαστών πρέπει να αποθηκευτούν στη βάση δεδομένων που σχεδιάζει. Αποφασίζει ποια χαρακτηριστικά των οντοτήτων (δηλαδή των σπουδαστών) ενδιαφέρουν. Για παράδειγμα αποφασίζει ότι για κάθε σπουδαστή θα αποθηκεύονται: Επώνυμο, Όνομα, Έτος γέννησης, Εξάμηνο σπουδών. Ο τύπος οντότητας «Σπουδαστής» θα αντιπροσωπεύει όλες τις οντότητες που εξετάσθηκαν.
Αφαίρεση - abstraction 34 Όταν μελετάμε κάποιες οντότητες και αποφασίζουμε τον τύπο οντότητας που τις αντιπροσωπεύει χρησιμοποιούμε έναν τρόπο σκέψης που τον λέμε αφαίρεση (abstraction) Παράδειγμα Μελετάμε τα στοιχεία των σπουδαστών μας, της Ειρήνης, της Βίλμας, του Γιάννη, του Κώστα. Μετά με την αφαίρεση abstraction- φτιάχνουμε έναν τύπο οντότητας που το ονομάζουμε STUDENT με χαρακτηριστικά Surname, Name, Address, Semester.
Εννοιολογική σχεδίαση βάσεων δεδομένων 35 Η βάση δεδομένων αναπαριστά κάποια στοιχεία του «πραγματικού» κόσμου. Τα δεδομένα που αποθηκεύονται στη βάση είναι γνωστά, «αναγνωρίσιμα» γεγονότα -events, facts-. Τα δεδομένα αυτά καταγράφονται στη βάση επειδή τα θεωρούμε σημαντικά. Επομένως πριν σχεδιάσουμε το ΜΟΣ γράφουμε: τα χαρακτηριστικά των οντοτήτων. τα γεγονότα στα οποία εμπλέκονται οι συγκεκριμένες οντότητες. Ακολουθούν παραδείγματα.
36 Παραδείγματα Χαρακτηριστικών Οντοτήτων Συσχετίσεων οντοτήτων 1/4 1. Ο Σπουδαστής Κυριακόπουλος Νικηφόρος έχει ένα επώνυμο (= Κυριακόπουλος), ένα όνομα (=Νικηφόρος), ένα μοναδικό αριθμό μητρώου (=213). 2. Ο Σπουδαστής Παπαπέτρου Νικόλαος ανήκει σε ένα ακριβώς Εξάμηνο (= Β). 3. Η Σπουδάστρια Αποστόλου Ζωή έχει μία διεύθυνση (= Μάρκου Μπότσαρη 14). 4. Ο Καθηγητής Ullman Jeffrey διδάσκει τα μαθήματα «Βάσεις Ι», «Βάσεις ΙΙ».
37 Παραδείγματα Χαρακτηριστικών Οντοτήτων Συσχετίσεων οντοτήτων 2/4 Οντότητες είναι ο Σπουδαστής Κυριακόπουλος, ο Σπουδαστής Παπαπέτρου, η σπουδάστρια Αποστόλου, ο καθηγητής Ullman, τα μαθήματα «Βάσεις Ι», «Βάσεις ΙΙ». Χαρακτηριστικά είναι το επώνυμο, το όνομα, ο αριθμός μητρώου, το Εξάμηνο, η διεύθυνση. Βλέπουμε ότι όταν γράφουμε τις Οντότητες και τα Χαρακτηριστικά χρησιμοποιούμε ουσιαστικά. Το μοναδικό Χαρακτηριστικό «αριθμός μητρώου» είναι κλειδί της οντότητας Σπουδαστής. Για τη Συσχετίση «διδάσκει» χρησιμοποιούμε ρήμα.
Παραδείγματα Χαρακτηριστικών Οντοτήτων Συσχετίσεων οντοτήτων 2/4 38 Στη συνέχεια αποφασίζουμε ποιά χαρακτηριστικά και ποιά γεγονότα μας ενδιαφέρουν. Για παράδειγμα, αν δε θέλουμε να αποθηκεύουμε διεύθυνση για σπουδαστές στη βάση τότε το χαρακτηριστικό διεύθυνση δεν μας ενδιαφέρει. Τώρα μπορούμε να σχεδιάσουμε το ΜΟΣ. Θα αρχίσουμε τη σχεδίαση από τον τύπο οντότητας «Σπουδαστής». Μετά το ΜΟΣ θα κατασκευάσουμε έναν πίνακα της βάσης με όνομα «Σπουδαστής» που αντιστοιχεί στον τύπο οντότητας. Ο πίνακας θα αποθηκεύει όλες τις οντότητες σπουδαστών.
Παραδείγματα Χαρακτηριστικών Οντοτήτων Συσχετίσεων οντοτήτων 4/4 39 Χρησιμοποιώντας συμβολισμό Navathe-Elmasri ζωγραφίζουμε τον τύπο οντότητας «ΣΠΟΥΔΑΣΤΗΣ» που έχει Χαρακτηριστικά «επώνυμο», «όνομα», «εξάμηνο». Το Κλειδί Οντότητας είναι το χαρακτηριστικό «κωδικός_σπουδαστή». Παρατηρήστε ότι το κλειδί της οντότητας είναι υπογραμμισμένο.
Οντότητες σπουδαστών 1/2 40 Πίνακας της βάσης δεδομένων «Σπουδαστής» που αντιστοιχεί στον τύπο οντότητας «ΣΠΟΥΔΑΣΤΗΣ» που ζωγραφίσαμε στο ΜΟΣ. Ο πίνακας αποθηκεύει όλες τις οντότητες σπουδαστών. Επώνυμο Όνομα Αριθμός Μητρώου Κυριακόπουλος Νικηφόρος 213 Δ Αποστόλου Ζωή 816 Α Παπαπέτρου Νικόλαος 450 Β Ζευγαρίδης Ορέστης 346 Γ Κοταμανίδου Ειρήνη 610 Α Πίνακας «Σπουδαστής» Εξάμηνο
Οντότητες σπουδαστών 2/2 41 Μπορούμε να γράψουμε το όνομα του πίνακα και τα ονόματα των στηλών του και στα αγγλικά ή στα Greeklish. STUDENTS(SURNAME, NAME, ID, SEMESTER) SURNAME NAME ID SEMESTER Κυριακόπουλος Νικηφόρος 213 Δ Αποστόλου Ζωή 816 Α Παπαπέτρου Νικόλαος 450 Β Ζευγαρίδης Ορέστης 346 Γ Κοταμανίδου Ειρήνη 610 Α Πίνακας «Students»
Οντότητα Καθηγητής 42 Χρησιμοποιώντας συμβολισμό Navathe-Elmasri ζωγραφίζουμε τον τύπο οντότητας «ΚΑΘΗΓΗΤΗΣ» που έχει Χαρακτηριστικά «επώνυμο», «όνομα», «διεύθυνση». Το Κλειδί Οντότητας είναι το χαρακτηριστικό «αριθμός_μητρώου_καθηγητή». Παρατηρήστε ότι το κλειδί της οντότητας είναι υπογραμμισμένο.
Από τον τύπο οντότητας «Καθηγητής» προκύπτει ο Πίνακας «Καθηγητής» 43 Επώνυμο Καθηγητή Όνομα Καθηγητή Διεύθυνση Καθηγητή Codd Ted Mass. 10 Ullman Jeffrey Calif. 20 Widom Jennifer Calif. 30 Elmasri Ramez Mass. 40 Navathe Shamkant Mass. 50 Αριθμός Μητρώου Καθηγητή
44 Τύπος οντότητας Σπουδαστής και τα χαρακτηριστικά του!
45 Καθηγητής
46 Μάθημα
47 Ολοκληρώνουμε τη σχεδίαση του ΜΟΣ! Πρώτα ζωγραφίζουμε τη συσχέτιση «διδάσκει»
48 ΜΟΣ εκπαιδευτικής βάσης δεδομένων!
ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΔΙΚΑΣΙΩΝ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΕΔΟΜΕΝΩΝ
50 Παράδειγμα Ηλεκτρονικό Κατάστημα
51 Παράδειγμα Ηλεκτρονικό Κατάστημα