3 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ 3.1 Εισαγωγή Ένα Π.Σ. διαχειρίζεται δεδοµένα που αντιπροσωπεύουν αντικείµενα, γεγονότα, καταστάσεις ή ανθρώπους του φυσικού κόσµου. Όταν κατασκευάζεται ένα µοντέλο Π.Σ., το οποίο στη συνέχεια θα χρησιµοποιηθεί από το σχεδιαστή, πρέπει να είναι όσο το δυνατόν πιο ανεξάρτητο από την τεχνολογία υλοποίησης. Θα πρέπει δηλαδή να αντικατοπτρίζει την πραγµατική εικόνα των καταστάσεων χωρίς ελλείψεις ή πλεονασµούς, ώστε να µη δηµιουργούνται προβλήµατα στο έργο του σχεδιαστή. Ένας τρόπος για να κατασκευαστεί ένα µοντέλο µε αυτά τα χαρακτηριστικά, είναι να δοθεί περισσότερη έµφαση στη δοµή και την οργάνωση των δεδοµένων, δηλαδή στη διάταξη και στις σχέσεις που υπάρχουν µεταξύ τους. Σκοπός της ανάλυσης δεδοµένων είναι η κατασκευή ενός µοντέλου δεδοµένων που θα υποστηρίζει τις επεξεργασίες χωρίς να καθοδηγείται από αυτές. Για το λόγο αυτό, στα πλαίσια της ανάλυσης δεδοµένων, προσδιορίζονται αρχικά τα στοιχειώδη δεδοµένα που απαιτούνται για την υποστήριξη του συστήµατος επεξεργασίας δεδοµένων του ΠΣ, στη συνέχεια οµαδοποιούνται κατά ορθολογικό τρόπο και τέλος προσδιορίζονται οι σχέσεις που υπάρχουν µεταξύ των διαφόρων οµάδων που έχουν σχηµατιστεί. Η περιγραφή των δεδοµένων για την κατασκευή του µοντέλου, πρέπει να είναι γενική ώστε να χρησιµοποιείται από όλο τον οργανισµό καλύπτοντας και µελλοντικές ανάγκες για απρόσκοπτες αλλαγές, αλλά και αναλυτική ώστε να ικανοποιεί τις τρέχουσες απαιτήσεις των επεξεργασιών του συστήµατος. Έτσι θα είναι σε θέση να αντιµετωπίσει µε επιτυχία το βασικότερο πρόβληµα που εµφανίζεται µετά τη δηµιουργία των προγραµµάτων λογισµικού: τις αλλαγές που οι περισσότεροι χρήστες επιθυµούν να συµπεριληφθούν στα ήδη ολοκληρωµένα προγράµµατα. Επειδή η δοµή δεδοµένων µιας επιχείρησης είναι περισσότερο σταθερή από την οργανωτική δοµή της επιχείρησης ή τις απαιτήσεις των χρηστών, ένα µοντέλο το οποίο στηρίζεται σ αυτή εµφανίζει πολλά πλεονεκτήµατα: Οδηγεί σε καλά σχεδιασµένα και ευέλικτα συστήµατα. Μπορεί να ικανοποιήσει τόσο τις παρούσες όσο και τις µελλοντικές ανάγκες των χρηστών. ηµιουργείται από πληροφορίες που δίνουν άµεσα οι ίδιοι οι χρήστες. Επιτρέπει τη δηµιουργία δεδοµένων που µπορούν να τα µοιράζονται πολλοί χρήστες, ενώ παράλληλα υποστηρίζει την ακεραιότητα και την ασφάλειά τους. Οι χρήστες µπορούν ευκολότερα να αντιληφθούν, να τροποποιήσουν και, τελικά, να επικυρώσουν ένα µοντέλο που στηρίζεται στη δοµή των δεδοµένων της επιχείρησης παρά σε άλλης µορφής µοντελοποίηση. Εξασφαλίζει ότι δεν θα υπάρχουν πολλαπλά αντίγραφα των δεδοµένων σε διαφορετικά σηµεία του συστήµατος. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 58
Κάποιος θα µπορούσε να ισχυριστεί ότι θα αρκούσε η χρήση των ιαγραµµάτων Ροής εδοµένων ( Ρ ) για την ικανοποίηση των παραπάνω ιδιοτήτων. Η απάντηση είναι ότι τα Ρ δείχνουν µόνο τη ροή δεδοµένων χωρίς να περιγράφουν τις σχέσεις µεταξύ των δεδοµένων. Επίσης, δεν εξασφαλίζουν ότι, για παράδειγµα, δε θα υπάρχουν αντίγραφα δεδοµένων σε διαφορετικά σηµεία. Το µοντέλο δεδοµένων, που πρέπει να κατασκευαστεί πρέπει είναι ένα ορθολογικό µοντέλο, δηλαδή ένα µοντέλο που να δίνει µια λογική εικόνα της πραγµατικότητας και να απεικονίζει την ουσία της. Ένα τέτοιο µοντέλο µπορεί να κατασκευαστεί από τη συγχώνευση δυο µοντέλων: i) Του µοντέλου οντοτήτων σχέσεων. ii) Του µοντέλου που προέρχεται από τη σχεσιακή ανάλυση δεδοµένων. Στον παρακάτω πίνακα παρουσιάζεται µία σύγκριση των δύο αυτών µοντέλων από την οποία µπορεί εύκολα να συµπεράνει κανείς ότι τα δύο αυτά µοντέλα είναι συµπληρωµατικά (Goodland and Slater, 1995). Μοντέλο Οντοτήτων Σχέσεων (Entity Relationship Model) Προσέγγιση από πάνω προς τα κάτω (top down) Σχεσιακή Ανάλυση εδοµένων (Relational Data Analysis) Προσέγγιση από κάτω προς τα πάνω (bottom up) Στηρίζεται στην ανάλυση των οντοτήτων και των µεταξύ τους σχέσεων Στηρίζεται στην ανάλυση των γνωρισµάτων και των µεταξύ τους σχέσεων Τεχνική υποκειµενική Τεχνική αυστηρά τυποποιηµένη, που στηρίζεται στα µαθηµατικά Στηρίζεται στις απαιτήσεις επεξεpγασίας και επικυρώνεται από αυτές Μπορεί να παράγει απλές, άκαµπτες δοµές Στηρίζεται στα περιεχόµενα των δεδοµένων που παράγει το σύστηµα Παράγει ευέλικτες, σύνθετες δοµές Το µοντέλο παριστάνεται µε ένα διάγραµµα που δείχνει τις οντότητες και τις µεταξύ τους σχέσεις Το µοντέλο παριστάνεται µε οµάδες γνωρισµάτων που έχουν χαρακτηριστικά κλειδιά και «κανονικοποιηµένες» σχέσεις µεταξύ των οµάδων αυτών Πίνακας 3.1: Σύγκριση των δύο µοντέλων της ορθολογικής ανάλυσης δεδοµένων 3.2 Το µοντέλο Οντοτήτων - Σχέσεων Ένα σύστηµα αυτόµατης επεξεργασίας δεδοµένων είναι ένα σύστηµα το οποίο δέχεται, επεξεργάζεται και παράγει δεδοµένα σε προκαθορισµένη τυποποιηµένη µορφή (π.χ. καταστάσεις, φόρµες, τιµολόγια, αποδείξεις, κ.λπ.). Υπάρχουν βέβαια και δεδοµένα που αποτελούν µέρος ενός Π.Σ. και έχουν άτυπες µορφές (π.χ. µέσω ανθρώπινης επικοινωνίας). Από τις διάφορες λειτουργίες ενός Π.Σ., ιδιαίτερη έµφαση δίνεται στις λειτουργίες που αφορούν την αυτόµατη επεξεργασία των δεδοµένων. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 59
Το µοντέλο επεξεργασίας δεδοµένων δηµιουργείται µε βασικό σκοπό την υποστήριξη των τωρινών και µελλοντικών αναγκών της επιχείρησης για επεξεργασία τυποποιηµένων δεδοµένων. Είναι λοιπόν αναγκαίο να βρεθούν, να οργανωθούν και να παρουσιαστούν όλα τα δεδοµένα που χρησιµοποιεί το σύστηµα και όχι µόνο αυτά που είναι αποθηκευµένα σε αρχεία. Για το λόγο αυτό το µοντέλο επεξεργασίας δεδοµένων µπορεί να χρησιµοποιηθεί για την ανακάλυψη τόσο κανόνων που διέπουν την επιχείρηση όσο και γεγονότων. 3.2.1 Βασικές έννοιες Οι βασικές έννοιες που περιλαµβάνει ένα µοντέλο οντοτήτων σχέσεων είναι τέσσερις: η οντότητα (entity), οι ιδιότητές της (attributes), οι σχέσεις (relationships) µεταξύ των οντοτήτων και τα αναγνωριστικά (identifiers) µιας οντότητας. 3.2.1.1 Τι είναι η οντότητα Οντότητα µέσα στα πλαίσια µιας επιχείρησης ή οργανισµού είναι µία κατηγορία οµοειδών αντικειµένων που έχουν κοινές ιδιότητες και διατηρούν ένα µοναδικό και µε ακρίβεια προσδιορισµένο ρόλο στην επιχείρηση ή στον οργανισµό. Αυτό έχει ως αποτέλεσµα το σύστηµα να ενδιαφέρεται και να πρέπει να κρατάει δεδοµένα για αυτά, ώστε να έχει τη δυνατότητα αναζήτησης και εντοπισµού τους. Από τα παραπάνω προκύπτει ότι µία οντότητα αποτελεί ένα είδος «κουτιού», στο οποίο εισάγονται µόνο οµοειδή αντικείµενα και άρα θα πρέπει να έχει τουλάχιστον µια ιδιότητα. Οντότητες µπορούν να είναι: Άνθρωποι που εκτελούν κάποια λειτουργία (π.χ. Εργαζόµενος, Πελάτης, Φοιτητής, κ.λπ.) Πράγµατα ή υλικά (π.χ. Αυτοκίνητο, Οικοδοµήµατα, Εργαλεία, κ.λπ.) Γεγονότα που γίνονται κάποια συγκεκριµένη στιγµή (π.χ. Συναλλαγή, ανεισµός, Πληρωµή, κ.λπ.) Οµάδα αντικειµένων (π.χ. Εµπόρευµα, Στόλος, κ.λπ.) Τοποθεσίες που χρησιµοποιούνται από ανθρώπους ή πράγµατα (π.χ. Πόλη, Γραφείο, Αποθήκη, κ.λπ.) Οργανισµοί που έχουν κάποια αποστολή (π.χ. ιεύθυνση, Τµήµα, Παράρτηµα, κ.λπ.) Έννοιες ή ιδέες για τις οποίες η επιχείρηση κρατάει στοιχεία (π.χ. Αίτηµα, Συµφωνία, Λογαριασµός, ροµολόγιο, κ.λπ.) Στη συνέχεια θα γίνει µια αναφορά στα βασικά χαρακτηριστικά και τις ιδιότητες που πρέπει να έχει µία οντότητα. Τα σηµεία αυτά πρέπει να ακολουθούνται όταν κάποιος προσπαθεί να καθορίσει και να περιγράψει τις οντότητες ενός Π.Σ. 1ο. Επειδή µια οντότητα φανερώνει γεγονότα, πρόσωπα ή πράγµατα (συγκεκριµένα ή αφηρηµένα), το όνοµα της είναι ουσιαστικό (συνήθως στο πρώτο ενικό πρόσωπο). 2ο. Θα πρέπει να γίνεται διάκριση µεταξύ της στιγµιαίας εµφάνισης ενός συγκεκριµένου αντικειµένου της κατηγορίας (στιγµιότυπο) και του γενικού τύπου της που απλά φέρει το όνοµα της οντότητας. Για παράδειγµα, ο ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 60
Ζαφειρόπουλος Νώντας αποτελεί µία συγκεκριµένη εµφάνιση της οντότητας ΠΕΛΑΤΗΣ, ενώ ο όρος ΠΕΛΑΤΗΣ αντιπροσωπεύει τον τύπο της οντότητας. 3ο. Μια οντότητα ενός συστήµατος δεν σηµαίνει ότι αναγκαστικά είναι οντότητα και σε κάποιο άλλο. Μια οντότητα σε ένα σύστηµα µπορεί να είναι χαρακτηριστική ιδιότητα οντότητας σε ένα άλλο. 4ο. Μία οντότητα σχετίζεται µε δεδοµένα αλλά η ίδια δεν αποτελεί δεδοµένα. Για παράδειγµα στην οντότητα ΦΟΙΤΗΤΗΣ δεν µπορούµε να δώσουµε τιµή. Έχει όµως χαρακτηριστικές ιδιότητες (π.χ. ΟΝΟΜΑ, ΕΠΩΝΥΜΟ) τα οποία µπορούν να πάρουν κάποια τιµή. 5ο. Επειδή η οντότητα αντιπροσωπεύει πολλά οµοειδή αντικείµενα, κάθε συγκεκριµένη εµφάνιση ενός αντικειµένου πρέπει να µπορεί να προσδιορισθεί µονοσήµαντα. Π.χ. Ένα συγκεκριµένο ΒΙΒΛΙΟ µπορεί να προσδιοριστεί µονοσήµαντα µε την βοήθεια του Αριθµού ISBN. 6ο. Κάθε οντότητα πρέπει να έχει συγκεκριµένο και µοναδικό ρόλο στο σύστηµα. 3.2.1.2 Τι είναι οι χαρακτηριστικές ιδιότητες (γνωρίσµατα) Χαρακτηριστική ιδιότητα είναι ένα γνώρισµα που χαρακτηρίζει µια οντότητα και εµφανίζεται ως στοιχειώδες δεδοµένο που τη συνοδεύει (π.χ. για την οντότητα ΦΟΙΤΗΤΗΣ τα Όνοµα, Επώνυµο, ΑΜ, ιεύθυνση, Τηλέφωνο αποτελούν χαρακτηριστικές ιδιότητές της). Η οντότητα είναι λοιπόν ένα σύνολο χαρακτηριστικών ιδιοτήτων (γνωρισµάτων). Οι τιµές που παίρνουν κάθε φορά τα γνωρίσµατα αυτά επιτρέπουν το διαχωρισµό µιας συγκεκριµένης οντότητας από τις άλλες που έχουν τον ίδιο τύπο µε αυτή. Στη συνέχεια θα γίνει µια αναφορά στα βασικά χαρακτηριστικά και τις ιδιότητες που πρέπει να έχει µία χαρακτηριστική ιδιότητα. Τα σηµεία αυτά πρέπει να ακολουθούνται όταν κάποιος προσπαθεί να καθορίσει και να περιγράψει τις χαρακτηριστικές ιδιότητες των οντοτήτων ενός Π.Σ. 1ο. Οι ιδιότητες µιας οντότητας είναι συνήθως επίθετα δηλαδή είναι λέξεις που σηµαίνουν ποιότητα, γνώρισµα ή ιδιότητα ενός ουσιαστικού.. 2ο. Το όνοµα κάθε γνωρίσµατος πρέπει να είναι µοναδικό µέσα στο σύνολο των γνωρισµάτων της οντότητας. Μπορεί όµως να εµφανίζεται ως γνώρισµα σε κάποια άλλη οντότητα του Π.Σ.. 3ο. Ένα γνώρισµα µιας οντότητας δεν µπορεί να πάρει πάνω από µία τιµή για συγκεκριµένη εµφάνιση της οντότητας. 4ο. Όλα τα γνωρίσµατα που είναι σηµαντικά για την πλήρη περιγραφή και την κατανόηση κάθε οντότητας θα πρέπει να συµπεριλαµβάνονται σε αυτή. 5ο. Η διαφορά µεταξύ χαρακτήρων γνωρισµάτων και οντότητας είναι ότι τα γνωρίσµατα είναι ατοµικά και δεν απαιτούν επιπλέον ιδιότητες για να περιγραφούν, ενώ οι οντότητες απαιτούν γνωρίσµατα για την περιγραφή τους. 6ο. Οι τιµές των ιδιοτήτων δεν αλλάζουν τον ρόλο της οντότητας στο σύστηµα. 3.2.1.3 Τι είναι οι σχέσεις Σχέση είναι η σύνδεση των οντοτήτων και η µέσω αυτής απεικόνιση του ρόλου τους σε µια επιχείρηση/οργανισµό. Κατά συνέπεια η ύπαρξη µιας σχέσης µεταξύ δύο οντοτήτων του συστήµατος, θα πρέπει να αποδεικνύεται από την υπάρχουσα ή τη δηµιουργούµενη νέα πολιτική της επιχείρησης/οργανισµού. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 61
Στη συνέχεια θα γίνει µια αναφορά στα βασικά χαρακτηριστικά και τις ιδιότητες που πρέπει να έχει µία σχέση. Τα σηµεία αυτά πρέπει να ακολουθούνται όταν κάποιος προσπαθεί να καθορίσει και να περιγράψει τις σχέσεις µεταξύ των οντοτήτων ενός Π.Σ. 1ο. Η συσχέτιση αντιπροσωπεύει κάποια άµεση αλληλοεπίδραση µεταξύ δύο οντοτήτων του φυσικού κόσµου (της επιχείρησης) και µπορεί να περιγραφεί µε µια απλή πρόταση: υποκείµενο (οντότητα) ρήµα (σχέση) αντικείµενο (οντότητα) Π.χ. Ο ΣΠΟΥ ΑΣΤΗΣ παρακολουθεί το ΜΑΘΗΜΑ Το ΜΑΘΗΜΑ παρακολουθείται από το Επειδή οι σχέσεις είναι αµφίδροµες χρησιµοποιούνται δύο προτάσεις µε το ρήµα σε ενεργητική και παθητική φωνή αντίστοιχα. 2ο. Μερικές σχέσεις έχουν τις δικές τους ιδιότητες οι οποίες είναι σηµαντικές γιατί χαρακτηρίζουν την κάθε σχέση και πρέπει να αποθηκεύονται. Οι ιδιότητες αυτές χαρακτηρίζουν τη σχέση και όχι τις οντότητες που συµµετέχουν σε αυτή. 3ο. Μας ενδιαφέρουν µόνο οι άµεσες και σηµαντικές για το σύστηµα σχέσεις. 3.2.1.4 Αναγνώριση ταυτότητας οντοτήτων Όπως αναφέρθηκε παραπάνω, µια οντότητα αντιπροσωπεύει µια ολόκληρη κατηγορία οµοειδών αντικειµένων. Επειδή κάθε ένα από τα αντικείµενα αυτά αντιστοιχεί σε διαφορετικές εµφανίσεις της οντότητας θα πρέπει να υπάρχει µία µέθοδος έτσι ώστε οι διαφορετικές εµφανίσεις µιας οντότητας να µπορούν να εντοπισθούν κατά τρόπο µονοσήµαντο. Για το λόγο αυτό χρησιµοποιείται κάποιο ή κάποια από τα γνωρίσµατα της οντότητας για να προσδιορίζεται µε αναµφισβήτητο τρόπο η εµφάνισή της. Τα γνωρίσµατα αυτά ονοµάζονται κύρια κλειδιά ή αναγνωριστικά της ταυτότητας της οντότητας. Για παράδειγµα, στη Γραµµατεία ενός Τµήµατος ΤΕΙ και για την οντότητα ΣΠΟΥ ΑΣΤΗΣ είναι δυνατόν το γνώρισµα ΟΝΟΜΑΤΕΠΩΝΥΜΟ να θεωρηθεί ως αναγνωριστικό ταυτότητας των διαφόρων σπουδαστών αν υπάρχει η βεβαιότητα ότι δεν θα υπάρξουν δύο διαφορετικοί σπουδαστές που να έχουν ακριβώς το ίδιο ονοµατεπώνυµο. Επειδή όµως αυτό δεν είναι βέβαιο, στα γνωρίσµατα της οντότητας ΣΠΟΥ ΑΣΤΗΣ εισάγεται µια νέα ιδιότητα, ο ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ, ο οποίος αποτελεί και το κλειδί για να ορισθεί µονοσήµαντα κάποιος σπουδαστής. Υπάρχουν περιπτώσεις που ένα κλειδί (απλό κλειδί) δεν είναι αρκετό για το µονοσήµαντο ορισµό µιας οντότητας. Έτσι, αν για παράδειγµα, η πολιτική µιας επιχείρησης/οργανισµού είναι να καθορίζει το ποσοστό έκπτωσης που δικαιούται ένας πελάτης, ανάλογα µε τον πελάτη και µε το προϊόν που αυτός αγοράζει, τότε η οντότητα ΕΚΠΤΩΣΗ ΠΕΛΑΤΗ θα πρέπει να έχει δύο κλειδιά (σύνθετο κλειδί), τα ΚΩ ΙΚΟΣ ΠΕΛΑΤΗ και ΚΩ ΙΚΟΣ ΠΡΟΪΟΝΤΟΣ και ένα επιπλέον γνώρισµα το ΠΟΣΟΣΤΟ έκπτωσης. Ένα άλλο είδος κλειδιού είναι το εναλλακτικό κλειδί. Χαρακτηριστικό παράδειγµα εναλλακτικού κλειδιού είναι ότι ως αναγνωριστικό κάποιου ατόµου µπορεί να λαµβάνεται είτε ο αριθµός ταυτότητας είτε ο αριθµός διαβατηρίου του. Τέλος, υπάρχει και η έννοια του εξωτερικού κλειδιού, το οποίο είναι ένα ή περισσότερα γνωρίσµατα που περιλαµβάνονται σε µια οντότητα, µε σκοπό να προσδιορίσουν µια άλλη. Ο όρος εξωτερικό κλειδί δείχνει ακριβώς ότι η ιδιότητα αυτή στην πραγµατικότητα ανήκει σε άλλη οντότητα από αυτή που την έχει. Παράδειγµα εξωτερικού κλειδιού είναι το εξής: Στο Π.Σ. της Γραµµατείας του Τµήµατος Εφαρµογών Πληροφορικής στη ιοίκηση και την Οικονοµία υπάρχει και η οντότητα ΠΡΟΣΦΕΡΟΜΕΝΟ ΜΑΘΗΜΑ η οποία έχει τα εξής γνωρίσµατα: ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 62
Κωδικός Μαθήµατος (κύριο κλειδί) Τίτλος Μαθήµατος Εξάµηνο Αριθµός σπουδαστών, που το δήλωσαν Κωδικός Καθηγητή που το διδάσκει (Εξωτερικό κλειδί) Είναι φανερό ότι αν δεν υπήρχε το εξωτερικό κλειδί Κωδικός Καθηγητή τότε δεν θα µπορούσε το σύστηµα να γνωρίζει ποιος καθηγητής διδάσκει το συγκεκριµένο µάθηµα. Τα εξωτερικά κλειδιά λοιπόν είναι µια τεχνολογική λύση για την υλοποίηση της σχέσης µεταξύ δυο οντοτήτων και είναι ακριβώς η σχέση αυτή που δηλώνει ότι πρέπει κανείς να θυµάται ότι η µία οντότητα σχετίζεται µε κάποια άλλη. 3.2.1.5 Βαθµός συσχέτισης Μια σχέση µεταξύ της οντότητας Α και της οντότητας Β έχει ένα βαθµό, ο οποίος αντιστοιχεί στον αριθµό των εµφανίσεων της οντότητας Β που µπορούν να συσχετισθούν σε µία εµφάνιση της οντότητας Α. υστυχώς, δεν υπάρχει ένας κοινά αποδεκτός τρόπος για την παρουσίαση της σχέσης µεταξύ των οντοτήτων και του βαθµού της. Κάθε µεθοδολογία ακολουθεί δικό της συµβολισµό. Παρ όλ αυτά, όλοι οι συµβολισµοί µπορούν, µε µικρές παραλλαγές, να οµαδοποιηθούν σε τρεις βασικές κατηγορίες, που αντιπροσωπεύονται από τις µεθοδολογίες IE (Information Engineering), MERISE και SSADM (Structured Systems Analysis and Design Method).Στη συνέχεια θα παρουσιαστούν οι συµβολισµοί που υιοθετούν οι µεθοδολογίες αυτές. 1 η περίπτωση: Μία εµφάνιση της οντότητας Α σχετίζεται µε µία εµφάνιση της Β. Παράδειγµα: Μία ΕΠΙΧΕΙΡΗΣΗ έχει ένα ΙΕΥΘΥΝΤΗ. α) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία Information Engineering: ΕΠΙΧΕΙΡΗΣΗ Έχει ΙΕΥΘΥΝΤΗ β) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία MERISE: ΕΠΙΧΕΙΡΗΣΗ Έχει ΙΕΥΘΥΝΤΗ (1, 1) γ) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία SSADM: ΕΠΙΧΕΙΡΗΣΗ Έχει ΙΕΥΘΥΝΤΗ ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 63
2 η Περίπτωση: Μια εµφάνιση της οντότητας Α σχετίζεται µε πολλές εµφανίσεις της Β. Παράδειγµα: Ένας ΣΠΟΥ ΑΣΤΗΣ έχει πολλούς ΚΑΘΗΓΗΤΕΣ. α) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία Information Engineering: ΣΠΟΥ ΑΣΤΗΣ Έχει ΚΑΘΗΓΗΤΕΣ β) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία MERISE: ΣΠΟΥ ΑΣΤΗΣ Έχει ΚΑΘΗΓΗΤΕΣ (Ν, Ν) γ) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία SSADM: ΣΠΟΥ ΑΣΤΗΣ Έχει ΚΑΘΗΓΗΤΕΣ 3 η Περίπτωση: Μια εµφάνιση της οντότητας Α σχετίζεται µε µία ή περισσότερες εµφανίσεις της Β. Παράδειγµα: Ένας ΠΕΛΑΤΗΣ έχει δώσει πολλές ΠΑΡΑΓΓΕΛΙΕΣ. α) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία Information Engineering: ΠΕΛΑΤΗΣ Έχει δώσει ΠΑΡΑΓΓΕΛΙΕΣ β) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία MERISE: ΠΕΛΑΤΗΣ Έχει δώσει ΠΑΡΑΓΓΕΛΙΕΣ (1, Ν) ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 64
γ) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία SSADM: ΠΕΛΑΤΗΣ Έχει δώσει ΠΑΡΑΓΓΕΛΙΕΣ 4 η Περίπτωση: Μία εµφάνιση της οντότητας Α σχετίζεται µε µηδέν ή µία εµφάνιση της Β Παράδειγµα Ένας ΑΣΘΕΝΗΣ χρειάζεται καµία ή µία ΘΕΡΑΠΕΥΤΙΚΗ ΑΓΩΓΗ. α) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία Information Engineering: ΑΣΘΕΝΗΣ Χρειάζεται ΘΕΡΑΠΕΥΤΙΚΗ ΑΓΩΓΗ β) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία MERISE: ΑΣΘΕΝΗΣ (0, 1) Χρειάζεται ΘΕΡΑΠΕΥΤΙΚΗ ΑΓΩΓΗ γ) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία SSADM: ΑΣΘΕΝΗΣ Χρειάζεται ΘΕΡΑΠΕΥΤΙΚΗ ΑΓΩΓΗ 5 η Περίπτωση: Μία εµφάνιση της οντότητας Α σχετίζεται µε µηδέν ή περισσότερες εµφανίσεις της Β Παράδειγµα: Ένας ΚΑΘΗΓΗΤΗΣ έχει κανένα ή περισσότερους ΣΠΟΥ ΑΣΤΕΣ ΓΙΑ ΠΤΥΧΙΑΚΗ. α) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία Information Engineering: ΚΑΘΗΓΗΤΗΣ Έχει ΣΠΟΥ ΑΣΤΕΣ ΓΙΑ ΠΤΥΧΙΑΚΗ ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 65
β) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία MERISE: ΚΑΘΗΓΗΤΗΣ (0, Ν) Έχει ΣΠΟΥ ΑΣΤΕΣ ΓΙΑ ΠΤΥΧΙΑΚΗ γ) ιαγραµµατική απεικόνιση που χρησιµοποιείται στη µεθοδολογία SSADM: ΚΑΘΗΓΗΤΗΣ Έχει ΣΠΟΥ ΑΣΤΕΣ ΓΙΑ ΠΤΥΧΙΑΚΗ 3.2.2 Κατασκευή του µοντέλου οντοτήτων σχέσεων Η κατασκευή ενός µοντέλου οντοτήτων σχέσεων δεν ακολουθεί κάποιον συγκεκριµένο αλγόριθµο και µάλιστα εξαρτάται κυρίως από την πείρα και τις ικανότητες του αναλυτή Π.Σ.. Στη συνέχεια περιγράφονται τα βήµατα ενός εµπειρικού τρόπου κατασκευής του µοντέλου οντοτήτων σχέσεων,. Τα τρία βασικά χαρακτηριστικά που πρέπει να έχει ένα µοντέλο οντοτήτων σχέσεων για να είναι αποδοτικό είναι: Αναλυτικό (µε όλες τις απαραίτητες λεπτοµέρειες). Λακωνικό (χωρίς πλεονασµούς και αναφορές σε µη σηµαντικά στοιχεία). Ανεξάρτητο της τεχνολογίας υλοποίησης. Σε γενικές γραµµές η κατασκευή του µοντέλου οντοτήτων σχέσεων ακολουθεί την παρακάτω πορεία: ηµιουργία καταλόγου οντοτήτων Εντοπισµός σχέσεων Κατασκευή µοντέλου οντοτήτων σχέσεων Για κάθε οντότητα: Ορισµός οντότητας ηµιουργία λίστας γνωρισµάτων Για κάθε γνώρισµα: Ορισµός γνωρίσµατος Έλεγχος ορισµάτων Σχήµα 3.1: Η πορεία κατασκευής του µοντέλου οντοτήτων σχέσεων Προφανώς, η δηµιουργία ενός καινούριου µοντέλου οντοτήτων σχέσεων θα βασιστεί τουλάχιστον αρχικά στα στοιχεία του υπάρχοντος συστήµατος. Έτσι, ένας έµπειρος αναλυτής θα ψάξει για υποψήφιες οντότητες και σχέσεις στα εξής: Στα αποτελέσµατα της διερευνητικής µελέτης. Στα αποτελέσµατα της µελέτης σκοπιµότητας. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 66
Στις εξωτερικές οντότητες που έχουν συνδιαλλαγές µε την επιχείρηση/οργανισµό. Στις δοµές δεδοµένων των αρχείων του συστήµατος. Σε υπάρχουσες αναφορές, καταλόγους, πολιτικές του συστήµατος. Σε υπάρχοντα έντυπα, παραστατικά, φόρµες (τιµολόγια, καταστάσεις, πίνακες, κ.λπ.). Σε συνεντεύξεις, ερωτηµατολόγια, προσωπική παρατήρηση, µετρήσεις. Εκµεταλλευόµενος όλα τα παραπάνω ως στοιχεία εισόδου ο αναλυτής προσπαθεί να κατασκευάσει το τελικό µοντέλο οντοτήτων σχέσεων. Στον Πίνακα 3.2 παρουσιάζονται τα βήµατα ενός αλγόριθµου κατασκευής του µοντέλου οντοτήτων σχέσεων. Σε ένα τέτοιο αλγόριθµο πρέπει φυσικά να εµπεριέχονται και διάφοροι έλεγχοι, τόσο επικύρωσης όσο και επαλήθευσης. Για τους ελέγχους επικύρωσης, δηλαδή τους ελέγχους που απαντούν στο ερώτηµα «κατασκευάζεται το σωστό µοντέλο;», µπορούν να χρησιµοποιηθούν όλα τα παραπάνω στοιχεία που οδήγησαν στη δηµιουργία των οντοτήτων και τον εντοπισµό των σχέσεων και αποτελούν φυσικά την πολιτική της επιχείρησης. Για τους ελέγχους επαλήθευσης, δηλαδή τους ελέγχους που απαντούν στο ερώτηµα «κατασκευάζεται το µοντέλο σωστά;» πρέπει να χρησιµοποιηθούν διάφοροι κανόνες κατασκευής «ορθών» µοντέλων οντοτήτων - συσχετίσεων. Μερικοί από τους κανόνες αυτούς παρατίθενται στη συνέχεια. 3.2.2.1 Ονοµασία µιας οντότητας Το όνοµα µιας οντότητας πρέπει να είναι: αντιπροσωπευτικό της οµάδας αντικειµένων που εκπροσωπεί η οντότητα µοναδικό για το συγκεκριµένο µοντέλο περιεκτικό σύντοµο συνεπές µε τα άλλα ονόµατα του µοντέλου. Στη συνέχεια παρουσιάζονται τα βήµατα ενός προτεινόµενου αλγόριθµου για την κατασκευή ενός µοντέλου οντοτήτων σχέσεων: 1 ο βήµα: Προσδιορισµός των υποψηφίων οντοτήτων και σχέσεων 1. Καθορισµός των υποθέσεων και των παραδοχών 2. Προσδιορισµός των υποψηφίων οντοτήτων και ονοµασία τους 3. Κατασκευή του πίνακα των σχέσεων µεταξύ των οντοτήτων 4. Προσδιορισµός των σχέσεων 5. Κατασκευή ενός πρώτου σχεδίου για το µοντέλο οντοτήτων σχέσεων 6. Έλεγχος για την ορθότητα των οντοτήτων 7. Έλεγχος για την ορθότητα των σχέσεων 8. Κατασκευή της τελικής µορφής του µοντέλου οντοτήτων σχέσεων ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 67
9. Έλεγχος της ορθότητας του µοντέλου οντοτήτων σχέσεων που κατασκευάστηκε 10. Ορισµός των οντοτήτων 2 ο βήµα: Προσδιορισµός και ορισµός των χαρακτηριστικών γνωρισµάτων των οντοτήτων και των σχέσεων Για κάθε οντότητα του 1 ου βήµατος πρέπει να γίνουν τα εξής: 1. Σχεσιακή ανάλυση των οντοτήτων 2. Ορισµός των υποψηφίων χαρακτηριστικών γνωρισµάτων 3. Ορισµός του ή των κλειδιών (κύριων, εξωτερικών, κ.λπ.) 4. Έλεγχος για την ορθότητα των χαρακτηριστικών γνωρισµάτων 5. Ορισµός των χαρακτηριστικών γνωρισµάτων 3 ο βήµα: Επαλήθευση του µοντέλου οντοτήτων σχέσεων 1. Επαλήθευση του µοντέλου οντοτήτων σχέσεων. Εάν το µοντέλο είναι ορθό ο αλγόριθµος τερµατίζει διαφορετικά επιστροφή στο 1 ο βήµα. 3.2.2.2 Έλεγχος οντοτήτων: Για κάθε υποψήφια οντότητα πρέπει να εξεταστούν τα εξής: ότι κάθε οντότητα ενδιαφέρει το σύστηµα εάν µια οντότητα δεν ενδιαφέρει το σύστηµα προφανώς δεν πρέπει να υπάρχει. ότι υπάρχουν περισσότερες από µία ιδιότητες για κάθε οντότητα εάν µια οντότητα έχει µόνο µία ιδιότητα τότε δεν πρέπει να αποτελεί ξεχωριστή οντότητα αλλά ιδιότητα µιας άλλης οντότητας. ότι υπάρχουν πολλές εµφανίσεις µιας οντότητας κάθε εµφάνιση µιας οντότητας πρέπει να µπορεί να εντοπισθεί µονοσήµαντα (αυτό επιτυγχάνεται µε τη βοήθεια απλού ή σύνθετου κλειδιού). 3.2.2.3 Έλεγχος σχέσεων Για τις υποψήφιες σχέσεις πρέπει να εξεταστούν τα εξής: 1. ότι έχουν ένα περιγραφικό όνοµα που συνήθως είναι ένα ρήµα στην ενεργητική ή παθητική φωνή και ότι αυτό το όνοµα είναι µοναδικό. 2. ότι συνδέουν δύο οντότητες ή διαφορετικούς ρόλους της ίδιας οντότητας. 3. ότι είναι αµφίδροµες για τις δύο οντότητες που συνδέουν. 4. ότι δεν υπάρχει οντότητα χωρίς συσχετίσεις αν υπάρχει οντότητα χωρίς σχέση τότε είτε η οντότητα δε χρειάζεται είτε κάποια συσχέτιση έχει αγνοηθεί. 5. ότι δεν υπάρχουν πολλές σχέσεις που να συνδέονται µε την ίδια οντότητα αν υπάρχουν πολλές συσχετίσεις µε την ίδια οντότητα τότε πρέπει να ελεγχθεί µήπως η οντότητα είναι υπερβολικά γενική, οπότε θα πρέπει να σπάσει σε άλλες επιµέρους οντότητες. 3.2.2.4 Έλεγχος χαρακτηριστικών γνωρισµάτων Για κάθε υποψήφιο χαρακτηριστικό γνώρισµα πρέπει να εξεταστούν τα εξής: 1. εάν αποτελεί σηµαντική ιδιότητα της οντότητας που πρέπει υποχρεωτικά να συµπεριληφθεί στο σύνολο των γνωρισµάτων της. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 68
2. εάν το όνοµά του είναι µοναδικό µέσα στο σύνολο των γνωρισµάτων της οντότητας. 3. ότι δεν µπορεί το όνοµά του να διαιρεθεί σε άλλα απλούστερα στοιχεία εξαίρεση αποτελούν τα σύνθετα χαρακτηριστικά γνωρίσµατα που και αυτά όµως πρέπει να αναλυθούν στα στοιχεία που τα αποτελούν. 3.2.2.5 Έλεγχος της ορθότητας του µοντέλου οντοτήτων σχέσεων Στο µοντέλο οντοτήτων σχέσεων γίνονται δύο βασικοί έλεγχοι: Ο πρώτος έλεγχος γίνεται για την εξασφάλιση της ορθότητας των οντοτήτων που έχουν δηµιουργηθεί. Ο δεύτερος έλεγχος γίνεται αφού πρώτα έχει πραγµατοποιηθεί η σχεσιακή ανάλυση των δεδοµένων. Ο πρώτος έλεγχος του µοντέλου οντοτήτων σχέσεων περιλαµβάνει τα εξής: i. Όλες οι οντότητες πρέπει να έχουν προσδιορισθεί πριν από τις σχέσεις. ii. Όλες οι οντότητες και οι σχέσεις πρέπει να έχουν προσδιορισθεί και πριν από τις ιδιότητες τους. iii. Τα ονόµατα των οντοτήτων πρέπει να είναι ουσιαστικά και µοναδικά. iv. εν πρέπει να υπάρχει οντότητα που να µην σχετίζεται µε µία τουλάχιστον άλλη οντότητα. v. εν πρέπει να υπάρχει σχέση στο µοντέλο που να είναι, και προς τις δύο πλευρές, ένα προς ένα. Στην περίπτωση αυτή οι δύο οντότητες ταυτίζονται και πρέπει να γίνουν µία. Π.χ. η σχέση µεταξύ των οντοτήτων ΣΠΟΥ ΑΣΤΗΣ και ΚΑΡΤΕΛΑ ΣΠΟΥ ΑΣΤΗ. vi. Αν δύο ή περισσότερες οντότητες παρουσιάζουν την ίδια ή τις ίδιες ιδιότητες τότε υπάρχει µεγάλη πιθανότητα αυτές οι οντότητες να πρέπει να γίνουν µία. Σε µια τέτοια περίπτωση πρέπει να ελεγχθούν τα εξής: Αν οι οντότητες έχουν πολλά κοινά γνωρίσµατα, οπότε πρέπει να συγχωνευτούν σε µία. Αν οι οντότητες συµµετέχουν στις ίδιες συσχετίσεις. Αν έχουν διαφορετικούς ρόλους τότε πρόκειται για διαφορετικές οντότητες που προφανώς πρέπει να διατηρηθούν στο µοντέλο. vii. εν πρέπει να υπάρχουν σχέσεις πολλά προς πολλά. Παράδειγµα: Ένας ΠΕΛΑΤΗΣ, κατά τη διάρκεια ενός µήνα, µπορεί να νοικιάζει πολλά ΑΥΤΟΚΙΝΗΤΑ. Ένα ΑΥΤΟΚΙΝΗΤΟ, κατά τη διάρκεια ενός µήνα, νοικιάζεται από πολλούς ΠΕΛΑΤΕΣ. Οι σχέσεις πολλά προς πολλά υποκρύπτουν πάντα µια νέα οντότητα, που έχει αγνοηθεί. Στο συγκεκριµένο παράδειγµα, η οντότητα αυτή είναι η ΣΥΜΒΑΣΗ_ΕΝΟΙΚΙΑΣΗΣ. Για το λόγο αυτό, πρέπει να αναλύονται οι σχέσεις της µορφής αυτής, δηµιουργώντας την οντότητα που είχε παραληφθεί. 3.3 Τεχνικές κατασκευής µοντέλων οντοτήτων σχέσεων ύο από τις σηµαντικότερες τεχνικές παραγωγής πληροφοριών για την κατασκευή ενός µοντέλου οντοτήτων σχέσεων είναι η συλλογή και ανάλυση γραπτών κειµένων (αναφορών, ερωτηµατολογίων, κ.λπ.) και συνεντεύξεων καθώς και η ανάλυση υπαρχόντων ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 69
εντύπων και παραστατικών. Στη συνέχεια παρουσιάζονται δύο τρόποι κατασκευής ενός διαγράµµατος οντοτήτων σχέσεων, ένας που βασίζεται στην ανάλυση κείµενων και συνεντεύξεων και ένας που βασίζεται στην ανάλυση εντύπων και παραστατικών. 3.3.1 Ανάλυση Κειµένων και Συνεντεύξεων 1 ο βήµα: Μετατροπή του κειµένου ώστε να περιέχει συγκεκριµένες προτάσεις. Αντικατάσταση των αντωνυµιών µε τα ουσιαστικά στη θέση των οποίων χρησιµοποιούνται. Μετατροπή των µεγάλων προτάσεων σε µικρότερες της µορφής: ουσιαστικό ρήµα ουσιαστικό. Αγνόηση των ποσοτικών επιρρηµάτων και των αντωνυµιών που αντιπροσωπεύουν ποσότητα (π.χ., πολλά, αρκετά, καθόλου, κάµποσα κ.λπ.) καθώς και των συνδετικών λέξεων (π.χ. όµως, άλλα, κ.λπ.). Απλοποίηση των σύνθετων προτάσεων σε πιο απλές προσέχοντας όµως να µην αλλάξει το νόηµα. 2 ο βήµα: Προσδιορισµός των φράσεων που περιγράφουν µια συγκεκριµένη εµφάνιση αντικειµένου πιθανή οντότητα. Οι φράσεις αυτές είναι, συνήθως, της µορφής: υποκείµενο - ρήµα - τάξη αντικειµένων ή τάξη αντικειµένων - ρήµα - υποκείµενο Π.χ.: Ο Στέλιος διαβάζει πολλά περιοδικά. Από τις φράσεις αυτές επιλέγεται η τάξη ως πιθανή οντότητα και διαγράφεται η υπόλοιπη πρόταση. 3 ο βήµα: Προσδιορισµός των σηµαντικών ιδιοτήτων κάθε οντότητας. Εξέταση για κάθε πρόταση που σχετίζεται µε δραστηριότητα µήπως χρειάζεται να δηµιουργηθεί µία ιδιότητα που να αντιπροσωπεύει τη δραστηριότητα αυτή. Π.χ.: Οι νοικιασµένες κασέτες video επιστρέφονται. Ιδιότητα: ηµεροµηνία επιστροφής νοικιασµένης κασέτας video. Εξέταση σε κάθε πρόταση για το εάν µια λέξη περιγράφει ιδιότητα ενός ουσιαστικού και αναζήτηση για τον ιδιοκτήτη αυτής της ιδιότητας Π.χ.: Οι σπουδαστές έχουν όνοµα, επώνυµο, Α.Μ., διεύθυνση, τηλέφωνο, κ.λπ 4 ο βήµα: Ορισµός οντοτήτων και σχέσεων. Για κάθε πρόταση: Επιλογή των ουσιαστικών και των ρηµάτων των προτάσεων, ηµιουργία υποψήφιων οντοτήτων από τα ουσιαστικά. ηµιουργία σχέσεων από τα ρήµατα. Τοποθέτηση του αντίστοιχου συµβολισµού στις σχέσεις όπου ο βαθµός είναι προφανής. ηµιουργία υποκατηγοριών οντοτήτων για όποιες οντότητες είναι αυτό δυνατόν. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 70
Τοποθέτηση ερωτηµατικών σε όποιες σχέσεις υπάρχουν ασάφειες. 5 ο βήµα: Σύνδεση οντοτήτων αναζήτηση ιδιοτήτων των σχέσεων. Σύνδεση των οντοτήτων αυτών φυσικά που µπορούν να συνδεθούν µεταξύ τους. Αναζήτηση πληροφοριών για τις σχέσεις µεταξύ των οντοτήτων. 6 ο βήµα: Τελικές διορθώσεις ολοκλήρωση του µοντέλου οντοτήτων σχέσεων. Απάντηση και συµπλήρωση των ερωτηµατικών και των ασαφειών που έχουν τυχόν δηµιουργηθεί από τα προηγούµενα βήµατα και ολοκλήρωση του µοντέλου οντοτήτων σχέσεων. 3.3.2 Ανάλυση Εντύπων και Παραστατικών Στην ενότητα αυτή θα παρουσιαστεί ένας τρόπος ανάλυσης των πληροφοριών που υπάρχουν και µεταφέρονται από τα έντυπα και τα παραστατικά µιας επιχείρησης/οργανισµού. Οι πληροφορίες αυτές είναι ιδιαίτερα σηµαντικές διότι αφορούν την ίδια την οργάνωση και τη λειτουργία της επιχείρησης/οργανισµού. Από αυτές τις πληροφορίες µπορεί ο αναλυτής σχετικά εύκολα να εξάγει συµπεράσµατα για τις οντότητες και τις σχέσεις του προς ανάλυση συστήµατος. 1 ο βήµα : ηµιουργία ενός πίνακα που περιλαµβάνει τα δεδοµένα του εντύπου. Σηµείωση των οµάδων δεδοµένων που επαναλαµβάνονται αν κάποιο όνοµα είναι στον πληθυντικό, τότε ελέγχεται αν αναφέρεται σε επαναλαµβανόµενα δεδοµένα. Χρήση του διαγράµµατος Warmer Orr για την απεικόνιση της δοµής των δεδοµένων του εντύπου ιαχωρισµός των επαναλαµβανόµενων δεδοµένων από τα µη επαναλαµβανόµενα. 2 ο βήµα: Επιλογή ενός ονόµατος για κάθε αντικείµενο που αποτελεί πιθανή οντότητα. 3 ο βήµα: Αναζήτηση σε κάθε οντότητα για τον εντοπισµό των γνωρισµάτων και του αναγνωριστικού της (απλό ή σύνθετο κλειδί). 4 ο βήµα: Εντοπισµός των σχέσεων µεταξύ των οντοτήτων, και το βαθµό κάθε σχέσης. 5 ο βήµα: Κατασκευή και ολοκλήρωση του µοντέλου οντοτήτων σχέσεων. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 71
3.4 Συγχώνευση των διαφόρων µοντέλων οντοτήτων σχέσεων Από τα διάφορα στοιχεία του συστήµατος (αναφορές, έντυπα, συνεντεύξεις, ερωτηµατολόγια, δοµές αρχείων, παραστατικά κ.λπ.), όπως αναφέρθηκε και παραπάνω, είναι δυνατόν να προκύψουν διάφορα µοντέλα οντοτήτων σχέσεων. Αυτά τα µοντέλα πρέπει να συγχωνευθούν σε ένα, πάνω στο οποίο θα γίνει τελικά η σχεσιακή ανάλυση των δεδοµένων. Υπάρχουν κάποια σηµεία που πρέπει να προσεχθούν ιδιαίτερα κατά τη διαδικασία της συγχώνευσης των µοντέλων αυτών: i. Η ανάλυση και η συγχώνευση των µοντέλων είναι καλύτερο να γίνεται παράλληλα. εν πρέπει κανείς πρώτα να ολοκληρώσει όλες τις αναλύσεις των µοντέλων και στη συνέχεια να ξεκινήσει τη συγχώνευσή τους. ii. Έλεγχος για ύπαρξη συνωνύµων και συγχώνευση των οντοτήτων που έχουν το ίδιο όνοµα. iii. Συγχώνευση των ιδιοτήτων που έχουν το ίδιο όνοµα. iv. Σε περίπτωση που υπάρχουν σηµαντικές αποκλίσεις στα διάφορα µοντέλα (διαφορετικές οντότητες, διαφορετικές σχέσεις, κ.λπ.) πρέπει να αναζητηθεί ο λόγος ύπαρξης των διαφορών αυτών και να ξεκαθαρισθούν όλες οι ασάφειες. 3.5 Σχεσιακή Ανάλυση εδοµένων Η σχεσιακή ανάλυση δεδοµένων ή κανονικοποίηση των δεδοµένων, όπως διαφορετικά λέγεται, στηρίζεται στη µαθηµατική θεωρία συνόλων και ξεκίνησε από το έργο του Edgar Codd (1979). O Codd και οι άλλοι ερευνητές παρατήρησαν ότι τόσο στις επιχειρήσεις όσο και στους υπολογιστές, κατά τις δεκαετίες του 70 και του 80, τα δεδοµένα συλλέγονταν και αποθηκεύονταν κατά µη αποτελεσµατικό τρόπο. Για το λόγο αυτό παρουσίασαν µια σειρά από βήµατα, τα οποία στηρίζονται στη µαθηµατική θεωρία συνόλων έχουν ως αποτέλεσµα την ορθότερη οργάνωση (οµαλοποίηση) των δεδοµένων. Τα βήµατα αυτά επιτρέπουν στον αναλυτή να: αυξήσει και να βελτιώσει τη γνώση του για τα δεδοµένα εντοπίσει τυχόν εξαρτήσεις µεταξύ των στοιχειωδών δεδοµένων (ιδιοτήτων) αποµακρύνει τυχόν πλεονάζοντα δεδοµένα, επειδή προκαλούν προβλήµατα στη συντήρηση των δεδοµένων επικυρώσει το µοντέλο οντοτήτων σχέσεων που κατασκευάστηκε µε την καθοδική (από πάνω προς τα κάτω) προσέγγιση, µε ένα ανοδικό (από κάτω προς τα πάνω) έλεγχο 3.5.1 Βασικές έννοιες της σχεσιακής ανάλυσης δεδοµένων Οι βασικές έννοιες της σχεσιακής ανάλυσης σχετίζονται άµεσα µε την µαθηµατική θεωρία συνόλων. Η σχέση αναπαριστάται µε ένα δισδιάστατο πίνακα, οι γραµµές της σχέσης (πλειάδες) αντιστοιχούν στις γραµµές του πίνακα εκτός της επικεφαλίδας και τα πεδία ορισµού αντιστοιχούν στις στήλες του πίνακα. Πιο φορµαλιστικά, µία σχέση ορίζεται ως εξής: ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 72
Έστω ότι υπάρχουν τα σύνολα Α 1, Α 2,, Α n, τα οποία ονοµάζονται πεδία ορισµού. Σχέση r ονοµάζεται το σύνολο των διατεταγµένων n-άδων (t 1, t 2,, t n ), όπου το t 1 ανήκει στο πεδίο ορισµού Α 1, το t 2 στο Α 2, κ.ο.κ. Με άλλα λόγια µία σχέση είναι ένα σύνολο από πλειάδες δηλαδή ένας πίνακας από δεδοµένα και έχει τις εξής ιδιότητες: Η σειρά των γραµµών του πίνακα δεν παίζει ρόλο. Η σειρά των στηλών του πίνακα δεν παίζει ρόλο. Κάθε στήλη ορίζεται µονοσήµαντα ως γνώρισµα. Κάθε διασταύρωση γραµµής µε στήλη αντιστοιχεί σε µία και µόνο µία τιµή. Όπως αναφέρθηκε παραπάνω µια πλειάδα είναι µια γραµµή του πίνακα και αντιστοιχεί σε µία εγγραφή του αντίστοιχου φυσικού αρχείου στο οποίο αποθηκεύονται τα δεδοµένα του πίνακα. Το πεδίο ορισµού κάθε γνωρίσµατος αντιστοιχεί σε µία στήλη του πίνακα και είναι ισοδύναµο µε το πεδίο της εγγραφής ενός αρχείου. Το όνοµα ενός πίνακα είναι πάντα το όνοµα µιας οντότητας ή το όνοµα µιας σχέσης σε περίπτωση που απαιτείται να κρατούνται δεδοµένα για τις συσχετίσεις. Αυτό σηµαίνει ότι όλες οι οντότητες του µοντέλου οντοτήτων σχέσεων που έχουν κατασκευαστεί µε την από πάνω προς τα κάτω προσέγγιση παίρνουν τη µορφή πίνακα. Τα ονόµατα των στηλών κάθε πίνακα αντιστοιχούν στα ονόµατα των γνωρισµάτων της οντότητας ή της σχέσης. Μια συγκεκριµένη εµφάνιση της οντότητας ή της σχέσης αντιστοιχεί σε µια γραµµή του πίνακα. Στον πίνακα 3.2 παρουσιάζεται µία εµφάνιση της οντότητας ΣΠΟΥ ΑΣΤΗΣ, γιατί περιέχει συγκεκριµένες τιµές για τα γνωρίσµατα της (Αριθµός Μητρώου, Επώνυµο, Όνοµα, Έτος_γέννησης, Εξάµηνο). ΑΜ Επώνυµο Όνοµα Έτος_γέννησης Εξάµηνο 09011 10390 09009 11020 07005 08017 11045 Τσιρογιάννης Ζήκος Αντωνίου Πετροπούλου Βενιζέλος Χρήστου Νάνου Παύλος Μιχάλης Γρηγόρης Κατερίνα Λάµπρος Χρήστος Σοφία 1983 1984 1983 1985 1982 1983 1985 Γ Β ΣΤ Ε Β Πίνακας 3.2: Μια εµφάνιση της οντότητας ΣΠΟΥ ΑΣΤΗΣ 3.5.2 Κλειδί Κλειδί ή αναγνωριστικό γνώρισµα είναι µία στήλη (ή µια οµάδα από στήλες) που προσδιορίζει µονοσήµαντα µια δεδοµένη εγγραφή (γραµµή) σε µια σχέση. Για παράδειγµα η στήλη ΑΜ είναι το πρωτεύον κλειδί της οντότητας ΣΠΟΥ ΑΣΤΗΣ Εποµένως, µπορούµε να πούµε ότι ο γενικός αντιπρόσωπος της οντότητας ΣΠΟΥ ΑΣΤΗΣ είναι ο εξής: ΣΠΟΥ ΑΣΤΗΣ(ΑΜ, Επώνυµο, Όνοµα, Έτος_γέννησης, Εξάµηνο), Η υπογράµµιση σηµαίνει ότι το συγκεκριµένο γνώρισµα αποτελεί το πρωτεύον κλειδί.. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 73
3.5.3 Κανονικοποίηση Ένα από τα σηµαντικότερα σηµεία στην κατασκευή ενός διαγράµµατος οντοτήτων σχέσεων είναι η σωστή επιλογή των οντοτήτων, των ιδιοτήτων τους αλλά και των µεταξύ τους σχέσεων. Μια λανθασµένη προσέγγιση που συνηθίζεται από άπειρους αναλυτές είναι ο ορισµός λίγων οντοτήτων υπερφορτωµένων µε πολλές ιδιότητες. Η µέθοδος που επιτρέπει στους αναλυτές να κατασκευάζουν µε σωστό τρόπο ένα µοντέλο οντοτήτων σχέσεων ονοµάζεται κανονικοποίηση. Αποτελεί µια διαδικασία η οποία ξεκινώντας από µια αρχική οντότητα καταλήγει σε µία ή περισσότερες οντότητες που δεν περιέχουν περιττές ιδιότητες ή άχρηστες επαναλήψεις ιδιοτήτων. Εφαρµόζεται σε µια οντότητα κάθε φορά και είναι ανεξάρτητη από τον αριθµό των οντοτήτων του διαγράµµατος. Η τεχνική της κανονικοποίησης αποσκοπεί στα εξής: µεγαλύτερη ανεξαρτησίας µεταξύ των δεδοµένων που απαιτεί µικρότερο αριθµό αναδιοργανώσεων σε περίπτωση προσθήκης νέων κατηγοριών δεδοµένων. ελαχιστοποίηση των ανεπιθύµητων λογικών εξαρτήσεων, που παρουσιάζονται κατά τις διαδικασίες προσθήκης, ενηµέρωσης ή/και διαγραφής εγγραφών. την προσθήκη όσο το δυνατόν λιγότερων πρόσθετων περιορισµών στις δοµές δεδοµένων που χρησιµοποιούνται. Προφανώς, µετά την κανονικοποίηση το τελικό µοντέλο θα πρέπει να ακολουθεί όλους τους κανόνες που πρέπει να ακολουθεί ένα ορθολογικό µοντέλο δεδοµένων: να παρουσιάζει όλα τα δεδοµένα, που χρειάζεται το σύστηµα, να έχει οργανωµένα τα δεδοµένα έτσι ώστε ένα δεδοµένο να υπάρχει σε ένα και µόνον ένα σηµείο, να απεικονίζει µόνο τις συσχετίσεις µεταξύ των οντοτήτων, που ενδιαφέρουν το σύστηµα. Η κανονικοποίηση επιτυγχάνεται εφαρµόζοντας διαδοχικά τους τρεις παρακάτω κανόνες: 1 ος κανόνας: Κάθε ιδιότητα εξαρτάται από το κλειδί του πίνακα. 2 ος κανόνας: Κάθε ιδιότητα εξαρτάται από όλο το κλειδί του πίνακα και όχι από ένα µέρος του. 3 ος κανόνας: Κάθε ιδιότητα εξαρτάται µόνο από το κλειδί του πίνακα και από καµία άλλη ιδιότητα. Μετά από την εφαρµογή κάθε κανόνα τα δεδοµένα βρίσκονται, αντίστοιχα, στην πρώτη, δεύτερη ή τρίτη κανονική µορφή. Οι τρεις αυτές πρώτες µορφές προτάθηκαν από τον Ε. F. Codd (1970) και έχουν γίνει κοινά αποδεκτές. Έχουν προταθεί και άλλες δύο κανονικές µορφές, η τέταρτη και η πέµπτη, που όµως δεν είναι γενικά αποδεκτές ως υποχρεωτικές. Τα βήµατα της κανονικοποίησης είναι: 1 ο βήµα: Τα δεδοµένα παρουσιάζονται µε τη µορφή ενός µη κανονικοποιηµένου πίνακα. 2 ο βήµα: Μετασχηµατισµός του µη κανονικοποιηµένου πίνακα σε πρώτη κανονική µορφή. Ένας πίνακας βρίσκεται στην πρώτη κανονική µορφή αν έχει αναγνωριστικό κλειδί και δεν περιλαµβάνει επαναλαµβανόµενα γνωρίσµατα ή οµάδες γνωρισµάτων. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 74
3 ο βήµα: Μετασχηµατισµός όλων των πινάκων της πρώτης κανονικής µορφής στη δεύτερη κανονική µορφή. Ένας πίνακας βρίσκεται στη δεύτερη κανονική µορφή αν είναι σε πρώτη κανονική µορφή και επί πλέον κάθε πεδίο του ορίζεται µονοσήµαντα από ολόκληρο το κλειδί και όχι από κάποιο µέρος του. 4 ο βήµα: Μετασχηµατισµός όλων των πινάκων της δεύτερης κανονικής µορφής στην τρίτη κανονική µορφή. Ένας πίνακας είναι στην τρίτη κανονική µορφή, όταν αφού βρεθεί στη δεύτερη κανονική µορφή, κανένα πεδίο διαφορετικό του πρωτεύοντος κλειδιού δεν περιγράφει κάποιο γεγονός ιδιότητα που αφορά κάποιο άλλο πεδίο του πίνακα εκτός από αυτό του κλειδιού (δηλαδή κανένα πεδίο του πίνακα δεν εξαρτάται από άλλο πεδίο, εκτός από αυτό του κλειδιού). 5 ο βήµα: Τελικός έλεγχος. Τιµολόγιο Πώλησης Χατζησταύρου & ΣΙΑ Ο.Ε. Βιοµηχανία Παρασκευής Στιγµιαίων Ροφηµάτων Αχ. Συµπολιτείας 55-59 26441 Πάτρα ΤΗΛ: 2610-555555 ΑΦΜ:022222100 ιεύθυνση Παράδοσης: Αριθµός Τιµολογίου: Πωλητής: Ονοµατεπώνυµο: ιεύθυνση: Πόλη: Τηλέφωνο: Ηµεροµηνία Α.Φ.Μ.: Κωδικός Πελάτη: Κωδικός Προϊόντος Περιγραφή Προϊόντος Ποσότητα Τιµή µονάδας χωρίς Φ.Π.Α. Καθαρή Φ.Π.Α. αξία % αξία Τελική αξία Προκαταβολή: Υπόλοιπο: Υπογραφή Σύνολο καθαρής αξίας Σύνολο Φ.Π.Α. Πληρωτέο Σχήµα 3.2: Ένα τιµολόγιο πώλησης Τα βήµατα της κανονικοποίησης µπορούν να γίνουν καλύτερα κατανοητά, µε τη βοήθεια του παρακάτω παραδείγµατος. Θα παρουσιαστεί η απλοποίηση της δοµής του τιµολογίου πώλησης που φαίνεται στο παρακάτω σχήµα και η αποθήκευση των δεδοµένων του σε πίνακες που βρίσκονται στην τρίτη κανονική µορφή. Το ΤΙΜΟΛΟΓΙΟ πώλησης αποτελεί ένα εξερχόµενο έντυπο της επιχείρησης και προφανώς υπάρχει στα λεξικά δεδοµένων και στα αρχεία των διαγραµµάτων ροής δεδοµένων του συστήµατος. Εµφανίζεται ως οντότητα στο διάγραµµα οντοτήτων σχέσεων, γιατί το ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 75
σύστηµα πρέπει να κρατάει τα τιµολόγια πώλησης τόσο για εσωτερικούς λόγους (λογιστικοί έλεγχοι) όσο και για εξωτερικούς λόγους (έλεγχος από την Εφορία). Η παρουσίαση ακολουθεί τα βήµατα της κανονικοποίησης που παρουσιάστηκαν παραπάνω. 1 ο βήµα: Παρουσίαση των δεδοµένων µε ένα µη κανονικοποιηµένο πίνακα 1. Αφαίρεση των δεδοµένων που αναφέρονται σε µοναδική εµφάνιση και δεν ενδιαφέρουν το σύστηµα. 2. Αντικατάσταση των υποδοµών που περιλαµβάνει η κύρια δοµή δεδοµένων µε τα ισοδύναµα στοιχειώδη δεδοµένα. 3. Μετασχηµατισµός της κύριας δοµής δεδοµένων σε µορφή πίνακα. 4. Προσδιορισµός ενός αναγνωριστικού κλειδιού που να προσδιορίζει τις εγγραφές του πίνακα µε µονοσήµαντο τρόπο. 5. Αναζήτηση για τα γνωρίσµατα που επαναλαµβάνονται. 6. Ο πίνακας που έχει κατασκευαστεί είναι σε µη κανονικοποιηµένη µορφή. Έστω τώρα το ΤΙΜΟΛΟΓΙΟ του σχήµατος 3.2 της εταιρείας Χατζηπέτρου & ΣΙΑ Ο.Ε.. Τα δεδοµένα που περιέχει η δοµή αυτή πρέπει να γραφούν σε µορφή µη κανονικοποιηµένου πίνακα. Ας καθοριστούν αρχικά τα δεδοµένα που δε χρειάζεται να κρατηθούν, άρα και να απεικονισθούν στον πίνακα Τα δεδοµένα αυτά είναι τα στοιχεία της Εταιρείας Χατζηπέτρου & ΣΙΑ Ο.Ε. (µοναδική εµφάνιση). Αριθµός Τιµολογίου Στοιχεία Εταιρείας Επωνυµία ιεύθυνση Τηλέφωνο Α.Φ.Μ. Τιµολόγιο Πώλησης Πωλητής Ηµεροµηνία Στοιχεία πελάτη Κωδικός Πελάτη Ονοµατεπώνυµο ιεύθυνση Πόλη Α.Φ.Μ. Τηλέφωνο ιεύθυνση παράδοσης Προκαταβολή Υπόλοιπο Υπογραφή Λεπτοµέρειες Τιµολογίου Σύνολο καθαρής αξίας Σύνολο Φ.Π.Α Πληρωτέο Κωδικός Προϊόντος Περιγραφή Προϊόντος Ποσότητα Τιµή µονάδας χωρίς Φ.Π.Α. Καθαρή αξία Συντελεστής Φ.Π.Α. Αξία Φ.Π.Α. Τελική αξία Σχήµα 3.3: ιάγραµµα Warnier Orr για το ΤΙΜΟΛΟΓΙΟ του σχήµατος 3.2 ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 76
Για την απεικόνιση των υπολοίπων δεδοµένων θα χρησιµοποιηθεί η διαγραµµατική τεχνική των Warnier Orr [7] [9]. Η τεχνική αυτή έχει το πλεονέκτηµα να εµφανίζει τόσο τις δοµές και τις υποδοµές, όσο και την ύπαρξη επαναλαµβανόµενων οµάδων δεδοµένων. Στο σχήµα 3.3 παρουσιάζεται το διάγραµµα Warnier Orr για το ΤΙΜΟΛΟΓΙΟ του σχήµατος 3.2. Για αναγνωριστικό κλειδί επιλέγεται ο Αριθµός Τιµολογίου. Κάθε στοιχειώδες δεδοµένο του διαγράµµατος Warnier Orr αποτελεί και ένα γνώρισµα της οντότητας ΤΙΜΟΛΟΓΙΟ. 2 ο βήµα: Μετασχηµατισµός του πίνακα στην πρώτη κανονική µορφή 1. Απαλοιφή των επαναλαµβανόµενων γνωρισµάτων. Επαναλαµβανόµενα γνωρίσµατα είναι αυτά που µπορούν να πάρουν πολλές διαφορετικές τιµές για µια µοναδική τιµή του πρωτεύοντος κλειδιού. 2. ηµιουργία ενός πίνακα για κάθε οµάδα επαναλαµβανόµενων γνωρισµάτων. 3. Καθορισµός του ονόµατος του πίνακα και δηµιουργία ενός σύνθετου αναγνωριστικού κλειδιού. Οι ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ αποτελούν µία επαναλαµβανόµενη οµάδα γνωρισµάτων που όλα αφορούν τα προϊόντα της Εταιρείας Χατζηπέτρου & ΣΙΑ Ο.Ε.. Σύµφωνα εποµένως µε το 2 ο βήµα πρέπει να δηµιουργηθεί ένας νέος πίνακας. Στον πίνακα αυτό δίνεται το όνοµα ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ. Προκύπτουν εποµένως δύο πίνακες, ο πίνακας ΤΙΜΟΛΟΓΙΟ και ο πίνακας ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ. Μεταξύ των δύο πινάκων υπάρχει συσχέτιση ένα προς πολλά (1:Ν), µε την σχέση ΤΙΜΟΛΟΓΙΟ να είναι η κύρια σχέση. Στο παρακάτω σχήµα φαίνονται οι δύο καινούργιοι πίνακες που δηµιουργήθηκαν µε τα χαρακτηριστικά τους γνωρίσµατα. Τα υπογραµµισµένα γνωρίσµατα αντιστοιχούν στα αναγνωριστικά κλειδιά κάθε πίνακα. Οι δύο πίνακες βρίσκονται προφανώς στην πρώτη κανονική µορφή. ΤΙΜΟΛΟΓΙΟ Αριθµός Τιµολογίου Πωλητής Ηµεροµηνία Κωδικός πελάτη Ονοµατεπώνυµο ιεύθυνση Πόλη Α.Φ.Μ. Τηλέφωνο Σύνολο καθαρής αξίας Σύνολο Φ.Π.Α. Πληρωτέο Προκαταβολή Υπόλοιπο ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ Αριθµός Τιµολογίου Κωδικός Προϊόντος Περιγραφή Προϊόντος Ποσότητα Τιµή µονάδας χωρίς Φ.Π.Α. Καθαρή αξία Συντελεστής Φ.Π.Α. Αξία Φ.Π.Α. Τελική αξία Σχήµα 3.4: Οι δύο πίνακες ΤΙΜΟΛΟΓΙΟ και ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ στην πρώτη κανονική µορφή. 3 ο βήµα: Μετασχηµατισµός των πινάκων από την πρώτη κανονική µορφή στη δεύτερη κανονική µορφή. Είναι φανερό ότι η µετατροπή από την πρώτη κανονική µορφή στη δεύτερη κανονική µορφή ισχύει µόνο για πίνακες που έχουν σύνθετο κλειδί. Οι πίνακες που είναι στην ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 77
πρώτη κανονική δοµή και έχουν ένα απλό κλειδί βρίσκονται ήδη και στη δεύτερη κανονική µορφή. 1. Αναζήτηση σε κάθε πίνακα µε σύνθετο κλειδί για τα πεδία που δεν εξαρτώνται από ολόκληρο το κλειδί αλλά από ένα µέρος του. 2. Απαλοιφή κάθε πεδίου που δεν εξαρτάται από ολόκληρο το κλειδί, αλλά από κάποιο µέρος του. 3. ηµιουργία καινούριων πινάκων οι οποίοι έχουν ως πρωτεύον κλειδί τα αναγνωριστικά τους γνωρίσµατα. Στον πίνακα ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ τα πεδία: Περιγραφή Προϊόντος, Τιµή µονάδας χωρίς Φ.Π.Α. και Συντελεστής Φ.Π.Α. εξαρτώνται µόνο από το πεδίο Κωδικός Προϊόντος. Αυτό το γεγονός προκαλεί τα εξής προβλήµατα: Την αποθήκευση πλεοναζόντων στοιχείων. Σε κάθε γραµµή του πίνακα που αφορά ένα συγκεκριµένο προϊόν του ΤΙΜΟΛΟΓΙΟΥ τα τρία αυτά γνωρίσµατα επαναλαµβάνονται µε τις ίδιες τιµές. Προβλήµατα ακεραιότητας δεδοµένων: Η µετατροπή της τιµής ενός από τα τρία γνωρίσµατα απαιτεί την ενηµέρωση της τιµής αυτής σε όλες τις γραµµές που το περιέχουν. ιαφορετικά θα εµφανιστεί το φαινόµενο να υπάρχουν διαφορετική Περιγραφή Προϊόντος ή Τιµή µονάδας χωρίς Φ.Π.Α. ή Συντελεστής Φ.Π.Α. για το ίδιο προϊόν. Τα προβλήµατα αυτά µπορούν να αντιµετωπιστούν µε τη δηµιουργία ενός νέου πίνακα µε όνοµα ΠΡΟΪΟΝ ο οποίος θα έχει ως αναγνωριστικό κλειδί το πεδίο Κωδικός Προϊόντος και ως χαρακτηριστικά γνωρίσµατα τα πεδία Περιγραφή Προϊόντος, Τιµή µονάδας χωρίς Φ.Π.Α. και Συντελεστής Φ.Π.Α.. Στο παρακάτω σχήµα φαίνονται οι δύο καινούργιοι πίνακες που δηµιουργήθηκαν µε τα χαρακτηριστικά τους γνωρίσµατα. Τα υπογραµµισµένα γνωρίσµατα αντιστοιχούν στα αναγνωριστικά κλειδιά κάθε πίνακα. Οι δύο πίνακες βρίσκονται προφανώς στη δεύτερη κανονική µορφή. Στη δεύτερη κανονική µορφή είναι φυσικά και ο πίνακας ΤΙΜΟΛΟΓΙΟ ο οποίος δεν άλλαξε από την εκτέλεση του 3 ου βήµατος. ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ Αριθµός Τιµολογίου Κωδικός Προϊόντος Ποσότητα Καθαρή αξία Αξία Φ.Π.Α. Τελική αξία ΠΡΟΪΟΝ Κωδικός Προϊόντος Περιγραφή Προϊόντος Τιµή µονάδας χωρίς Φ.Π.Α. Συντελεστής Φ.Π.Α. Σχήµα 3.5: Οι δύο πίνακες ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ και ΠΡΟΪΟΝ στη δεύτερη κανονική µορφή 4 ο βήµα: Μετασχηµατισµός των πινάκων που βρίσκονται στη δεύτερη κανονική µορφή στην τρίτη κανονική µορφή. 1. Εντοπισµός των πεδίων που εξαρτώνται από κάποιο άλλο πεδίο εκτός του κλειδιού. 2. Αφαίρεση των πεδίων που είναι αµοιβαία εξαρτηµένα. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 78
3. ηµιουργία ξεχωριστών πινάκων για τα αλληλοεξαρτώµενα πεδία. Κατά τη δηµιουργία των νέων πινάκων πρέπει να εξεταστεί προσεκτικά η σχέση των πεδίων. Για παράδειγµα, αν διαπιστωθεί αλληλεξάρτηση µεταξύ των πεδίων Π1 και Π2 πρέπει να διερευνηθεί αν το Π1 ορίζει το Π2 ή ισχύει το αντίστροφο. Στην περίπτωση όπου δοθείσης µιας τιµής για το γνώρισµα Π1 υπάρχει µια τιµή για το γνώρισµα Π2 ενώ δοθείσης µιας τιµής για το γνώρισµα Π2 δεν υπάρχει µια τιµή για το γνώρισµα Π1, το πεδίο Π1 προσδιορίζει το πεδίο Π2 και εποµένως γίνεται κλειδί στο νέο πίνακα του γνωρίσµατος Π2. Το πεδίο Π2 από την πλευρά του αποµακρύνεται από τον αρχικό πίνακα ενώ το Π1 παραµένει σε αυτόν ως εξωτερικό κλειδί. Στην περίπτωση όπου δοθείσης µιας τιµής για το γνώρισµα Π1 δεν υπάρχει µια τιµή για το γνώρισµα Π2 ενώ δοθείσης µιας τιµής για το γνώρισµα Π2 υπάρχει µια τιµή για το γνώρισµα Π1, το πεδίο Π2 προσδιορίζει το πεδίο Π1 και εποµένως γίνεται κλειδί στο νέο πίνακα του γνωρίσµατος Π1. Το πεδίο Π1 από την πλευρά του αποµακρύνεται από τον αρχικό πίνακα ενώ το Π2 παραµένει σε αυτόν ως εξωτερικό κλειδί. Στην περίπτωση όπου δοθείσης µιας τιµής για το γνώρισµα Π1 δεν υπάρχει µια τιµή για το γνώρισµα Π2 αλλά επίσης δοθείσης µιας τιµής για το γνώρισµα Π2 δεν υπάρχει µια τιµή για το γνώρισµα Π1, προφανώς δεν υπάρχει αλληλεξάρτηση. Τέλος, στην περίπτωση όπου δοθείσης µιας τιµής για το γνώρισµα Π1 υπάρχει µια τιµή για το γνώρισµα Π2 αλλά επίσης δοθείσης µιας τιµής για το γνώρισµα Π2 υπάρχει µια τιµή για το γνώρισµα Π1, προφανώς το ένα γνώρισµα προσδιορίζει το άλλο και αποτελούν και τα δύο υποψήφια κλειδιά. Τότε, είτε αποµακρύνεται το ένα από τα δύο γνωρίσµατα είτε διατηρούνται και τα δύο αλλά το ένα σηµειώνεται ως εναλλακτικό κλειδί. Εφαρµόζοντας έλεγχο για την τρίτη κανονική µορφή στους πίνακες ΤΙΜΟΛΟΓΙΟ, ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ και ΠΡΟΪΟΝ παρατηρεί κανείς ότι ενώ οι πίνακες ΠΡΟΪΟΝ και ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ είναι στην τρίτη κανονική µορφή αυτό δεν ισχύει για τον πίνακα ΤΙΜΟΛΟΓΙΟ. Ο πίνακας αυτός έχει πεδία τα οποία δεν εξαρτώνται αποκλειστικά και µόνο από το κλειδί της σχέσης (π.χ. τα πεδία Ονοµατεπώνυµο, ιεύθυνση, Α.Φ.Μ. δεν εξαρτώνται από το πεδίο κλειδί Αριθµός Τιµολογίου). Για να αντιµετωπιστεί αυτό το γεγονός πρέπει να δηµιουργηθεί ένας νέος πίνακας µε όνοµα ΠΕΛΑΤΗΣ ο οποίος θα έχει ως αναγνωριστικό κλειδί το πεδίο Κωδικός Πελάτη και ως χαρακτηριστικά γνωρίσµατα τα πεδία Ονοµατεπώνυµο, ιεύθυνση, Πόλη, Τηλέφωνο και Α.Φ.Μ.. Το γνώρισµα Α.Φ.Μ. µπορεί να θεωρηθεί ως ένα πρώτο εναλλακτικό κλειδί. Επίσης, στον πίνακα ΤΙΜΟΛΟΓΙΟ έχει διατηρηθεί το πεδίο Κωδικός Πελάτη ως εξωτερικό κλειδί. Στο παρακάτω σχήµα φαίνονται οι δύο καινούργιοι πίνακες που δηµιουργήθηκαν µε τα χαρακτηριστικά τους γνωρίσµατα. Τα υπογραµµισµένα γνωρίσµατα αντιστοιχούν στα αναγνωριστικά κλειδιά κάθε πίνακα. Οι δύο πίνακες βρίσκονται προφανώς στην τρίτη κανονική µορφή. Στην τρίτη κανονική µορφή είναι φυσικά και οι πίνακες ΛΕΠΤΟΜΕΡΕΙΕΣ ΤΙΜΟΛΟΓΙΟΥ και ΠΡΟΪΟΝ οι οποίοι δεν άλλαξαν από την εκτέλεση του 4 ου βήµατος. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 79
ΤΙΜΟΛΟΓΙΟ Αριθµός Τιµολογίου Πωλητής Ηµεροµηνία Σύνολο καθαρής αξίας Σύνολο Φ.Π.Α. Πληρωτέο Προκαταβολή Υπόλοιπο Κωδικός Πελάτη Κωδικός Πελάτη Ονοµατεπώνυµο ιεύθυνση Πόλη Τηλέφωνο Α.Φ.Μ. ΠΕΛΑΤΗΣ Σχήµα 3.6: Οι δύο πίνακες ΤΙΜΟΛΟΓΙΟ και ΠΕΛΑΤΗΣ στην τρίτη κανονική µορφή 5 ο βήµα: Τελικός έλεγχος 1. Αναζήτηση στα δεδοµένα των πινάκων για συνώνυµα και οµώνυµα. 2. Συγχώνευση των γνωρισµάτων που έχουν το ίδιο κλειδί και δηµιουργούν ένα πίνακα. 3. Έλεγχος ότι όλοι οι πίνακες που έχουν κατασκευαστεί είναι στην τρίτη κανονική µορφή. 3.6 Κατασκευή του τελικού µοντέλου οντοτήτων σχέσεων Πριν αναφερθούν όλες οι απαραίτητες ενέργειες για την κατασκευή του τελικού µοντέλου οντοτήτων πρέπει, για λόγους πληρότητα, να οριστεί η έννοια του συνενωµένου κλειδιού. Το συνενωµένο κλειδί εµφανίζεται µετά την ολοκλήρωση της κανονικοποίησης και τη µετατροπή όλων των οντοτήτων σε πίνακες τρίτης κανονικής µορφής 3.6.1 Η έννοια του συνενωµένου κλειδιού Ένας πίνακας έχει συνενωµένο κλειδί αν το πρωτεύον κλειδί του αποτελείται από δύο ή περισσότερα στοιχεία δεδοµένων αλλά ένα ή περισσότερα από αυτά έχουν έννοια µόνο σε εξάρτηση από το άλλο (Γιαννακουδάκης, 1994). Ένα παράδειγµα συνενωµένου κλειδιού είναι το ζεύγος χαρακτηριστικών γνωρισµάτων κωδικός περιοδικού και αριθµός τεύχους. Εάν γνωρίζουµε µόνο τον αριθµό τεύχους του περιοδικού προφανώς δεν µπορούµε να αναφερθούµε σε συγκεκριµένο περιοδικό, αφού δεν γνωρίζουµε ποιο είναι αυτό. Ένα άλλο παράδειγµα ύπαρξης συνενωµένου κλειδιού είναι το επόµενο. Έστω ότι πρέπει να καταγραφούν όλες οι ηλεκτρικές/ηλεκτρονικές συσκευές µιας επιχείρησης. Ως κλειδιά θα χρησιµοποιηθούν τα γνωρίσµατα κωδικός συσκευής και α/α συσκευής. Σε κάθε είδος συσκευής (υπολογιστής, εκτυπωτής, οθόνη, κ.λπ.) δίνεται ένας κωδικός αριθµός, ενώ κάθε συσκευή έχει και ένα αύξοντα αριθµό π.χ. από το 1 έως το 500. Είναι προφανές ότι το γνώρισµα α/α συσκευής έχει νόηµα µόνο σε συνάρτηση µε το γνώρισµα κωδικός συσκευής. Παρατηρεί κανείς ότι το συνενωµένο κλειδί έχει διαφορές από το σύνθετο κλειδί. Όπως αναφέρθηκε παραπάνω, στο συνενωµένο κλειδί, ένα ή περισσότερα γνωρίσµατα που το απαρτίζουν προσδιορίζεται µόνο σε συνδυασµό µε τα υπόλοιπα γνωρίσµατα του κλειδιού. Έτσι τα τµήµατα ενός συνενωµένου κλειδιού δεν µπορεί να αποτελούν πρωτεύον κλειδί για κάποιο άλλο πίνακα όπως συµβαίνει µε τα τµήµατα ενός σύνθετου κλειδιού. ΤΕΧΝΙΚΕΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΜΟΥ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 80