ΔΙΑΓΡΑΜΜΑ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ
Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00)
Προτεινόμενα Βιβλία 3 Σχεσιακές βάσεις δεδομένων, 2η Έκδοση, Κεχρής Ευάγγελος, Εκδόσεις Κριτική Συστήματα Βάσεων Δεδομένων 6η Έκδοση, Abraham Silberschatz,Henry F. Korth,S. Sudarshan Συστήματα Διαχείρισης Βάσεων Δεδομένων, 3η Έκδοση, Ramakrishnan Raghu, Gehrke Joahannes Θεμελιώδεις αρχές συστημάτων βάσεων δεδομένων, Elmasri Ramez,Navathe Shamkant B. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ, ΤΑΜΠΑΚΑΣ ΒΑΣΙΛΕΙΟΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ SQL: ΜΙΑ ΠΡΑΚΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ, ΑΘΑΝΑΣΙΟΣ ΣΤΑΥΡΑΚΟΥΔΗΣ ΣΥΣΤΗΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ (ΣΕ ΕΝΑΝ ΤΟΜΟ), GARCIA- MOLINA, ULLMAN, WIDOM Βάσεις Δεδομένων: Σύγχρονη Διαχείριση, 11 Έκδοση, Hoffer J., Ramesh V., Topi H., Μιχαήλ Βαΐτης - Ευαγγελία Καβακλή (επιμέλεια)
Περιεχόμενο Μαθήματος 4 Μοντέλα Δεδομένων Διάγραμμα Οντοτήτων-Συσχετίσεων Οντότητα Γνωρίσματα Συσχέτιση Συμμετοχή Πολλαπλότητα
Μοντέλα Δεδομένων 5 Ένα μοντέλο δεδομένων παρέχει ένα σύνολο εννοιών που είναι απαραίτητες για την περιγραφή της βάσης δεδομένων.
Τύποι Μοντέλων Δεδομένων 6 Λογικά ή υψηλού επιπέδου Εύκολα κατανοητά από τον άνθρωπο Οι έννοιες τους αναπαριστώνται με σύμβολα Υλοποίησης Κατανοητά από τον άνθρωπο και τον Η/Υ Φυσικά ή χαμηλού επιπέδου Κατανοητά από ειδικούς της πληροφορικής Κατάλληλα για τεχνικές λεπτομέρειες
Παραδείγματα 7 Μοντέλων Δεδομένων Λογικά ή υψηλού επιπέδου: Μοντέλο Οντοτήτων-Συσχετίσεων (ΜΟΣ) Μοντέλα υλοποίησης Ιεραρχικό Δικτυωτό Σχεσιακό Αντικειμενοστραφές
Τύποι Μοντέλων Δεδομένων: μία εποπτική παρουσίαση 8 Φυσικά ή χαμηλού επιπέδου Μοντέλα Εφαρμογής Λογικά ή υψηλού επιπέδου Σχεσιακό Μοντέλο - 1970 Διάγραμμα Οντοτήτων Συσχετίσεων - 1976
Διάγραμμα Οντοτήτων- Συσχετίσεων (ΔΟΣ) 9 Προτάθηκε από τον Peter Chen το 1976 Οι βασικές του έννοιες είναι: Οντότητα Γνώρισμα Συσχέτιση Peter Chen Υιοθετεί σύμβολα για την αναπαράσταση αυτών των εννοιών
Οντότητα 10 Φυσικό ή νοητό αντικείμενο του πραγματικού κόσμου και για το οποίο θέλουμε να αποθηκεύσουμε δεδομένα στη βάση δεδομένων Κάθε οντότητα συμβολίζεται με ένα παραλληλόγραμμο Μέσα στο παραλληλόγραμμο γράφουμε το όνομα της οντότητας (συνήθως στον ενικό) ΟΝΤΟΤΗΤΑ
Παράδειγμα οντοτήτων 11 Μία βάση δεδομένων αναπτύσσεται για ένα εκπαιδευτικό ίδρυμα Θέλουμε να περιγράψουμε αυτή τη βάση δεδομένων με ένα ΔΟΣ Μας δίνεται ότι στη βάση δεδομένων θα αποθηκεύονται δεδομένα που αφορούν τους ΚΑΘΗΓΗΤΕΣ και τα ΤΜΗΜΑΤΑ του εκπαιδευτικού ιδρύματος. Τότε, το ΔΟΣ που περιγράφει τη βάση δεδομένων, θα πρέπει να περιέχει τις οντότητες ΚΑΘΗΓΗΤΗΣ και ΤΜΗΜΑ: ΚΑΘΗΓΗΤΗΣ ΤΜΗΜΑ
Η οντότητα ΚΑΘΗΓΗΤΗΣ και οι αντιπρόσωποί της 12 Η οντότητα ΚΑΘΗΓΗΤΗΣ αναπαριστάνει όλα τα φυσικά πρόσωπα του πραγματικού κόσμου που είναι καθηγητές στο εκπαιδευτικό ίδρυμα. Ισοδύναμα λέμε: Κάθε ένας καθηγητής του ιδρύματος είναι ένας αντιπρόσωπος της οντότητας ΚΑΘΗΓΗΤΗΣ. ΚΑΘΗΓΗΤΗΣ
Οι αντιπρόσωποι ως μέλη ενός συνόλου 13 Οι αντιπρόσωποι μίας οντότητας αναπαριστάνονται ως μέλη ενός συνόλου. Μας δίνεται ότι στο ίδρυμα υπάρχουν 5 καθηγητές, οι Κ1, Κ2, Κ3, κ4 και Κ5: ΚΑΘΗΓΗΤΕΣ Κ1 Κ2 ΚΑΘΗΓΗΤΗΣ Κ3 Κ4 Κ5
Η οντότητα ΤΜΗΜΑ και οι αντιπρόσωποί της 14 Η οντότητα ΤΜΗΜΑ αναπαριστάνει όλα τα νοητά αντικείμενα του πραγματικού κόσμου που είναι τμήματα του εκπαιδευτικού ιδρύματος. Ισοδύναμα λέμε: Κάθε ένα τμήμα του ιδρύματος είναι ένας αντιπρόσωπος της οντότητας ΤΜΗΜΑ. Μας δίνεται ότι το ίδρυμα έχει δύο τμήματα: Τ1 και Τ2: ΤΜΗΜΑΤΑ Τ1 ΤΜΗΜΑ Τ2
Γνωρίσματα 15 Οι οντότητες έχουν ιδιότητες που τις περιγράφουν. Οι ιδιότητες αυτές ονομάζονται γνωρίσματα (attributes). Τα γνωρίσματα αναπαριστάνονται με την έλλειψη. Τα γνωρίσματα των οντοτήτων αναπαριστούν συγκεκριμένα δεδομένα που θέλουμε να αποθηκεύσουμε στη βάση δεδομένων
Γνωρίσματα 16 Μας δίνεται ότι στη βάση δεδομένων για κάθε τμήμα θα αποθηκεύεται, το όνομά του και το τηλέφωνό του τμήματος: Όνομα Τηλέφωνο ΤΜΗΜΑ
Στο ΔΟΣ: γνωρίσματα, όχι τιμές 17 Στο ΔΟΣ δεν εμφανίζονται πιθανές τιμές χαρακτηριστικών Στα μέλη ενός συνόλου, ωστόσο, μπορεί να εμφανίζεται οι τιμές κάθε γνωρίσματος Μας δίνεται ότι στο ίδρυμα υπάρχει το Τμήμα Πληροφορικής με τηλέφωνο 2321054321 και το Τμήμα Λογιστική με τηλέφωνο 2321065432. ΤΜΗΜΑΤΑ (Τμήμα Πληροφορικής, 23210 54321) Όνομα Τηλέφωνο Τ1 (Τμήμα Λογιστικής, 23210 65432) ΤΜΗΜΑ Τ2 Αναπαράσταση τμημάτων ως μέλη συνόλου Αναπαράσταση τμημάτων με την οντότητα
Είδη γνωρισμάτων 18 Πρωτεύον (primary attribute) Σύνθετο (composite attribute) Πολλαπλών Τιμών (multi-valued attribute) Συναγόμενο (derived attribute)
Πρωτεύον γνώρισμα 19 έχει μοναδικές τιμές Κάθε οντότητα πρέπει να έχει πρωτεύων γνώρισμα Π.χ: ο Αριθμός Φορολογικού Μητρώου καθηγητή είναι πρωτεύον γνώρισμα, επειδή δεν είναι δυνατό δύο καθηγητές να έχουν το ίδιο ΑΦΜ ΑΦΜ Όνομα ΚΑΘΗΓΗΤΗΣ
Σύνθετο Γνώρισμα 20 Αποτελείται απλούστερα χαρακτηριστικά Π.χ: Η διεύθυνση ΚΑΘΗΓΗΤΗΣ Διεύθυνση Οδός Αριθμός Πόλη
Γνώρισμα Πολλαπλών Τιμών 21 Μπορεί να πάρει περισσότερες από μία τιμές Π.χ: τα πτυχία ενός Καθηγητή ΚΑΘΗΓΗΤΗΣ Πτυχία
Συναγόμενο Γνώρισμα 22 Υπολογίζεται με βάση άλλα χαρακτηριστικά Π.χ: η ηλικία του καθηγητή ΚΑΘΗΓΗΤΗΣ Ηλικία ΗμερΓέννησης
Συσχέτιση 23 Οι οντότητες συσχετίζονται μεταξύ τους. Η συσχέτιση μεταξύ δύο οντοτήτων μπορεί να δείχνει συνεργασία, αλληλεπίδραση ή άλλου είδους σχέση. Η συσχέτιση συμβολίζεται με έναν ρόμβο. Μέσα στον ρόμβο αναγράφεται η ονομασία της συσχέτισης που είναι ένα ρήμα. Για παράδειγμα: ο καθηγητής ανήκει στο Τμήμα ΚΑΘΗΓΗΤΗΣ Ανήκει ΤΜΗΜΑ
Συσχέτιση 24 Μία συσχέτιση διαβάζεται πάντοτε με δύο τρόπους. Στο παρακάτω παράδειγμα η συσχέτιση «Ανήκει» διαβάζεται: Ο Καθηγητής ανήκει σε Τμήμα ΚΑΙ Σε Τμήμα ανήκει Καθηγητής ΚΑΘΗΓΗΤΗΣ Ανήκει ΤΜΗΜΑ
Αναπαράσταση συσχέτισης ως σύνολο 25 Μία συσχέτιση μπορεί να αναπαρασταθεί ως ένα σύνολο, όπως φαίνεται στο επόμενο παράδειγμα Στο τμήμα Πληροφορικής ανήκουν 2 καθηγητές και στο τμήμα Λογιστικής 3 (Ποιοί;) ΚΑΘΗΓΗΤΕΣ (012345678, Ανδρέας Ζάχαρης) Κ1 (023456789, Γεωργία Γλύκα) Κ2 (034567891, Γεωργία Πίκρα) Κ3 (045678912, Ελένη Ξύδη) Κ4 (056789123, Ζαχαρίας Μούστος) Κ5 ΑΝΗΚΟΥΝ Α1 Α2 Α3 Α4 Α5 ΤΜΗΜΑΤΑ (Τμήμα Πληροφορικής, 23210 54321) Τ1 (Τμήμα Λογιστικής, 23210 65432) Τ2
Είδη Συσχετίσεων 26 Τα είδη συσχετίσεων εξαρτώνται από: Την συμμετοχή Τον Λόγο Πολλαπλότητας
Συμμετοχή 27 Ολική: όλοι οι αντιπρόσωποι μίας οντότητας συμμετέχουν σε μία συσχέτιση Η ολική συμμετοχή αναπαριστάνεται με συνεχόμενη γραμμή: Μερική: ορισμένοι (και όχι όλοι) οι αντιπρόσωποι μίας οντότητας συμμετέχουν σε μία συσχέτιση Η μερική συμμετοχή αναπαριστάνεται με διακεκομμένη γραμμή:
Παράδειγμα Συμμετοχής 28 Ολική συμμετοχή από την πλευρά της οντότητας Α: ΟΛΟΙ οι αντιπρόσωποι της οντότητας Α συμμετέχουν στη συσχέτιση Σ Μερική συμμετοχή από την πλευρά της οντότητας Β: ΟΡΙΣΜΕΝΟΙ αντιπρόσωποι της οντότητας Β συμμετέχουν στην συσχέτιση Σ. Α Σ Β
Παράδειγμα συμμετοχής 29 Η παρακάτω συσχέτιση έχει ολική συμμετοχή από το μέρος του Α και μερική από το μέρος του Β. Α Σ Β Α1 Σ1 Β1 Α2 Σ2 Σ3 Β2 Β3 Α Σ Β4 Β
Πολλαπλότητα 30 Επάνω σε κάθε γραμμή ενός ΔΟΣ που συνδέει μία συσχέτιση με μία οντότητα σημειώνουμε είτε το σύμβολο 1 είτε το σύμβολο Μ (που διαβάζεται ΠΟΛΛΑ). Καθένα από τα σύμβολα αυτά από μόνο του λέγεται πολλαπλότητα και δίνει σημαντικές πληροφορίες για την συσχέτιση.
Παράδειγμα πολλαπλότητας 31 Κάποιος αντιπρόσωπος από το Α συσχετίζεται με ΠΟΛΛΟΥΣ αντιπροσώπους του Β Α Σ Β Κάθε αντιπρόσωπος από το Β συσχετίζεται με ΈΝΑΝ αντιπρόσωπο του Α Α 1 Σ1 Β1 Σ2 Β2 Α 2 Σ3 Β3 Β4 Α 1 Μ Σ Β
Εναλλακτικά λέμε: 32 Κάποιο Α συσχετίζεται με ΠΟΛΛΑ Β Α Σ Β Κάθε Β συσχετίζεται με ΈΝΑ Α Α 1 Σ1 Β1 Σ2 Β2 Α 2 Σ3 Β3 Β4 Α 1 Μ Σ Β
Συσχέτιση «Ένα Προς Πολλά» 33 Η πολλαπλότητα είναι 'πολλά' (Μ) από το μέρος της οντότητας B και 'ένα' (1) από το μέρος της A. Επομένως ο λόγος πολλαπλότητας της συσχέτισης Σ είναι ' ένα προς πολλά' αν αναγνώσουμε τη συσχέτιση ξεκινώντας από την οντότητα Α. Α 1 Μ Σ Β
Συσχέτιση «Πολλά προς Ένα» 34 Υπενθύμιση: Κάθε συσχέτιση διαβάζεται και προς τις δύο κατευθύνσεις Ο λόγος πολλαπλότητας της συσχέτισης είναι 'ένα προς πολλά' αν διαβάσουμε τη συσχέτιση ξεκινώντας από την οντότητα A. Επειδή, όταν αναφερόμαστε σε μία συσχέτιση, δεν προσδιορίζουμε την οντότητα από την οποία ξεκινάμε την ανάγνωση, ο λόγος 'ένα προς πολλά' είναι ίδιος με τον λόγο πολλαπλότητας 'πολλά προς ένα'. Α 1 Μ Σ Β
Λόγος Πολλαπλότητας 35 Δείχνει με πόσους αντιπροσώπους μίας άλλης οντότητες συσχετίζεται ένας αντιπρόσωπος κάποιας οντότητας Πιθανές τιμές: Ένα προς Ένα (1:1) Ένα προς Πολλά (1:Μ ή 1:Ν) που είναι ίδιο με το Πολλά προς Ένα Πολλά προς Πολλά (Μ:Μ ή Ν:Ν)
Παράδειγμα Λόγου Πολλαπλότητας 36 Κάποιο τμήμα έχει εγγεγραμμένους ΠΟΛΛΟΥΣ φοιτητές Κάθε φοιτητής εγγράφεται σε ΈΝΑ τμήμα ΦΟΙΤΗΤΗΣ Ν 1 Εγγράφεται ΤΜΗΜΑ
Προσδιορισμός της συμμετοχής 37 Ας υποθέσουμε ότι η συσχέτιση Σ συνδέει τις οντότητες Α και Β. Για να προσδιορίσουμε την συμμετοχή της οντότητας Α σε μία συσχέτιση Σ κάνουμε την εξής ερώτηση: «Όλα τα Α συμμετέχουν στη Σ;» Αν η απάντηση στην ερώτηση αυτή είναι «ΝΑΙ» τότε η συσχέτιση από το μέρος του Α είναι ολική. Αν η απάντηση στην ερώτηση αυτή είναι «ΟΧΙ, υπάρχει τουλάχιστον ένα Α που δεν συμμετέχει στη Σ», τότε η συσχέτιση από το μέρος του Α είναι μερική. Με την αντίστοιχη ερώτηση «Όλα τα Β συμμετέχουν στη Σ;» προσδιορίζουμε τη συμμετοχή του Β.
Προσδιορισμός της πολλαπλότητας 38 Ας υποθέσουμε ότι η συσχέτιση Σ συνδέει τις οντότητες Α και Β. Για να προσδιορίσουμε την πολλαπλότητα από το μέρος της οντότητας Β κάνουμε την εξής ερώτηση: «Κάθε Α συσχετίζεται με ΕΝΑ Β;» Αν η απάντηση στην ερώτηση αυτή είναι «ΝΑΙ» τότε η πολλαπλότητα από το μέρος του Β είναι 1. Αν η απάντηση στην ερώτηση αυτή είναι «ΟΧΙ, υπάρχει τουλάχιστον ένα Α που συσχετίζεται με ΠΟΛΛΑ Β», τότε η πολλαπλότητα από το μέρος του Β είναι Μ. Με την αντίστοιχη ερώτηση «Κάθε Β συσχετίζεται με ΕΝΑ Α;» προσδιορίζουμε την πολλαπλότητα από το μέρος της οντότητας Α.
Ασθενείς Οντότητες 39 Κανονικά κάθε οντότητα πρέπει να έχει ένα πρωτεύον χαρακτηριστικό. Υπάρχουν περιπτώσεις που αυτό δεν είναι δυνατό. Οντότητες που δεν έχουν δικό τους πρωτεύον κλειδί λέγονται ασθενείς οντότητες Οι οντότητες αυτές προσδιορίζονται μόνο σε σχέση με κάποιες άλλες οντότητες
Παράδειγμα Ασθενούς Οντότητας 40 ΑΦΜ Μερικό πρωτεύον χαρακτηριστικό Όνομα ΚΑΘΗΓΗΤΗΣ Έχει ΠΑΙΔΙ Προσδιορίζουσα οντότητα Προσδιορίζουσα συσχέτιση
Αναδρομικές Συσχετίσεις 41 Συνήθως μία συσχέτιση συνδέει μία οντότητα με μία άλλη οντότητα Υπάρχουν συσχετίσεις που συνδέουν μία οντότητα με τον εαυτό της. Οι συσχετίσεις αυτές λέγονται αναδρομικές Ο προσδιορισμός τους διευκολύνεται από την κατάλληλη λεκτική διαμόρφωση της πρότασης
Λεκτική Διαμόρφωση 42 Οι φοιτητές παρακολουθούν μαθήματα Ουσιαστικό Ρήμα Ουσιαστικό ΣΠΟΥΔΑΣΤΗΣ Παρακολουθεί ΜΑΘΗΜΑ
Εντοπισμός Αναδρομικής Συσχέτισης 43 [ορισμένα] Μαθήματα προαπαιτούν [κάποια άλλα] μαθήματα Προαπαιτεί Ρήμα Ουσιαστικό Ουσιαστικό ΜΑΘΗΜΑ
ΔΟΣ και Περιορισμοί 44 Δεν επιτρέπει την καταγραφή των περιορισμών που πρέπει να ικανοποιούνται από τα δεδομένα Στο στάδιο της υλοποίησης της βάσης δεδομένων, με χρήση ενός ΣΔΒΔ, είναι δυνατή η περιγραφή των περιορισμών. Οι περιορισμοί αυτοί αποθηκεύονται μόνιμα στον κατάλογο του ΣΔΒΔ και επιβάλλονται αυτόματα από αυτό.
Ανάπτυξη ΔΟΣ στην πράξη 45 Συλλογή κατάλληλων πληροφοριών από τους χρήστες Σταδιακή ανάπτυξη του ΔΟΣ Χρήση κατάλληλων εργαλείων
Συλλογή πληροφοριών 46 Οι πληροφορίες συλλέγονται από: Συνεντεύξεις με χρήστες Επιχειρησιακά έγγραφα Επιτόπια παρατήρηση
Χρήση Κατάλληλων Εργαλείων 47 Υπάρχουν ειδικά προγράμματα που μπορούν να βοηθήσουν στην ανάπτυξη ΜΟΣ: Γενικά σχεδιαστικά προγράμματα π.χ. Smartdraw (www.smartdraw.com) Εξειδικευμένα προγράμματα CASE tools τα οποία ελέγχουν και επιβάλλουν κανόνες σχεδίασης Π.χ: S-designer
Σταδιακή Ανάπτυξη ΔΟΣ 48 Α στάδιο: συλλέγονται πληροφορίες από κάθε χρήστη χωριστά Για κάθε χρήστη αναπτύσσεται το ΔΟΣ που περιγράφει τις πληροφορίες που έδωσε ο χρήστης αυτός Β στάδιο: τα επιμέρους ΔΟΣ των χρηστών ενοποιούνται σε ένα ενιαίο (συγκεντρωτικό ΜΟΣ)
ΤΕΛΟΣ ΕΝΟΤΗΤΑΣ