Post on 27-Aug-2020
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1
Διάγραμμα Οντοτήτων -Συσχετίσεων
Παύλος Εφραιμίδης
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 2
Σχεδιασμός μιας Βάσης Δεδομένων
• Τα βασικά βήματα για το σχεδιασμό και τηνανάπτυξη μιας Βάσης Δεδομένων είναι:– Ανάλυση Απαιτήσεων– Εννοιολογικός Σχεδιασμός– Σχεσιακό Σχήμα της ΒΔ– Υλοποίηση της ΒΔ
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 3
Εννοιολογικός Σχεδιασμός
• Διάγραμμα Οντοτήτων-Συσχετίσεων
ΕΡΓΑΖΟΜΕΝΟΣ ΤΜΗΜΑΑΝΗΚΕΙ ΣΤΟ
Όνομα ΑΤ
Διεύθυνση
Όνομα
Κωδικός
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 4
Διάγραμμα Οντοτήτων-Συσχετίσεων
• Το διάγραμμα Οντοτήτων-Συσχετίσεων (Entity-Relationship (E-R) diagram) περιλαμβάνει:– Οντότητες (Entities)– Συσχετίσεις (Relationships)– Ιδιότητες (Attributes) των οντοτήτων αλλά και τωνσυσχετίσεων
• Το διάγραμμα Οντοτήτων-Συσχετίσεων μπορεί νααπεικονιστεί σε ένα σχεσιακό σχήμα ΒάσηςΔεδομένων
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 5
Το Παράδειγμα ΕΤΑΙΡΕΙΑ• Απαιτήσεις (προδιαγραφές) για μια βάση δεδομένωνΕΤΑΙΡΕΙΑ για μια απλοποιημένη εταιρεία:– Η εταιρεία είναι οργανωμένη σε τμήματα– Κάθε ΤΜΗΜΑ ένα όνομα, κωδικό και έναν εργαζόμενοπου διευθύνει το τμήμα. Αποθηκεύεται η ημερομηνία πουανέλαβε ο διευθυντής τη διεύθυνση του τμήματος
– Κάθε τμήμα ελέγχει ένα σύνολο από ΕΡΓΑ– Κάθε ΕΡΓΟ έχει όνομα, κωδικό και βρίσκεται σε μίατοποθεσία
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 6
Το Παράδειγμα ΕΤΑΙΡΕΙΑ– Κάθε ΕΡΓΑΖΟΜΕΝΟΣ της εταιρείας έχει μοναδικό αριθμόταυτότητας (ΑΤ), διεύθυνση, μισθό, φύλο και ημερομηνίαγέννησης
– Κάθε εργαζόμενος ανήκει σε ένα τμήμα όμως μπορεί νααπασχολείται σε οποιοδήποτε πλήθος έργων οποιουδήποτετμήματος. Για κάθε έργο στο οποίο απασχολείται έναςεργαζόμενος καταχωρείται το πλήθος των ωρών πουεργάζεται σε αυτό
– Κάθε εργαζόμενος μπορεί να έχει έναν άμεσα προϊστάμενο– Κάθε εργαζόμενος μπορεί να έχει ένα ή περισσότεραεξαρτώμενα μέλη. Για τα μέλη αυτά κρατείται το όνομα, τοφύλλο, η ημερομηνία γέννησης και η σχέση με τονεργαζόμενο
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 7
Οντότητες• Ένα άτυπος ορισμός, είναι ότι οι οντότητεςείναι αντικείμενα ή πράγματα του προβλήματοςμε ανεξάρτητη ύπαρξη.
• Κάθε οντότητα έχει ένα σύνολο απόγνωρίσματα
• Παράδειγμα: Ο εργαζόμενος, το τμήμα, το έργοείναι οντότητες της βάσης δεδομένωνΕΤΑΙΡΕΙΑ
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 8
Γνωρίσματα• Τα γνωρίσματα (attributes) είναι ιδιότητες ήχαρακτηριστικά που περιγράφουν μιαοντότητα
• Παράδειγμα:– Ένας συγκεκριμένος εργαζόμενος με όνομα
“Πέτρος” και ΑΤ=Μ123456, έχει την τιμή“Πέτρος” στο γνώρισμα Όνομα και την τιμήΜ123456 στο γνώρισμα ΑΤ
• Κάθε γνώρισμα έχει συγκεκριμένα πεδίοτιμών που περιγράφει τι τιμές μπορεί να πάρει
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 9
Είδη Γνωρισμάτων• Απλά: Έχουν μία ατομική (όχι σύνθετη) τιμή, όπωςγια παράδειγμα ο ΑΤ ή το Φύλο
• Σύνθετα: Αποτελούνται από περισσότερα τμήματα. Παράδειγμα:– Η διεύθυνση μπορεί να περιλαμβάνει Πόλη, Οδό, Αριθμόκαι ΤΚ (Ταχυδρομικό Κώδικα)
• Πλειότιμα: Γνωρίσματα που επιτρέπεται να έχειπερισσότερες από μία τιμές για μία συγκεκριμένηοντότητα– Παράδειγμα: Ένας συγκεκριμένος φοιτητής που έχειπερισσότερους από έναν αριθμούς τηλεφώνου
• Επιτρέπονται γνωρίσματα που είναι οποιοδήποτεσυνδυασμός Σύνθετου και Πλειότιμου γνωρίσματος
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 10
Οντότητες και Τύποι Οντοτήτων• Οντότητες που περιγράφονται με τα ίδιαγνωρίσματα, για παράδειγμα όλοι οιεργαζόμενοι, ομαδοποιούνται σε έναν τύποοντότητας: ΕΡΓΑΖΟΜΕΝΟΣ. Όμοια όλα τα έργα έχουν τύπο οντότηταςΕΡΓΟ
• Πολλές φορές όταν θα λέμε απλά οντότητακαι μπορεί να αναφερόμαστε στον τύποοντότητας
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 11
Κλειδιά (1)• Κλειδί ενός τύπου οντότητας είναι ένα η περισσότεραγνωρίσματα της οντότητας τα οποία όλα μαζί έχουντιμή μοναδική για κάθε οντότητα.– Για παράδειγμα στην οντότητα εργαζόμενος, ένα κλειδί (με έναμόνο γνώρισμα) είναι ο ΑΤ του εργαζομένου. Ο ΑΤχαρακτηρίζει μονοσήμαντα κάθε εργαζόμενο. Δεν είναι δυνατόνα υπάρχουν δύο ή περισσότεροι εργαζόμενοι με τον ίδιο ΑΤ
• Το κλειδί μπορεί να είναι σύνθετο, να περιλαμβάνειδηλαδή περισσότερα του ενός γνωρίσματα– Για παράδειγμα για κάθε φοιτητή του ΔΠΘ, ο συνδυασμός τουκωδικού του τμήματος στο οποίο ανήκει και ο ΑΜ στοσυγκεκριμένο τμήμα, είναι μοναδικό.
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 12
Κλειδιά• Ένας τύπος οντότητας μπορεί να έχειπερισσότερα του ενός κλειδιά. Για παράδειγμακάθε αυτοκίνητο έχει– μοναδικό αριθμό κυκλοφορίας (πινακίδα)– μοναδικό αριθμό πλαισίου (στο αμάξωμα)
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 13
Σύμβολα Διαγράμματος Ο-Σ (1)Τύπος Οντότητας
Ασθενής Τύπος Οντότητας
Συσχέτιση
Προσδιορίζουσα Συσχέτιση
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 14
Σύμβολα Διαγράμματος Ο-Σ (2)Γνώρισμα
Γνώρισμα Κλειδί
Πλειότιμο Γνώρισμα
Σύνθετο Γνώρισμα
Παραγόμενο Γνώρισμα
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 15
Σύμβολα Διαγράμματος Ο-Σ (3)• Ολική συμμετοχή τηςΕ2 στη συσχέτιση R
• Πληθικότητα 1:Ν τηςσυσχέτισης R μεταξύΕ1 και Ε2
E1R E2
E1 R E2N1
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 16
Συσχετίσεις• Μια συσχέτιση συσχετίζει 2 ή περισσότερεςοντότητες και έχει μια συγκεκριμένη σημασία– Παράδειγμα: Μπορούμε να ορίσουμε τη συσχέτιση
“ΑΠΑΣΧΟΛΕΙΤΑΙ” μεταξύ του ΕΡΓΑΖΟΜΕΝΟΥ“Πέτρος” και του ΕΡΓΟΥ “Εγνατία Οδός” με τησημασία ότι ο Πέτρος απασχολείται στο έργο “ΕγνατίαΟδός”
• Όπως έχουμε οντότητες και τύπους οντοτήτωνέτσι έχουμε και ΣΥΣΧΕΤΙΣΕΙΣ και ΤΥΠΟΥΣΣΥΣΧΕΤΙΣΕΩΝ– Παράδειγμα: Όλες οι συσχετίσεις μεταξύ εργαζομένωνκαι των έργων στα οποία απασχολούνται μπορούν ναομαδοποιηθούν στον τύπο συσχέτιση“ΑΠΟΣΧΟΛΕΙΤΑΙ”
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 17
Βαθμός Συσχέτισης• Ο βαθμός μιας συσχέτισης είναι το πλήθοςτων οντοτήτων που συμμετέχουν στησυσχέτιση.
• Οι περισσότερες συσχετίσεις που θασυναντήσουμε είναι δυαδικές, έχουν δηλαδήβαθμό δύο
• Συσχετίσεις με βαθμό 3 ή μεγαλύτεροαπαιτούν ιδιαίτερη προσοχή στο χειρισμότους
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 18
Παράδειγμα Συσχέτισης Βαθμού 3
• Η συσχέτιση: Ο προμηθευτής s προμηθεύει το προϊόνp στο έργο j.
ΠΡΟΜΗΘΕΥΕΙΠΡΟΜΗΘΕΥΤΗΣ
ΠΡΟΪΟΝ
ΕΡΓΟ
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 19
Αναδρομικοί Τύποι Συσχετίσεων• Ένας τύπος οντοτήτων μπορεί νασυμμετέχει περισσότερες από μία φορές σεμία συσχέτιση, κάθε φορά με διαφορετικόρόλο:– Παράδειγμα: Ένας ΕΡΓΑΖΟΜΕΝΟΣ (ωςπροϊστάμενος) επιβλέπει έναν ΕΡΓΑΖΟΜΕΝΟ(ως υφιστάμενο)
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 20
Περιορισμοί στους ΤύπουςΣυσχετίσεων
• Λόγος Πληθικότητας• Περιορισμοί Συμμετοχής και ΕξαρτήσειςΎπαρξης
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 21
Λόγος Πληθικότητας Συσχέτισης• 1-1: Για παράδειγμα, ένας εργαζόμενος μπορεί ναδιευθύνει ένα μόνο τμήμα και ένα τμήμα μπορεί ναδιευθύνεται από έναν μόνο εργαζόμενο
• 1-Ν: Για παράδειγμα, ένα τμήμα μπορεί να έχειπολλούς εργαζόμενους, αλλά κάθε εργαζόμενοςανήκει σε ένα μόνο τμήμα
• Ν-Μ: Για παράδειγμα, ένας εργαζόμενος μπορεί νααπασχολείται σε πολλά έργα και ένα έργο μπορεί νααπασχολεί πολλούς εργαζόμενους
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 22
Περιορισμοί Συμμετοχής• Ο περιορισμός συμμετοχής (participation constraint)ορίζει αν η ύπαρξη μιας οντότητας εξαρτάται από το ανσχετίζεται με μια άλλη οντότητα μέσο του τύπου τηςσυσχέτισης
• Ο περιορισμός συμμετοχής καθορίζει το ελάχιστοπλήθος στιγμιοτύπων της συσχέτισης στις οποίεςμπορεί να συμμετέχει μια οντότητα
• Δύο τύποι περιορισμού συμμετοχής:– ολική (total) συμμετοχή: Κάθε εργαζόμενος πρέπει ναανήκει σε ένα τμήμα
– μερική (partial) συμμετοχή: Κάθε εργαζόμενος μπορεί ναδιευθύνει κάποιο τμήμα. (Δεν περιμένουμε ότι κάθεεργαζόμενος θα διευθύνει κάποιο τμήμα ...)
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 23
Εξαρτήσεις Ύπαρξης
• Η ολική συμμετοχή μερικές φορές λέγεταιεξάρτηση ύπαρξης
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 24
Γνωρίσματα Τύπων Συσχετίσεων
• Γνωρίσματα Τύπων Συσχετίσεων: Οιτύποι συσχετίσεων μπορούν να έχουνγνωρίσματα παρόμοια με αυτά των τύπωνοντοτήτων
• Παράδειγμα: Οι ώρες που απασχολείταιένας εργαζόμενος σε ένα έργο μπορούν νακαταχωρηθούν ως ιδιότητα της συσχέτισηςαπασχολείται
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 25
Μη Ισχυροί Τύποι Οντοτήτων (1)
• Μη ισχυροί τύποι οντοτήτων (weak entity types): Τύποι οντοτήτων που δεν έχουν κλειδιά μεδικά τους μόνο γνωρίσματα
• Ισχυροί Τύποι Οντοτήτων (strong entity types):Οντότητες με κλειδί που περιλαμβάνει μόνογνωρίσματα της οντότητας
• Παράδειγμα: Ο τύπος οντοτήτωνΕΞΑΡΤΩΜΕΝΟΣ στη ΒΔ Εταιρεία. Το κλειδί κάθε εξαρτώμενου είναι ο συνδυασμόςτου ονόματός του με το κλειδί του εργαζόμενου μετον οποίο σχετίζεται
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 26
Μη Ισχυροί Τύποι Οντοτήτων (2)• Οντότητες που ανήκουν σε μη ισχυρό τύπο οντοτήτωνπροσδιορίζονται– από τη σχέση τους με συγκεκριμένες οντότητες από έναν άλλοτύπο οντοτήτων,
– σε συνδυασμό με τις τιμές κάποιων γνωρισμάτων τους• Για παράδειγμα κάθε εξαρτώμενος προσδιορίζεται από τοόνομά του και από το κλειδί του εργαζόμενου με τον οποίοσχετίζεται
• Έννοιες:– Προσδιορίζουσα συσχέτιση– Προσδιορίζοντας ή ιδιοκτήτης τύπος οντότητας– Μερικό Κλειδί
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 27
Προσδιορίζουσα Συσχέτιση
• Προσδιορίζουσα Οντότητα• Προσδιορίζουσα Σχέση• Μια ασθενής οντότητα έχει υποχρεωτικάΟΛΙΚΗ ΣΥΜΜΕΤΟΧΗ στηνπροσδιορίζουσα συσχέτιση
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 28
Μερικό Κλειδί
• Μερικό Κλειδί: Μια ασθενής οντότητα έχειμερικό κλειδί που προσδιορίζει μοναδικάοντότητες που “ανήκουν” στην ίδια ισχυρήοντότητα
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 29
ΕΤΑΙΡΕΙΑΔιαγρ. Ο-Σ
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 30
Απεικόνιση σε Σχήμα
• Από ένα διάγραμμα Οντοτήτων-Συσχετίσεων μπορούμε να σχεδιάσουμε τοΣχήμα της Βάσης Δεδομένων
• Σε επόμενο μάθημα θα δούμε μιαμεθοδολογία για την απεικόνιση αυτή
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 31
Συμβολισμοί Διαγράμματος Ο-Σ
• Υπάρχουν διαφορετικές εκδοχές τουδιαγράμματος Ο-Σ
• Εμείς χρησιμοποιούμε μία από τις πιοδημοφιλείς εκδοχές του μοντέλου Ο-Σ (βλ. Παράρτημα Α του βιβλίου)
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 32
Άλλα μοντέλα ΕννοιολογικούΣχεδιασμού
• Επεκταμένο μοντέλο Ο-Σ (ΕΟΣ): Επεκτείνει τομοντέλο Ο-Σ με έννοιες αντικειμενοστρεφούςσχεδίασης– συσχέτιση κλάσης/υποκλάσης– εξειδίκευση/γενίκευση– κληρονομικότητα
• UML: Τα διαγράμματα UML χρησιμοποιούνταιστην τεχνολογία λογισμικού
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 33
Εννοιολογικό σχήμα Εταιρεία σε UML
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 34
Παράδειγμα Συσχέτισης Βαθμού 3
• Η συσχέτιση: Ο προμηθευτής s προμηθεύει το προϊόνp στο έργο j.
ΠΡΟΜΗΘΕΥΕΙΠΡΟΜΗΘΕΥΤΗΣ
ΠΡΟΪΟΝ
ΕΡΓΟ
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 35
Συσχέτισημεταξύ 3 οντοτήτων
• Διαφέρουν ωςπρος τη σημασίατους τα 3 διαφορετικάσχήματα;
Βάσεις Δεδομένων Διάγραμμα Ο-Σ 36
Πηγές/Αναφορές
• Κεφάλαιο 3 και μέρος του κεφαλαίου 4 απότο Βιβλίο του Μαθήματος: ΘεμελιώσειςΑρχές Συστημάτων Βάσεων Δεδομένων(Τόμος Α' - Έκδοση 4η), Elmasri & Navathe (Μετάφραση: Εκδόσεις ΔΙΑΥΛΟΣ)