Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1
Διαδικασία Απεικόνισης 1. Απεικόνιση κανονικών τύπων οντοτήτων 2. Απεικόνιση Μη-ισχυρών τύπων οντοτήτων 3. Απεικόνιση δυαδικών τύπων συσχετίσεων 1:1 4. Απεικόνιση 1:Ν δυαδικών τύπων συσχετίσεων 5. Απεικόνιση Μ:Ν τύπων συσχετίσεων 6. Απεικόνιση πλειότιμων γνωρισμάτων 7. Απεικόνιση n-αδικών τύπων συσχετίσεων Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 2
ΕΤΑΙΡΕΙΑ Διαγρ. Ο-Σ Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 3
Βήμα 1: Κανονικοί Τύποι Οντοτήτων Για κάθε κανονική (ισχυρή) οντότητα Ε στο διάγραμμα Ο-Σ δημιουργούμε μια σχέση R που περιλαμβάνει όλα τα απλά γνωρίσματα της Ε Επιλέγουμε ένα απά τα γνωρίσματα κλειδιά της Ε ως πρωτεύον κλειδί της σχέσης R. Εάν το κλειδί που επιλέγουμε είναι σύνθετο, το σύνολο των γνωρισμάτων που αποτελούν το σύνθετο κλειδί, αποτελούν όλα μαζί το πρωτεύον κλειδί της σχέσης R Παράδειγμα: Δημιουργούμε τις σχέσεις ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ και ΕΡΓΟ στο σχεσιακό σχήμα για τις αντίστοιχες κανονικές οντότητες του διαγράμματος Ο-Σ. Τα γνωρίσματα ΑΡ-ΤΑΥΤ, ΚΩΔ_ΤΜΗΜ και ΚΩΔ_ΕΡΓΟΥ είναι τα πρωτεύοντα κλειδιά για τις σχέσεις ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ και ΕΡΓΟ, αντίστοιχα. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 4
Βήμα 2: Απεικόνιση Μη-ισχυρών τύπων οντοτήτων (1/2) Για κάθε μη ισχυρή οντότητα W στο διάγραμμα Ο-Σ, δημιουργούμε μια σχέση R που περιλαμβάνει όλα τα απλά γνωρίσματα της W ως γνωρίσματα της σχέσης. Επιπλέον, συμπεριλαμβάνουμε ως ξένα κλειδιά στην R τα πρωτεύοντα κλειδιά των σχέσεων που αντιστοιχούν στους τύπους οντοτήτων-ιδιοκτήτες της W. Το πρωτεύον κλειδί της R είναι ο συνδυασμός των πρωτευόντων κλειδιών των ιδιοκτητών και του μερικού κλειδιού της μη-ισχυρής οντότητας W, εάν υπάρχει. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 5
Βήμα 2: Απεικόνιση Μη-ισχυρών Παράδειγμα: τύπων οντοτήτων (2/2) Δημιουργούμε μια σχέση ΕΞΑΡΤΩΜΕΝΟΣ για τη μη-ισχυρή οντότητα ΕΞΑΡΤΩΜΕΝΟΣ. Συμπεριλαμβάνουμε ως ξένο κλειδί στη σχέση το πρωτεύον κλειδί ΑΡ_ΤΑΥΤ της σχέσης ΕΡΓΑΖΟΜΕΝΟΣ, μετονομασμένο σε Ε_ΑΡΤΑΥΤ. Το πρωτεύον κλειδί της σχέσης ΕΞΑΡΤΩΜΕΝΟΣ είναι ο συνδυασμός {Ε_ΑΡΤΑΥΤ, ΟΝΟΜ_ΕΞΑΡΤΩΜΕΝΟΥ} διότι το γνώρισμα ΟΝΟΜ_ΕΞΑΡΤΩΜΕΝΟΥ είναι το μερικό κλειδί της μη-ισχυρής οντότητας ΕΞΑΡΤΩΜΕΝΟΣ του διαγράμματος Ο-Σ. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 6
Βήμα 3: Απεικόνιση δυαδικών τύπων συσχετίσεων 1:1 (1/2) Για κάθε δυαδική συσχέτιση 1:1 με όνομα έστω R, προσδιορίζουμε τις σχέσεις S και T που αντιστοιχούν στους τύπους οντοτήτων που συμμετέχουν στην R. Υπάρχουν 3 δυνατές προσεγγίσεις για την απεικόνιση της συσχέτισης. 1. Ξένο Κλειδί: Επιλέγουμε μία από τις σχέσεις, για παράδειγμα την S, και προσθέτουμε στη σχέση S ως ξένο κλειδί το πρωτεύον κλειδί της Τ. Είναι προτιμότερο να επιλέξουμε μια σχέση με ολική συμμετοχή στη συσχέτιση R. Παράδειγμα: Ησυσχέτιση1:1 ΔΙΕΥΘΥΝΕΙ μπορεί να απεικονιστεί στο σχεσιακό σχήμα με την προσθήκη στη σχέση ΤΜΗΜΑ του πρωτεύοντος κλειδιού της σχέσης ΕΡΓΑΖΟΜΕΝΟΣ, μετονομασμένο σε Διευθυντής. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 7
Βήμα 3: Απεικόνιση δυαδικών τύπων συσχετίσεων 1:1 (2/2) 2. Συγχώνευση των δύο σχέσεων:μια διαφορετική απεικόνιση της συσχέτισης R είναι να συγχωνευτούν οι δύο τύποι οντοτήτων σε μία σχέση. Αυτή η περίπτωση είναι για παράδειγμα κατάλληλη για συσχετίσεις 1:1 όπου και οι δύο τύποι οντοτήτων συμμετέχουν με ολική συμμετοχή. 3. Χρήση Σχέσης για τη Συσχέτιση: Ησυσχέτισημπορείνα απεικονισθεί σε μια νέα σχέση η οποία θα αναφέρεται στα πρωτεύοντα κλειδιά των σχέσεων S και T. Η πιο χρήσιμη είναι η πρώτη προσέγγιση, ενώ υπό προϋποθέσεις μπορεί να επιλέγεται και μία από τις άλλες προσεγγίσεις. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 8
Βήμα 4: Απεικόνιση 1:Νδυαδικών τύπων συσχετίσεων Για κάθε κανονικό δυαδικό 1:Ν τύπο συσχέτισης R, προσδιορίζουμε τη σχέση S που αναπαριστά τον τύπο οντότητας στην πλευρά Ν της συσχέτισης. Προσθέτουμε στη σχέση S ως ξένο κλειδί, το πρωτεύον κλειδί της σχέσης T που αναπαριστά τον άλλο τύπο οντοτήτων που συμμετέχει στη συσχέτιση R. Προσθέτουμε τυχόν απλά γνωρίσματα της συσχέτισης 1:Ν ως γνωρίσματα στη σχέση S. Παράδειγμα: Η συσχέτιση ΕΡΓΑΖΕΤΑΙ συμπεριλαμβάνουμε το πρωτεύον κλειδί της σχέσης ΤΜΗΜΑ ως ξένο κλειδί στη σχέση ΕΡΓΑΖΟΜΕΝΟΣ και το ονομάζουμε ΑΡΙΘ_Τ. Άλλες συσχετίσεις 1:Ν είναι η συσχέτιση ΕΛΕΓΧΕΙ και η συσχέτιση ΕΠΙΒΛΕΨΗ. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 9
Βήμα 5: Απεικόνιση δυαδικών Μ:Ν τύπων συσχετίσεων (1/2) Για κάθε κανονικό δυαδικό M:N τύπο συσχέτισης R, δημιουργούμε μια νέα σχέση S για να αναπαραστήσει την R. Προσθέτουμε στη σχέση S ως ξένα κλειδιά τα πρωτεύοντα κλειδιά των σχέσεων που αναπαριστούν τους τύπους οντοτήτων που συμμετέχουν στον τύπο συσχέτισης. Ο συνδυασμός αυτών των ξένων κλειδιών θα είναι το πρωτεύον κλειδί της σχέσης S. Επίσης συμπεριλαμβάνουμε τυχόν απλά γνωρίσματα του M:N τύπου συσχέτισης ως γνωρίσματα της σχέσης S Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 10
Βήμα 5: Απεικόνιση δυαδικών Μ:Ν τύπων συσχετίσεων (2/2) Παράδειγμα: Ο M:N τύπος συσχέτισης ΑΠΑΣΧΟΛΗΣΗ από το διάγραμμα Ο-Σ απεικονίζεται σε μια νέα σχέση ΑΠΑΣΧΟΛΗΣΗ στο σχεσιακό σχήμα της βάσης δεδομένων. Τα πρωτεύοντα κλειδιά των σχέσεων ΕΡΓΟ και ΕΡΓΑΖΟΜΕΝΟΣ συμπεριλαμβάνονται ως ξένα κλειδιά στη σχέση ΑΠΑΣΧΟΛΗΣΗ και μετονομάζονται σε Ε_ΑΡΤΑΥΤ και Κ_ΕΡΓΟ. Το γνώρισμα ΩΡΕΣ του τύπου συσχέτισης ΑΠΑΣΧΟΛΗΣΗ απεικονίζεται στο γνώρισμα ΩΡΕΣ της σχέσης ΑΠΑΣΧΟΛΗΣΗ. Το πρωτεύον κλειδί της σχέσης ΑΠΑΣΧΟΛΗΣΗ είναι ο συνδυασμός των ξένων κλειδιών {Ε_ΑΡΤΑΥΤ, Κ_ΤΜΗΜΑ }. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 11
Βήμα 6: Απεικόνιση πλειότιμων γνωρισμάτων (1/2) Για κάθε πλειότιμο γνώρισμα Α δημιουργούμε μια νέα σχέση R στο σχεσιακό σχήμα. Η σχέση R θα περιέχει ένα γνώρισμα που θα αντιστοιχεί στο Α και ως ξένο κλειδί το πρωτεύον κλειδί Κ της σχέσης που αντιστοιχεί στον τύπο οντοτήτων ή τον τύπο συσχέτισης που έχει το Α ως γνώρισμα Το πρωτεύον κλειδί της σχέσης R είναι ο συνδυασμός των Α και Κ. Εάν το πλειότιμο γνώρισμα είναι σύνθετο, συμπεριλαμβάνουμε όλα τα επιμέρους απλά συνθετικά του. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 12
Βήμα 6: Απεικόνιση πλειότιμων γνωρισμάτων (2/2) Παράδειγμα: Για το πλειότιμο γνώρισμα «Τοποθεσίες» του τύπου οντοτήτων ΤΜΗΜΑ, δημιουργούμε μια σχέση ΤΟΠΟΘ_ΤΜΗΜΑ. Τα γνωρίσματα της σχέσης ΤΟΠΟΘ_ΤΜΗΜΑ είναι το Τ_ΤΟΠΟΘΕΣΙΑ και το ΚΩΔ_ΤΜΗΜ. Πρωτεύον κλειδί της σχέσης ΤΟΠΟΘ_ΤΜΗΜΑ είναι ο συνδυασμός των {ΚΩΔ_ΤΜΗΜ, Τ_ΤΟΠΟΘΕΣΙΑ}. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 13
Βήμα 7: Απεικόνιση n-αδικών τύπων συσχετίσεων Για κάθε n-αδικότύποσυσχέτισηςr, με n>2, δημιουργούμε μια νέα σχέση S που θα αναπαριστά τον R. Περιλαμβάνουμε ως ξένα κλειδιά στην S τα πρωτεύοντα κλειδιά των σχέσεων που αναπαριστούν τους τύπους οντοτήτων που συμμετέχουν στον R. Επίσης προσθέτουμε τυχόν απλά γνωρίσματα του n-αδικού τύπου συσχέτισης ως γνωρίσματα στην S. Παράδειγμα: Ο τύπος συσχέτισης ΠΡΟΜΗΘΕΥΕΙ μπορεί να απεικονιστεί στη σχέση ΠΡΟΜΗΘΕΥΕΙ που έχει ως πρωτεύον κλειδί το συνδυασμό των ξένων κλειδιών {ΟΝΟΜΑ, ΚΩΔ_ΑΝΤΙΚ, ΟΝΟΜΑ_ΕΡΓΟΥ}. Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 14
Τριαδικός Τύπος Συσχέτισης «ΠΡΟΜΗΘΕΥΕΙ» Όνομα Όνομα_Έργου ΠΡΟΜΗΘΕΥΤΗΣ ΠΡΟΜΗΘΕΥΕΙ ΕΡΓΟ Κωδ_Αντικ ΑΝΤΙΚΕΙΜΕΝΟ Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 15
συγκεντρωτικά Μοντέλο Ο-Σ τύπος οντότητας τύπος συσχέτισης 1:1 ή 1:Ν n-αδικός τύπος συσχέτισης απλό γνώρισμα σύνθετο γνώρισμα πλειότιμο γνώρισμα σύνολο τιμών γνώρισμα κλειδί Σχεσιακό Μοντέλο σχέση οντοτήτων ξένο κλειδί (ήσχέση συσχέτισης ) σχέση συσχέτισης και n ξένα κλειδιά γνώρισμα σύνολο απλών συστατικών ενός γνωρίσματος σχέση και ξένο κλειδί πεδίο ορισμού πρωτεύον (ήδευτερεύον) κλειδί Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 16
Σχεσιακό Σχήμα Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 17
Πηγές/Αναφορές Κεφάλαιο 7 από το Βιβλίο του Μαθήματος: Θεμελιώσεις Αρχές Συστημάτων Βάσεων Δεδομένων (Τόμος Α' - Έκδοση 4η), Elmasri & Navathe (Μετάφραση: Εκδόσεις ΔΙΑΥΛΟΣ) Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 18