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