Μετατροπή Ο/Σ σε Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Πηγή διαφανειών Γ. Βασιλακόπουλος «Συστήματα Βάσεων Δεδομένων»,
Εννοιολογικός σχεδιασμός Προσδιορισμός απαιτούμενων δεδομένων Τρόπος οργάνωσης σε ανώτερο επίπεδο αφαίρεσης Λιγότερο στον προσδιορισμό του τρόπου εκτέλεσης των δοσοληψιών επί το δεδομένων
Εννοιολογικός σχεδιασμός Προσδιορισμός αντικειμένων δεδομένων Οντότητες, Χαρακτηριστικά, Συσχετίσεις Ονομασία και ορισμός αντικείμενων Τεκμηρίωση (καταγραφή στο λεξικό δεδομένων)
Μετατροπή Σχήματος Ο-Σ σε Σχεσιακό Όσα αναφέρουμε είναι δεν θα πρέπει να ληφθούν ως αυστηροί κανόνες. Είναι ενδεικτικά παραδείγματα που βοηθούν στην μετατροπή Ο-Σ σε Σχεσιακό Σχήμα.
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δημιουργούμε ένα σχήμα σχέσης που παίρνει το όνομα του αντίστοιχου τύπου.
Συσχετίσεις Γενικά, για κάθε συσχέτιση R μεταξύ n τύπων οντοτήτων που αντιστοιχούν στις σχέσεις S 1, S 2,, S n δημιουργούμε μια νέα σχέση R με γνωρίσματα: τα γνωρίσματα (ξένα κλειδιά) του πρωτεύοντος κλειδιού κάθε συμμετέχουσας σχέσης S i τα γνωρίσματα της R (αν υπάρχουν) Θα δούμε κάποιες ειδικές περιπτώσεις
Μοντέλο οντοτήτων-συσχετίσεων. Ο συνδυασμός ενός διαγράμματος οντοτήτων-σχέσεων και του αντίστοιχου συνόλου κανονικοποιημένων πινάκων ονομάζεται μοντέλο οντοτήτωνσυσχετίσεων. Για την κατασκευή ενός μοντέλου οντοτήτων-συσχετίσεων είναι πολλές φορές προτιμότερο να αρχίσει κανείς με την κατασκευή ενός βασικού μοντέλου οντοτήτων-συσχετίσεων (basic entity-relationship model). Ένα τέτοιο μοντέλο αποτελείται από ένα διάγραμμα οντοτήτων συσχετίσεων και από ένα αντίστοιχο σύνολο πινάκων που ονομάζονται βασικοί πίνακες. Ένας βασικός πίνακας περιέχει μόνον εκείνα τα χαρακτηριστικό που συνθέτουν τον προσδιοριστή των γραμμών του. Κατά το σχεδιασμό του εννοιολογικού μοντέλου δεδομένων, ο τρόπος αναπαράστασης της σχέσης στο βασικό μοντέλο οντοτήτων-σχέσεων εξαρτάται από το είδος της συμμετοχής των δύο οντοτήτων στη σχέση.
Μοντέλα Οντοτήτων Συσχετίσεων / Βασικό Μοντέλο Ο-Σ Αναπαράσταση Συσχετίσεων 1:1 Υποχρεωτική συμμετοχή και των δύο οντοτήτων Υποχρεωτική συμμετοχή μόνο της μίας οντότητας Προαιρετική συμμετοχή και των δύο οντοτήτων
Μοντέλα Οντοτήτων Συσχετίσεων - Βασικό Μοντέλο Αναπαράσταση Συσχετίσεων 1:1 Υποχρεωτική συμμετοχή και των δύο οντοτήτων Υποχρεωτική συμμετοχή μόνο της μίας οντότητας Προαιρετική συμμετοχή και των δύο οντοτήτων
Μοντέλα O-Σ / Αναπαράσταση Σχέσεων 1:1 Αν υποτεθεί ότι κάθε εργαζόμενος στον οργανισμό κατέχει μία οργανική θέση και ότι κάθε οργανική θέση κατέχεται από έναν εργαζόμενο τότε και οι δύο οντότητες συμμετέχουν υποχρεωτικά στη σχέση όπως φαίνεται στο Σχήμα 1 (α). Σ αυτήν την περίπτωση όλα τα χαρακτηριστικά των οντοτήτων και της συσχέτισης μπορούν να τοποθετηθούν σε έναν πίνακα. Η συσχέτιση OCCUPIES αναπαριστάται εσωτερικά από την παρουσία των προσδιοριστών EMP_CODE και POS_CODE των οντοτήτων EMPLOYEE και POSITION, αντίστοιχα, όπως φαίνεται στο Σχήμα 17(β). EMPLOYEE 1 OCCUPIES 1 POSITION α) Διάγραμμα οντοτήτων - σχέσεων EMPLOYEE ( EMP_CODE,..., POS_CODE ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 17. Βασικό μοντέλο οντοτήτων-σχέσεων (Υποχρεωτική συμμετοχή και των δύο οντοτήτων σε σχέση 1:1).
Μοντέλα O-Σ / Αναπαράσταση Συσχετίσεων 1:1 Υποχρεωτική Συμμετοχή μόνο της μίας οντότητας Αν υποτεθεί ότι κάθε εργαζόμενος στον οργανισμό δεν κατέχει υποχρεωτική οργανική θέση και ότι κάθε οργανική θέση κατέχεται από έναν εργαζόμενο, τότε η συμμετοχή των οντοτήτων EMPLOYEE και POSITION στη σχέση OCCUPIES είναι προαιρετική και υποχρεωτική, αντίστοιχα, όπως φαίνεται στο Σχήμα 2 (α). EMPLOYEE 1 OCCUPIES 1 POSITION α) Διάγραμμα οντοτήτων - σχέσεων. EMPLOYEE ( EMP_CODE,... ) POSITION ( POS_CODE,..., EMP CODE ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 2. Βασικό μοντέλο οντοτήτων-σχέσεων (υποχρεωτική συμμετοχή της μιας οντότητας σε σχέση 1:1).
Μοντέλα O-Σ / Αναπαράσταση Συσχετίσεων 1:1 Προαιρετική Συμμετοχή και των δύο οντοτήτων Αν υποτεθεί ότι κάθε εργαζόμενος του οργανισμού δεν κατέχει υποχρεωτικά οργανική θέση και ότι κάθε οργανική θέση δεν είναι υποχρεωτικά κατειλημμένη, τότε οι δύο οντότητες συμμετέχουν προαιρετικά στη σχέση όπως φαίνεται στο Σχήμα 3(α). EMPLOYEE 1 OCCUPIES 1 POSITION α) Διάγραμμα οντοτήτων - σχέσεων. EMPLOYEE ( EMP_CODE,... ) POSITION ( POS_CODE,... ) OCCUPIES ( EMP_CODE, POS_CODE, ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 3. Βασικό μοντέλο οντοτήτων - σχέσεων (προαιρετική συμμετοχή και των δύο οντοτήτων σε σχέση 1:1).
Μοντέλα Οντοτήτων Συσχετίσεων / Βασικό Μοντέλο Ο-Σ Αναπαράσταση Συσχετίσεων 1:Ν Υποχρεωτική συμμετοχή της απογονικής οντότητας Προαιρετική συμμετοχή της απογονικής οντότητας
Μοντέλα Ο-Σ / Αναπαράσταση Συσχετίσεων 1:Ν Υποχρεωτική Συμμετοχή της απογονικής οντότητας Αν υποτεθεί ότι κάθε εργαζόμενος πρέπει να ανήκει σε ένα τμήμα τότε η συμμετοχή της οντότητας EMPLOYEE στη σχέση CONTAINS είναι υποχρεωτική όπως φαίνεται στο Σχήμα 20(α). Γενικά στην περίπτωση υποχρεωτικής συμμετοχής της απογονικής οντότητας σε σχέση 1:Ν η σχέση μπορεί να αναπαρασταθεί με την τοποθέτηση του προσδιοριστή της γονικής οντότητας στον πίνακα που αντιστοιχεί στην απογονική οντότητα. DEPARTMENT 1 OCCUPIES Ν EMPLOYEE α) Διάγραμμα οντοτήτων - σχέσεων. DEPARTMENT ( DEPT_CODE,... ) EMPLOYEE ( EMP_CODE,..., DEPT_CODE ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 20. Βασικό μοντέλο οντοτήτων-σχέσεων (υποχρεωτική συμμετοχή της απογονικής οντότητας στη σχέση 1:Ν).
Μοντέλα Ο-Σ / Αναπαράσταση Συσχετίσεων 1:Ν Προαιρετική Συμμετοχή της απογονικής οντότητας Αν υποτεθεί ότι υπάρχουν εργαζόμενοι στον οργανισμό που δεν ανήκουν σε κανένα τμήμα τότε η συμμετοχή της οντότητας EMPLOYEE στη σχέση CONTAINS είναι προαιρετική όπως φαίνεται στο Σχήμα 21(α). Σε αυτή την περίπτωση επιβάλλεται η αναπαράσταση των δύο οντοτήτων και της σχέσης με ξεχωριστούς πίνακες. DEPARTMENT 1 OCCUPIES Ν EMPLOYEE α) Διάγραμμα οντοτήτων - σχέσεων. DEPARTMENT ( DEPT_CODE,... ) EMPLOYEE ( EMP_CODE,...) OCCUPIES ( EMP_CODE,..., DEPT_CODE ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 21. Βασικό μοντέλο οντοτήτων-συσχετίσεων (προαιρετική συμμετοχή της απογονικής οντότητας σε σχέση 1:Ν).
Μοντέλα Ο-Σ / Αναπαράσταση Συσχετίσεων Μ:Ν Έστω ότι τα βιβλία μίας βιβλιοθήκης καταχωρούνται κατά θέμα. Κάθε βιβλίο μπορεί να ανήκει σε πολλά θέματα και κάθε θέμα μπορεί να περιλαμβάνει πολλά βιβλία της βιβλιοθήκης. Στην περίπτωση συσχετίσεων Ν:Μ δημιουργούνται τρεις ξεχωριστοί πίνακες (ένας για κάθε οντότητα και ένας για τη σχέση μεταξύ τους) ανεξάρτητα από το είδος συμμετοχής των οντοτήτων στη συσχέτιση, όπως φαίνεται στο Σχήμα 22. BOOK M BD_SUBJ N SUBJECT α) Διάγραμμα οντοτήτων - σχέσεων. BOOK ( BK_CODE,... ) SUBJECT ( SUBJ_NAME,... ) BK_SUBJ ( BK_CODE, SUBJ_NAME,... ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 22. Βασικό μοντέλο οντοτήτων-συσχετίσεων (συσχέτιση Ν:Μ).
Προ-τοποθετημένοι Προσδιοριστές Η οντότητα DEPARTMENT προσδιορίζεται από το χαρακτηριστικό DEPT_CODE και η οντότητα STUDENT από το σύνθετο χαρακτηριστικό {DEPT_CODE, ST_NO}. Αυτή η επιλογή των προσδιοριστών έχει ως συνέπεια να έχει τοποθετηθεί εκ των προτέρων ο προσδιοριστής του πίνακα DEPARTMENT στον πίνακα STUDENT. Έτσι, η σχέση CONTAINS μεταξύ των οντοτήτων DEPARTMENT και STUDENT έχει εκ των προτέρων αναπαρασταθεί από έναν προ-τοποθετημένο προσδιοριστή. Ως αποτέλεσμα, η οντότητα STUDENT έχει υποχρεωτική συμμετοχή στη σχέση CONTAINS. DEPARTMENT 1 * N CONTAINS STUDENT α) Διάγραμμα οντοτήτων - σχέσεων. DEPARTMENT ( DEPT_CODE,... ) STUDENT ( DEPT_CODE, ST_CODE, ) β) Πίνακας που αντιστοιχεί στο διάγραμμα του (α). ΣΧΗΜΑ 23. Βασικό μοντέλο οντοτήτων - συσχετίσεων με προ-τοποθετημένο προσδιοριστή.
Μοντέλα Οντοτήτων Συσχετίσεων Κατανομή Χαρακτηριστικών Εισαγωγή Σχέσεις 1:1 Σχέσεις 1:Ν Σχέσεις Μ:Ν
Εισαγωγή Μετά την κατασκευή του βασικού μοντέλου οντοτήτωνσχέσεων ακολουθεί η φάση της κατανομής των χαρακτηριστικών στους βασικούς πίνακες. Η κατανομή των χαρακτηριστικών στους βασικούς πίνακες γίνεται, συνήθως, κατά τρόπο ώστε να προκύπτουν πίνακες που βρίσκονται στον κανονικό τύπο Boyce/Codd.
Συσχετίσεις 1:1 Έστω ότι πρόκειται να κατανεμηθούν τα χαρακτηριστικά EMP_NAME, POS_GRADE, POS_DESCRIPTION, ASSESSMENT, στους βασικούς πίνακες που ορίστηκαν προηγουμένως για τις διάφορες σχέσεις 1:1 μεταξύ των οντοτήτων EMPLOYEE και POSITION. Στη συνέχεια θα εξετάσουμε τις παρακάτω περιπτώσεις: Υποχρεωτική συμμετοχή και των δύο οντοτήτων Υποχρεωτική συμμετοχή μόνο της μίας οντότητας Προαιρετική συμμετοχή και των δύο οντοτήτων
Συσχετίσεις 1:1 - Υποχρεωτική συμμετοχή και των δύο οντοτήτων Υπάρχει μόνο ένας βασικός πίνακας. Όλα τα χαρακτηριστικά μπορούν να κατανεμηθούν σ' αυτόν χωρίς να παραβιάζεται κανένας κανόνας. EMPLOYEE 1 * 1 * OCCUPIES POSITION Ο πλήρης πίνακας είναι: EMPLOYEE ( EMP_CODE, EMP_NAME, POS_CODE, POS_GRADE, POS_DESCRIPTION, ASSESSMENT )
Συσχετίσεις 1:1 - Υποχρεωτική συμμετοχή μόνο της μίας οντότητας Σ' αυτήν την περίπτωση υπάρχουν δύο βασικοί πίνακες. EMPLOYEE 1 * 1 OCCUPIES POSITION Το χαρακτηριστικό EMP_NAME κατανέμεται στον πίνακα EMPLOYEE. Τα χαρακτηριστικά POS_GRADE και POS_DESCRIPTION κατανέμονται στον πίνακα POSITION. Το χαρακτηριστικό ASSESSMENT κατανέμεται στον πίνακα POSITION. Έτσι, οι πλήρεις πίνακες είναι: EMPLOYEE ( EMP_CODE, EMP_NAME ) POSITION ( POS_CODE, POS_GRADE, POS_DESCRIPTION, ASSESSMENT, EMP_CODE)
Κατανομή Χαρακτηριστικών / Συσχετίσεις 1:1 Προαιρετική συμμετοχή και των δύο οντοτήτων Σ' αυτήν την περίπτωση υπάρχουν τρεις βασικοί πίνακες. EMPLOYEE 1 OCCUPIES 1 POSITION Η κατανομή των χαρακτηριστικών EMP_NAME, POS_GRADE και POS_DESCRIPTION γίνεται χωρίς πρόβλημα στους πίνακες EMPLOYEE (το πρώτο) και POSITION (το δεύτερο και το τρίτο). Το χαρακτηριστικό ASSESSMENT πρέπει να κατανεμηθεί στον πίνακα OCCUPIES. Έτσι, οι πλήρεις πίνακες είναι: EMPLOYEE ( EMP_CODE, EMP_NAME ) POSITION ( POS_CODE, POS_GRADE, POS_DESCRIPTION ) OCCUPIES ( EMP_CODE, POS_CODE, ASSESSMENT )
Κατανομή Χαρακτηριστικών - Συσχετίσεις 1:Ν Έστω ότι πρόκειται να κατανεμηθούν τα χαρακτηριστικά DEPT_ΝΑΜΕ, DEPT_POSITION, EMP_NAME, EMP_GRADE στους βασικούς πίνακες που ορίστηκαν στην προηγούμενη ενότητα για τις διάφορες σχέσεις 1:Ν μεταξύ των οντοτήτων DEPARTMENT και EMPLOYEE. Στη συνέχεια θα εξετάσουμε τις παρακάτω περιπτώσεις: Υποχρεωτική συμμετοχή της απογονικής οντότητας Προαιρετική συμμετοχή της απογονικής οντότητας
Συσχετίσεις 1:Ν - Υποχρεωτική συμμετοχή της απογονικής οντότητας Σ' αυτήν την περίπτωση υπάρχουν δύο βασικοί πίνακες. DEPARTMENT 1 N CONTAINS EMPLOYEE Η κατανομή των χαρακτηριστικών DEPT_NAME, DEPT_POSITION, EMP_NAME και EMP_GRADE γίνεται χωρίς πρόβλημα στους πίνακες DEPARTMENT (τα δύο πρώτα) και ΕΜΡLΟΥΕΕ (τα δύο τελευταία). Οι πλήρεις πίνακες είναι: DEPARTMENT ( DEPT_CODE, DEPT_NAME, DEPT_POSITION ) EMPLOYEE ( EMP_CODE, EMP_NAME, EMP_GRADE, DEPT_CODE )
Συσχετίσεις 1:Ν- Προαιρετική συμμετοχή της απογονικής οντότητας Υπάρχουν τρεις βασικοί πίνακες. DEPARTMENT 1 N CONTAINS EMPLOYEE Επειδή το χαρακτηριστικό EMP_GRADE αναφέρεται μόνο στους εργαζόμενους στον οργανισμό, πρέπει να κατανεμηθεί στον πίνακα CONTAINS. Έτσι, οι πλήρεις πίνακες είναι: DEPARTMENT EMPLOYEE CONTAINS (DEPT_CODE, DEPT_NAME, DEPT_POSITION) (EMP_CODE, EMP_NAME) (EMP_CODE, DEPT_CODE, EMP_GRADE)
Κατανομή Χαρακτηριστικών / Συσχετίσεις Μ:Ν Υπάρχουν τρεις βασικοί πίνακες. BOOK M BD_SUBJ N SUBJECT Η κατανομή των χαρακτηριστικών BK_TITLE, BK_PRICE και PUBLICATION_YEAR γίνεται στον πίνακα ΒΟΟΚ. Για τον ίδιο λόγο το χαρακτηριστικό SUBJ_DESCRIPTION κατανέμεται στον πίνακα SUBJECT. Ο πίνακας ΒΚ_SUBJ περιέχει μόνο τους προσδιοριστές των άλλων δύο πινάκων (αυτό δεν ισχύει γενικά). Έτσι, οι πλήρεις πίνακες είναι: BOOK ( BK_CODE, BK_TITLE, BK_PRICE, PUBLICATION_YEAR ) SUBJECT ( SUBJ_NAME, SUBJ_DESCRIPTION ) BK_SUBJ ( BK_CODE, SUBJ_NAME )
Μοντέλα Οντοτήτων Συσχετίσεων Επέκταση Βασικού Μοντέλου Επέκταση του βασικού μοντέλου γίνεται με την πρόσθεση επιπλέον οντοτήτων και σχέσεων όπου αυτό είναι απαραίτητο. Έστω ότι το μοντέλο οντοτήτων-συσχετίσεων των τμημάτων και εργαζομένων ενός οργανισμού πρέπει να συμπεριλάβει και τα χαρακτηριστικά QUAL_CODE, QUAL_DESCR και QUAL_DATE. Η μόνη εφικτή λύση είναι να οριστεί μία νέα οντότητα (QUALIFICATION) και μία νέα σχέση Μ:Ν μεταξύ των οντοτήτων QUALIFICATION και EMPLOYEE. DEPARTMENT ( DEPT_CODE, DEPT_NAME, DEPT_POSITION ) EMPLOYEE ( EMP_CODE, EMP_NAME, EMP_GRADE ) QUALIFICATION ( QUAL_CODE, QUAL_DESCR ) HAS ( EMP_CODE, QUAL_CODE, QUAL_DATE ) ΣΧΗΜΑ Α. Επέκταση μοντέλου οντοτήτων - σχέσεων.
Μοντέλα Οντοτήτων Σχέσεων Πλεονάζοντες Πίνακες Οντοτήτων και Συσχετίσεων Πλεονάζουσες οντότητες Πλεονάζουσες σχέσεις
Μοντέλα Οντοτήτων Συσχετίσεων / Πλεονάζοντες Πίνακες Οντοτήτων και Συσχετίσεων Πλεονάζουσες Οντότητες Για το μοντέλο του Σχήματος 1 θα πρέπει να υπάρχει ξεχωριστή οντότητα για τα τυπικά προσόντα των εργαζομένων ή θα πρέπει να συμπεριληφθούν αυτά στη σχέση HAS διαγράφοντας το χαρακτηριστικό QUAL_CODE από τον κατάλογο των χαρακτηριστικών και από τους πίνακες? Αν αποφασιστεί η απαλοιφή των οντοτήτων από το μοντέλο τότε οι οντότητες σημειώνονται με αστερίσκο στο αντίστοιχο διάγραμμα οντοτήτων - σχέσεων, όπως φαίνεται στο Σχήμα 1 (α). Εναλλακτικά, το διάγραμμα αναθεωρείται απαλείφοντας την οντότητα και μετατρέποντας τις σχέσεις σε οντότητες όπως φαίνεται στο Σχήμα 1 (β). α) EMPLOYEE M HAS N QUALIFICATION * β) EMPLOYEE 1 N EHQ HAS_QUAL ΣΧΗΜΑ 1. Πλεονάζουσα οντότητα σε μοντέλο οντοτήτων - σχέσεων.
Μοντέλα Οντοτήτων Συσχετίσεων / Πλεονάζοντες Πίνακες Οντοτήτων και Συσχετίσεων Πλεονάζουσα συσχέτιση : Συσχέτιση που δεν προσθέτει επιπλέον πληροφορία σ αυτήν που παρέχεται από μία ακολουθία μίας ή περισσότερων άλλων συσχετίσεων που αρχίζουν από την πρώτη οντότητα και καταλήγουν στη δεύτερη μέσω ενός αριθμού (πιθανώς μηδενικού) ενδιάμεσων οντοτήτων. Υπάρχουν δύο κύριοι λόγοι για τους οποίους πρέπει να απαλείφονται οι πλεονάζουσες σχέσεις από ένα μοντέλο δεδομένων: προσθέτουν αδικαιολόγητη πολυπλοκότητα στο μοντέλο. μπορεί να οδηγήσει σε λανθασμένη κατανομή των χαρακτηριστικών στους βασικούς πίνακες.
Παράδειγμα -Συσχετίσεων με πιθανά Πλεονάζουσα Σχέση 1/3 Το ερώτημα που τίθεται είναι αν η σχέση DIVEMP είναι πλεονάζουσα. Στο Σχήμα 2 (α) φαίνεται ένα διάγραμμα οντοτήτων - σχέσεων που περιέχει τις οντότητες EMPLOYEE, DEPARTMENT και DIVISION και τις σχέσεις DIVDEP, DEPEMP και DIVEMP μεταξύ τους. α) DIVISION 1 DIVDEP N 1 DEPARTMENT DEPEMP N EMPLOYEE 1 N DIVEMP ΣΧΗΜΑ 2(α). Διάγραμμα οντοτήτων-συσχετίσεων με πιθανά πλεονάζουσα συσχέτιση
Παράδειγμα -Συσχετίσεων με πιθανά Πλεονάζουσα Σχέση 2/3 Στο Σχήμα 2 (β) φαίνεται το διάγραμμα Ο-Σ της περίπτωσης στην οποία η συμμετοχή της οντότητας EMPLOYEE στη σχέση DEPEMP είναι προαιρετική ενώ η συμμετοχή της οντότητας DEPARTMENT στη σχέση DIVDEP είναι υποχρεωτική. DIVISION 1 * DIVDEP N 1 DEPARTMENT DEPEMP N EMPLOYEE ΣΧΗΜΑ 2(β). Διάγραμμα οντοτήτων-συσχετίσεων με πιθανά πλεονάζουσα συσχέτιση.
Παράδειγμα -Συσχετίσεων με πιθανά Πλεονάζουσα Σχέση 3/3 Στο Σχήμα 2(γ) φαίνεται το διάγραμμα Ο-Σ στο οποίο η συμμετοχή της οντότητας EMPLOYEE σε κάθε μία από τις σχέσεις DEPEMP και DIVEMP είναι προαιρετική. Το διάγραμμα αυτό αποτελεί και παράδειγμα διαγράμματος οντοτήτωνσχέσεων όπου είναι αναγκαία (και όχι ανεπιθύμητη) η παρουσία ζεύγους Ν:1/1:Ν (ως προς την οντότητα DIVISION). DIVISION 1 DIVDEP * N 1 DEPARTMENT DEPEMP N EMPLOYEE 1 N DIVEMP ΣΧΗΜΑ 2γ. Διάγραμμα οντοτήτων-σχέσεων με πιθανά πλεονάζουσα σχέση.
Μοντέλα Ο-Σ/ Υπο-οντότητες/ Εισαγωγή Υπο-οντότητα (sub-entity) ονομάζεται ένα υποσύνολο μιας άλλης οντότητας, που ονομάζεται υπέρ-οντότητα (super-entity), οι πραγματοποιήσεις και των δύο αναφέρονται σε ένα αντικείμενο του οργανισμού αλλά η υπο-οντότητα έχει κάποιες επιπλέον ιδιότητες. Η σχέση μεταξύ μιας υπέρ-οντότητας και μιας υπο-οντότητας της μπορεί να είναι είτε 1:1 είτε 1:Ν. Στη συνέχεια θα εξετάσουμε τις περιπτώσεις: Σχέσεις 1:1 Σχέσεις 1:Ν
Μοντέλα Οντοτήτων Συσχετίσεων / Υπο-οντότητες Σχέσεις 1:1 Στο Σχήμα 3 φαίνεται ένα πιθανό μοντέλο Ο-Σ για τρεις κατηγορίες προσωπικού. Το μοντέλο αυτό δικαιολογείται στην περίπτωση που διαφέρει η επεξεργασία δεδομένων για τις τρεις κατηγορίες των εργαζομένων. ADMIN_STAFF ( EMP_CODE, EMP_NAME, BIRTH_DATE, HOME_ADDRESS, TEL_NO, SALARY ) TECN_STAFF ( EMP_CODE, EMP_NAME, BIRTH_DATE, HOME_ADDRESS, TEL_NO, SALARY, TECN_BONUS ) SALES_STAFF ( EMP_CODE, EMP_NAME, BIRTH_DATE, HOME_ADDRESS, TEL_NO, SALARY, SALES_QUOTA, SALES_BONUS ) ΣΧΗΜΑ 3. Πιθανό μοντέλο για τρεις κατηγορίες προσωπικού. Μοντέλο οντοτήτων - σχέσεων που περιλαμβάνει υπο-οντότητες Διαγραμματική αναπαράσταση ομάδας υπο-οντοτήτων
Μοντέλο οντοτήτων-συσχετίσεων που περιλαμβάνει υπο-οντότητες (σχέσεις 1:1) 1/2 Eίναι προτιμότερο από άποψης απλότητας και ακρίβειας του μοντέλου να κατασκευαστεί μία οντότητα και δύο υπο-οντότητες αυτής. Η τροποποίηση του μοντέλου οντοτήτων-σχέσεων κατ αυτόν τον τρόπο φαίνεται στο Σχήμα 4. STAFF 1 1 STS SSS 1 1 TECN_STAFF SALES_STAFF α) Διάγραμμα οντοτήτων συσχετίσεων μεταξύ υπέρ-οντότητας και υπο-οντοτήτων. ΣΧΗΜΑ 4. Μοντέλο Ο-Σ που περιλαμβάνει υπο-οντότητες (σχέσεις 1:1).
Μοντέλο οντοτήτων-συσχετίσεων που περιλαμβάνει υποοντότητες (σχέσεις 1:1) 2/2 STAFF (EMP_CODE, EMP_NAME, BIRTH_DATE, HOME_ADDRESS, TEL_NO, SALARY ) TECN_STAFF ( EMP_CODE, TECN_BONUS ) SALES_STAFF ( EMP_CODE, SALES_QUOTA, SALES_BONUS ) β) Πίνακες που αντιστοιχούν στο διάγραμμα του (α). ΣΧΗΜΑ 5. Μοντέλο οντοτήτων-σχέσεων που περιλαμβάνει υπο-οντότητες (σχέσεις 1:1).
Διαγραμματική αναπαράσταση ομάδας υπο-οντοτήτων Συχνά είναι δυνατή η ομαδοποίηση (grouping) αμοιβαία ανεξάρτητων υποοντοτήτων. Στο παράδειγμα του Σχήματος 5 μία πραγματοποίηση της οντότητας STAFF σχετίζεται με το πολύ μία πραγματοποίηση του συνδυασμού (ομάδα) TECN_STAFF και SALES_STAFF. Αυτή η πιο περιοριστική σχέση 1:1 μπορεί να αναπαρασταθεί διαγραμματικά όπως φαίνεται στο Σχήμα 7. STAFF 1 1 (status) 1 1 TECN _STAFF SALES_STAFF ΣΧΗΜΑ 6. Διαγραμματική αναπαράσταση ομάδας υπο-οντοτήτων.
Μοντέλα Οντοτήτων Συσχετίσεων / Υπο-οντότητες Συσχετίσεις 1:Ν Η διάσπαση του πίνακα EMPLOYEE ισοδυναμεί με τη δημιουργία τριών υποοντοτήτων στο μοντέλο οντοτήτων-σχέσεων όπως φαίνεται στο Σχήμα 30. EMPLOYEE 1 1 1 * * * N EMP_JOB N EMP_MS N EMP_SKILL α) Διάγραμμα οντοτήτων -σχέσεων που περιλαμβάνει υπο-οντότητες. EMPLOYEE ( EMP_CODE, EMP_NAME, ANNUAL_SALARY ) EMP_JOB ( EMP_CODE, APPOINTMENT_DATE, JOB_TITLE ) EMP-MS ( EMP_CODE, MONTH_NO, MONTHLY_SALARY ) EMP_SKILL ( EMP_CODE, SKILL_NAME ) β) Πίνακες που αντιστοιχούν στο διάγραμμα του (α). ΣΧΗΜΑ 7. Μοντέλο οντοτήτων-σχέσεων που περιλαμβάνει υπο-οντότητες (σχέσεις 1:Ν).
Μοντέλα Οντοτήτων Συσχετίσεων - Διαδικασία Εννοιολογικού Σχεδιασμού Βάσεων Δεδομένων Η διαδικασία εννοιολογικού σχεδιασμού μίας βάσης δεδομένων περιλαμβάνει ουσιαστικά δύο κύριες φάσεις: ανάλυση απαιτήσεων (requirements analysis) ανάλυση δεδομένων (data analysis) Για τον πλήρη, πέραν του εννοιολογικού, σχεδιασμό μίας βάσης δεδομένων απαιτούνται ακόμη οι φάσεις: της τροποποίησης του μοντέλου δεδομένων της προσαρμογής (ή απεικόνισης) του μοντέλου δεδομένων στις ιδιαιτερότητες και τους περιορισμούς του διαθέσιμου ΣΔΒΔ. Η διαδικασία της κανονικοποίησης μπορεί να θεωρηθεί ως προσέγγιση "από το ειδικό προς το γενικό" (bottom-up) για τον εννοιολογικό σχεδιασμό μίας βάσης δεδομένων. Το μοντέλο οντοτήτων-συσχετίσεων υιοθετεί την προσέγγιση "από το γενικό προς το ειδικό" (top-down).
ΑΣΚΗΣΗ 1 Μία εταιρία κατασκευής λογισμικού επιθυμεί να καταγράψει τα έργα που έχει αναλάβει και την κατανομή ανθρώπινου δυναμικού σε αυτά. Κάθε έργο απασχολεί πολλούς μηχανικούς λογισμικού και κάθε μηχανικός λογισμικού μπορεί να συμμετέχει σε πολλά έργα. Κάθε έργο μπορεί να έχει πολλούς συμβούλους και κάθε σύμβουλος απασχολείται σε ένα μόνο έργο. Να κατασκευαστεί μοντέλο οντοτήτων-συσχετίσεων για την κατανομή του προσωπικού σε έργα και να μετατραπεί σε σχεσιακό μοντέλο.
PROJECT OCCUPIES CORRESPONDS_T O PROJ_ENG CORRESPONDS_T O CONSULTANT ENGINEER
ΑΣΚΗΣΗ 2 Το λογισμικό ενός πληροφοριακού συστήματος αποτελείται από μια σειρά αλληλεξαρτώμενων εφαρμογών. Κάθε εφαρμογή έχει μία ή περισσότερα προγράμματα. συνδέεται ή όχι με το πολύ μία οθόνη. Επίσης, κάθε ρόλος χρήστη έχει πρόσβαση σε ένα ή περισσότερα προγράμματα εφαρμογών. Κάθε χρήστης μπορεί να έχει έναν ή περισσότερους ρόλους, αλλά να χρησιμοποιεί έναν και μόνο έναν κάθε στιγμή. Να κατασκευαστεί μοντέλο οντοτήτων-συσχετίσεων για τους ελέγχους προσβάσεων των χρηστών και να μετατραπεί σε σχεσιακό μοντέλο.
APPLICATION HAS PROGRAM PRO_ROLE ROLE HAS CORRESPONDS_T O CORRESPONDS_T O USER_ROLE IS_USED_BY CORRESPONDS_T O USER