Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Δρ. Κωνσταντίνος Χ. Γιωτόπουλος
Ρόλος των Πληροφοριακών Συστημάτων στους Οργανισμούς Οι βάσεις δεδομένων η βάση λειτουργίας ενός ΠΣ Το ΠΣ περιλαμβάνει όλους τους πόρους του οργανισμού. Δεδομένα Λογισμικό του ΣΔΒΔ Υλικό του υπολογιστικού συστήματος Μέσα αποθήκευσης Προσωπικό χρήσης Λογισμικό εφαρμογών Προγραμματιστές των εφαρμογών Ο κύκλος ζωής του Π.Σ. ονομάζεται και μακρόκυκλος ζωής ενώ της βάσης μικρόκυκλος ζωής
Συλλογή και ανάλυση απαιτήσεων Σχεδιασμός Μακρόκυκλος Ανάλυση σκοπιμότητας Συλλογή και ανάλυση απαιτήσεων Σχεδιασμός Βάσης Εφαρμογών Υλοποίηση Πιστοποίηση και έλεγχος αποδοχής Λειτουργία (μπορεί να προηγηθεί και εκπαίδευση χρηστών)
Μικρόκυκλος Ορισμός του συστήματος (εμβέλεια, χρήστες και εφαρμογές) Σχεδιασμός (λογικό και φυσικό σχεδιασμό) Υλοποίηση Φόρτωση ή μετατροπή δεδομένων Μετατροπή εφαρμογών Έλεγχος και πιστοποίηση Λειτουργία Παρακολούθηση και συντήρηση
Δεν είναι εύκολοι και μετρήσιμοι στόχοι. Σχεδιασμός ΒΔ Σχεδιασμός της λογικής και φυσικής δομής μιας ή περισσοτέρων βάσεων δεδομένων για την κάλυψη των πληροφοριακών αναγκών των χρηστών σε έναν οργανισμό για καθορισμένο σύνολο εφαρμογών Στόχοι: ικανοποίηση απαιτήσεων χρηστών και εφαρμογών, Φυσική και ευκολονόητη δόμηση των πληροφοριών Υποστήριξη απαιτήσεων επεξεργασίας στόχων απόδοσης όπως χρόνος απόκρισης, χρόνος επεξεργασίας, χώρος αποθήκευσης. Δεν είναι εύκολοι και μετρήσιμοι στόχοι.
Κύριες Φάσεις Σχεδιασμού ΒΔ Συλλογή και ανάλυση απαιτήσεων Εννοιολογικός Σχεδιασμός ΒΔ Επιλογή ΣΔΒΔ Απεικόνιση στο μοντέλο δεδομένων (λογικός σχεδιασμός ΒΔ) Φυσικός Σχεδιασμός ΒΔ Υλοποίηση Συστήματος ΒΔ Επίσης υπάρχει και ο σχεδιασμός της επεξεργασίας της ΒΔ και του λογισμικού των εφαρμογών Απαίτηση σχετικά με την επεξεργασία Σχεδιασμός δοσοληψιών Υλοποίηση Δοσοληψιών Πολλές φορές η σειρά αλλάζει και υπάρχουν βρόχοι ανάδρασης.
Φάση 1: Συλλογή και ανάλυση Απαιτήσεων Κύριες Περιοχές εφαρμογών και ομάδες χρηστών. Επιλογή σημείων κλειδιών Μελέτη και ανάλυση τεκμηρίωσης για τις εφαρμογές. Ανασκόπηση εγχειριδίων του οργανισμού. Μελέτη υπαρχόντος λειτουργικού περιβάλλοντος και η σχεδιαζόμενη χρήση των πληροφοριών. Τύποι δοσοληψιών και συχνότητα τους, ροή πληροφοριών, δεδομένα εισόδου και εξόδου. Συλλογή γραπτών απαντήσεων από χρήστες
Φάση 2: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων Δύο παράλληλες διαδικασίες 2α: Σχεδιασμός εννοιολογικού σχήματος. Εξετάζει τις σχετικές με τα δεδομένα απαιτήσεις και παράγει ένα εννοιολογικό σχήμα της ΒΔ. 2β: Σχεδιασμός δοσοληψιών. Εξετάζει τις εφαρμογές της ΒΔ και παράγει προδιαγραφές υψηλού επιπέδου για αυτές. Φάση 2α: Σχεδιασμός Εννοιολογικού Σχήματος. Μοντέλο δεδομένων ανεξάρτητο από το ΣΔΒΔ για τους κάτωθι λόγους: Πλήρης κατανόηση της δομής της ΒΔ, σημασιολογίας, συσχετίσεων και περιορισμών Σταθερή περιγραφή του περιεχομένου της ΒΔ Η καλή αντίληψη χρήσιμη και για τους χρήστες Η διαγραμματική περιγραφή λειτουργεί σαν μέσο επικοινωνίας
Φάση 2: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (2) Χαρακτηριστικά: Εκφραστικότητα (διαχωρίζονται οι διαφορετικοί τύποι δεδομένων, συσχετίσεων και περιορισμών) Απλότητα (μη εξειδικευμένοι χρήστες να το κατανοούν) Ελαχιστότητα (μικρό πλήθος βασικών εννοιών, με διακριτή και μη επικαλυπτόμενη σημασία) Διαγραμματική παράσταση Τυπικότητα (εκφράζεται με όρους του μοντέλου δεδομένων αποτελεί ένα τυπικό προσδιορισμό των δεδομένων χωρίς ασάφειες.) Οι απαιτήσεις αυτές είναι συγκρουόμενες αλλά εμείς χρησιμοποιούμε το Επεκτεταμένο Μοντέλο Οντοτήτων – Συσχετίσεων (ΕΟΣ – EER) Για το σχεδιασμό του ΕΟΣ προσδιόριζουμε: Τύπους οντοτήτων Τύπους συσχετίσεων και γνωρίσματά τους Γνωρίσματα κλειδιά, πληθικότητα, περιορισμούς συμμετοχής στις συσχετίσεις μη ισχυρούς τύπους οντοτήτων ιεραρχίες πλέγματα ειδικεύσεων / γενικεύσεων (αν χρειάζονται) Αυτά παράγονται από τη φάση 1.
Φάση 2: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (3) Προσεγγίσεις για αυτό: Συγκεντρωτική. Συγχωνεύονται οι απαιτήσεις των διαφόρων εφαρμογών και χρηστών σε ένα σύνολο απαιτήσεων, πριν αρχίσει ο σχεδιασμός του σχήματος. Πολλοί χρήστες και εφαρμογές χρονοβόρα και επίπονη διαδικασία. Υπάρχει ένας ΔΒΔ που αποφασίζει για τις συγχωνεύσεις και για το σχεδιασμό. Αυτό με το τελικό σχήμα προσδιορίζει τα εξωτερικά σχήματα για τις διάφορες εφαρμογές και χρήστες. Ενοποίηση των όψεων Για κάθε ομάδα χρηστών ή εφαρμογών ένα εννοιολογικό σχήμα και μετά συγχωνεύω τα σχήματα και τα πρώτα είναι τα εξωτερικά σχήματα. Το ένα ονομάζεται καθολικό εννοιολογικό σχήμα. Η κύρια διαφορά των δύο προσεγγίσεων είναι ο τρόπος και το στάδιο ενοποιήσεις των όψεων ή απαιτήσεων συγχωνεύονται.
Φάση 2: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (4) ΣΤΡΑΤΗΓΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΣΧΗΜΑΤΟΣ Καθοδική στρατηγική Σχήμα με αφαιρέσεις υψηλού επιπέδου και καθοδικά εκλεπτύνσεις. Λίγους τύπους οντοτήτων υψηλού επιπέδου. Μετά γνωρίσματα, τύποι οντοτήτων χαμηλότερου επιπέδου και συσχετίσεις. Ανοδική στρατηγική Σχήμα με βασικές αφαιρέσεις και συνδυάζουμε αυτές τις αφαιρέσεις ή προσθέτουμε αφαιρέσεις. Αρχίζουμε με γνωρίσματα και τα ομαδοποιούμε σε τύπους οντοτήτων και σε συσχετίσεις. Από πυρήνα στην περιφέρεια Ειδική περίπτωση ανοδικής στρατηγικής όπου εστιάζουμε σε ένα σύνολο από προφανείς έννοιες. Στη συνέχεια η μοντελοποίηση επεκτείνεται με τη θεώρησε νέων εννοιών γύρω από τις υπάρχουσες. Ανάμεικτή Διαμερίζουμε τις απαιτήσεις σύμφωνα με την καθοδική στρατηγική και σχεδιάζουμε μέρος του σχήματος με την ανοδική στρατηγική για κάθε διαμέριση. Στη συνέχεια συνδυάζουμε τα διάφορα μέρη που προκύπτουν. Συνήθως αυξητική προσέγγιση (ξεκινάμε από κάποιες δομές του σχήματος και στη συνέχεια τροποποιούνται, εκλεπτύνονται ή χρησιμοποιούνται ως δομικά υλικά για χτίσιμο άλλων εννοιών).
Φάση 2: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (5) ΕΝΟΠΟΙΗΣΗ ΣΧΗΜΑΤΩΝ (ΟΨΕΩΝ) Για μεγάλες ΒΔ με πολλούς χρήστες και εφαρμογές, μπορεί να χρησιμοποιηθεί η Ενοποίηση Όψεων με σχεδιασμό επιμέρους σχημάτων και στη συνέχεια συγχώνευσή τους. Οι επιμέρους όψεις πρέπει να κρατηθούν μικρές σε μέγεθος, ο σχεδιασμός των σχημάτων απλός.
Φάση 2: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (6) Μεθοδολογία ενοποίησης όψεων σε ένα καθολικό σχήμα βάσης δεδομένων: Εντοπισμός των αντιστοιχιών και των συγκρούσεων μεταξύ των σχημάτων. Ο σχεδιασμός των σχημάτων ξεχωριστός, χρειάζομαι δομές που παριστάνουν την ίδια έννοια του πραγματικού κόσμου. Αυτές οι αντιστοιχίες χρειάζονται προσδιορισμό. Προβλήματα: Συγκρούσεις ονομάτων: συνώνυμα και ομώνυμα. Παράδειγμα συνώνυμου ίδια έννοια άλλο όνομα (φοιτητής – σπουδαστής). Παράδειγμα ομώνυμου, ίδιο όνομα άλλη έννοια (ανταλλακτικά – αυτοκινήτων ή υπολογιστών) Συγκρούσεις τύπων: ίδια έννοια με διαφορετικές δομές μοντελοποίησης. Έννοια τμήμα (οντότητα σε κάποια όψη, γνώρισμα σε άλλη) Συγκρούσεις πεδίου ορισμού (συνόλου τιμών): διαφορετικοί τύποι δεδομένων στην ίδια έννοια (αριθμός μητρώου – ακέραιος κάπου, αλφαριθμητικό αλλού.). Συγκρούσεις μεταξύ περιορισμών: διαφορετικά κλειδιά στον ίδιο τύπο οντοτήτων σε διαφορετικά σχήματα. Διαφορετικοί δομικοί περιορισμοί σε συσχετίσεις πχ ΔΙΔΑΣΚΕΙ 1:Ν (ένας καθηγητής) ενώ αλλού Μ:Ν ( πολλοί καθηγητές). Τροποποίηση των όψεων για να προσαρμοσθεί η μια στην άλλη. Μερική επίλυση επίσης συγκρούσεων από 1. Συγχώνευση όψεων: Έννοιες σε περισσότερα σχήματα μια φορά στο καθολικό και καθορίζονται οι απεικονίσεις μεταξύ όψεων και καθολικού. Αναδόμηση: Το καθολικό αναλύεται και αναδομείται για να απομακρυνθούν πλεονασμοί ή περιττή πολυπλοκότητα.
Φάση 2: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (7) Φάση 2β: Σχεδιασμός Δοσοληψιών. Παράλληλα με τη φάση 2α, κάνουμε σχεδιασμό των χαρακτηριστικών γνωστών δοσοληψιών κατά τρόπο ανεξάρτητο από το ΣΔΒΔ. Κατά τη φάση του σχεδιασμού γνωρίζουμε αρκετές από τις δοσοληψίες που πρέπει να υποστηρίζει η ΒΔ. ΠΟΛΥ ΣΗΜΑΝΤΙΚΟ να προσδιορισθούν τα λειτουργικά χαρακτηριστικά αυτών των δοσοληψιών νωρίς στη διαδικασία σχεδιασμού. Έτσι το σχήμα θα περιέχει πληροφορίες για τις δοσοληψίες. Τεχνική προσδιορισμού των δοσοληψιών σε εννοιολογικό επίπεδο: Προσδιορίζουμε την είσοδο και την έξοδο και τη λειτουργική συμπεριφορά τους. Προσδιορισμός εισόδου, προσδιορισμός εξόδου και εσωτερική λειτουργική ροή ορίζουν μια δοσοληψία με εννοιολογικό τρόπο και ανεξάρτητο του ΣΔΒΔ.
Φάση 2: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (8) Τρεις κατηγορίες δοσοληψιών: Ανάκτησης, ενημέρωσης και ανάμεικτες. Οι ανάκτησης για ανάκτηση δεδομένων. Ενημέρωσης για εισαγωγή δεδομένων ή τροποποίηση παλιών. Ανάμεικτες για πολύπλοκες εφαρμογές που κάνουν και τα δύο. Παράδειγμα: Κρατήσεις θέσεων αεροπορικής εταιρείας. Δοσοληψία ανάκτησης είναι η εύρεση όλων των πρωινών πτήσεων για μια συγκεκριμένη ημερομηνία Κράτηση θέσης είναι ενημέρωσης Ανάμεικτη είναι πχ εύρεση κλεισμένης θέσης από πελάτη και ακύρωσης μετά.
Φάση 3: Επιλογή ενός ΣΔΒΔ Παράγοντες: τεχνικοί, οικονομικοί και πολιτικές του οργανισμού. Τεχνικοί = καταλληλότητα του ΣΔΒΔ. Τα θέματα που μας απασχολούν είναι: Τύπος του ΣΔΒΔ (σχεσιακό, δικτυωτό, ιεραρχικό, αντικειμενοστραφές κλπ) Δομές αποθήκευσης και οι διαδρομές προσπέλασης Διεπαφές χρηστών και προγραμματιστών Τύποι γλωσσών υψηλού επιπέδου για ερωτήματα Οικονομικοί παράγοντες: Κόστος απόκτησης λογισμικού. Κόστος συντήρησης Κόστος απόκτησης υλικού Κόστος δημιουργίας ΒΔ και μετατροπών Κόστος προσωπικού Κόστος εκπαίδευσης Λειτουργικό κόστος Απόφαση γι απόκτηση ενός ΣΔΒΔ: Πολυπλοκότητα Δεδομένων Διαμοιρασμός μεταξύ εφαρμογών Δυναμική ανάπτυξη και αύξηση των δεδομένων Συχνότητα μη τυποποιημένων ερωτήσεων στα δεδομένα Όγκος δεδομένων και αναγκαιότητα ελέγχου. Οικονομικοί και οργανωτικοί παράγοντες: Δομή δεδομένων (ιεραρχική, σύνθετα κλπ) Εξοικείωση του προσωπικού με ένα ΣΔΒΔ Διαθεσιμότητα των υπηρεσιών του κατασκευαστή.
Φάση 4: ΑΠΕΙΚΟΝΙΣΗ ΣΤΟ ΜΟΝΤΕΛΟ ΔΕΔΟΜΕΝΩΝ Λογικός σχεδιασμός Απεικόνιση σε δύο στάδια: Απεικόνιση ανεξάρτητη του συστήματος: δεν λαμβάνει υπόψη συγκεκριμένα χαρακτηριστικά που σχετίζονται με την υλοποίηση. Προσαρμογή των σχημάτων σε συγκεκριμένο ΣΔΒΔ. Μιλάμε και για χρήση εντολών ΓΟΔ (Ορισμού Δεδομένων)
Φάση 5: Φυσικός Σχεδιασμός ΒΔ Επιλογή συγκεκριμένων δομών αποθήκευσης και διαδρομών προσπέλασης για τα αρχεία της βάσης. Ποικιλία από επιλογές για οργάνωση αρχείων: Διάφορους τύπους ευρετηριασμού Συστάδες με σχετιζόμενες εγγραφές σε μπλοκ δίσκου Χρήση δεικτών για σύνδεση εγγραφών Κριτήρια: Χρόνος απόκρισης (υποβολή, εκτέλεση και απάντηση δοσοληψίας) Χρησιμοποίηση του χώρου Ρυθμός διεκπεραίωσης δοσοληψιών (μέσος αριθμών ανά λεπτό) να μετριέται σε συνθήκες αιχμής. Παράμετροι για τον υπολογισμό τιμών: Οριακές τιμές για τη μέση και χειρότερη περίπτωση των παραμέτρων. Αναλυτικές ή πειραματικές τεχνικές. Η απόδοση εξαρτάται από το μέγεθος της εγγραφής και το πλήθος των εγγραφών. Εκτίμηση προτύπων ενημέρωσης και ανάκτησης όλων των δοσοληψιών συνολικά για κάθε αρχείο. Βοηθητικό πρόγραμμα παρακολούθησης για ενημέρωση των στατιστικών.
Φάση 6: ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΣΔΒΔ Εντολές του ΓΟΔ (Ορισμός Δεδομένων)και ΓΟΑ (ορισμός αποθήκευσης) Ρουτίνες μετατροπής για φόρτωμα στη νέα βάση. Οι δοσοληψίες υλοποιούνται από τους προγραμματιστές. Δημιουργείται και κώδικας με εμφυτευμένες εντολές ΓΧΔ (Χειρισμού δεδομένων).
ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΦΥΣΙΚΟ ΣΧΕΔΙΑΣΜΟ Παράγοντες: Κατάλληλη δόμηση και καλή απόδοση Ανάλυση Ερωτήσεων και Δοσοληψιών στη ΒΔ: Προτιθέμενη χρήση της ΒΔ Για κάθε ερώτηση: Αρχεία προσπέλασης Πεδία συμμετοχής στις συνθήκες επιλογής Πεδία συμμετοχής στις συνθήκες συνένωσης, ή σύνδεσης πολλαπλών τύπων εγγραφώ για την ερώτηση Πεδία ανάκτησης από ερώτηση. Για δοσοληψία ενημέρωσης και πράξη ενημέρωσης: Αρχεία ενημέρωσης Τύπο πράξης ενημέρωσης Πεδία συμμετοχής σε συνθήκες επιλογής Πεδία που τροποποιούνται
ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΦΥΣΙΚΟ ΣΧΕΔΙΑΣΜΟ (2) Ανάλυση της αναμενόμενης συχνότητας κλήσης ερωτήσεων και δοσοληψιών: Κανόνας 80 - 20: το 80 % της επεξεργασίας γίνεται από το 20 % των ερωτήσεων και δοσοληψιών. Ανάλυση των περιορισμών χρόνου ερωτήσεων και δοσοληψιών: Ανάλυση των αναμενόμενων συχνοτήτων πράξεων ενημέρωσης: Για αρχείο που ενημερώνεται συχνά πρέπει να ορίζεται ο ελάχιστος αριθμός από δευτερεύουσες οργανώσεις επειδή καθυστερεί η πράξη ενημέρωσης Σε περίπτωση επέκτασης - νέων υπηρεσιών τότε “tuning”.
Η φάση του εννοιολογικού σχεδιασμού Οι τρεις πρώτες φάσεις του κύκλου ζωής ενός συστήματος βάσεων δεδομένων Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 22
Αρχές εννοιολογικού σχεδιασμού Ο εννοιολογικός σχεδιασμός έχει ως σκοπό τη δημιουργία μιας περιεκτικής απεικόνισης των πληροφοριών της βάσης δεδομένων Η απεικόνιση αυτή πρέπει να είναι υψηλού επιπέδου και, να είναι εκφρασμένη με περιεκτικό τρόπο, δηλαδή με διαγράμματα Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 23
Το μοντέλο του εννοιολογικού σχεδιασμού Για τον εννοιολογικό σχεδιασμό θα χρησιμοποιηθεί το μοντέλο οντοτήτων συσχετίσεων Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 24
Ένα Παράδειγμα Απαιτήσεων από μια Βάση Δεδομένων (1/3) Στην εφαρμογή «Εκπαιδευτικό Ίδρυμα» μας ενδιαφέρει να κρατούμε πληροφορίες για τα τμήματα, τους καθηγητές και τους σπουδαστές. Για κάθε τμήμα μας ενδιαφέρει η ονομασία του και το έτος ίδρυσής του. Για κάθε σπουδαστή μας ενδιαφέρει ο αριθμός μητρώου, το όνομα, το επώνυμο, το πατρώνυμο και το εξάμηνο φοίτησης. Ο αριθμός μητρώου είναι μοναδικός για κάθε σπουδαστή. Επίσης ο συνδυασμός ονόματος, επώνυμου και πατρώνυμου είναι μοναδικός για κάθε σπουδαστή. Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 25
Ένα Παράδειγμα Απαιτήσεων από μια Βάση Δεδομένων (2/3) Για κάθε καθηγητή μας ενδιαφέρει ο κωδικός, το όνομα, το επώνυμο, η βαθμίδα, η διεύθυνση και το τηλέφωνο. Κρατούμε πληροφορίες για τα μαθήματα που διδάσκονται και συγκεκριμένα τον κωδικό μαθήματος, τον τίτλο και τις διδακτικές μονάδες του. Μας ενδιαφέρουν επίσης και τα συγγράμματα που έχουν γράψει οι καθηγητές του ιδρύματος (και όχι τα υπόλοιπα συγγράμματα). Για κάθε σύγγραμμα κρατούμε τον τίτλο, τον κωδικό συγγράμματος και τον αριθμό σελίδων. Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 26
Ένα Παράδειγμα Απαιτήσεων από μια Βάση Δεδομένων (3/3) Τέλος, η βάση δεδομένων πρέπει να κρατά πληροφορίες για τους κηδεμόνες των σπουδαστών. Για κάθε κηδεμόνα κρατούμε το όνομα, το επώνυμο και τη διεύθυνσή του. Διαπιστώθηκε πως ο συνδυασμός των κατηγορημάτων (όνομα, επώνυμο) ή (όνομα, επώνυμο, διεύθυνση) διαχωρίζει μεταξύ τους, τους κηδεμόνες του ίδιου σπουδαστή αλλά όχι και τους κηδεμόνες διαφορετικών σπουδαστών. Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 27
Οντότητες και Κατηγορήματα Στο μοντέλο οντοτήτων συσχετίσεων, οντότητα είναι η αναπαράσταση μιας αυτόνομης ύπαρξης του πραγματικού κόσμου με φυσική ή άυλη υπόσταση, για την οποία υπάρχει η απαίτηση να συμπεριληφθεί στο σχεδιασμό Π.χ. Ο σπουδαστής «Παπαδόπουλος» και το μάθημα «Εισαγωγή στις βάσεις δεδομένων» Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 28
Κατηγορήματα / γνωρίσματα οντότητας Μια οντότητα έχει κάποια συγκεκριμένα χαρακτηριστικά ή ιδιότητες που την περιγράφουν Π.χ. ο σπουδαστής Παπαδόπουλος διαθέτει τα χαρακτηριστικά: αριθμό μητρώου, όνομα, επώνυμο, πατρώνυμο και εξάμηνο φοίτησης Το μάθημα Εισαγωγή στις βάσεις δεδομένων διαθέτει τα χαρακτηριστικά: κωδικός μαθήματος, τίτλος και διδακτικές μονάδες Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 29
Κατηγορήματα / γνωρίσματα οντότητας Κατηγορήματα ή γνωρίσματα μιας οντότητας ονομάζονται όλα εκείνα τα χαρακτηριστικά, που περιγράφουν την οντότητα και πρέπει να συμπεριληφθούν στο σχεδιασμό με βάση τις απαιτήσεις Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 30
Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 Είδη γνωρισμάτων Απλά και σύνθετα Π.χ. το επώνυμο ενός σπουδαστή (απλό) η διεύθυνση ενός καθηγητή (σύνθετο) γιατί αποτελείται από διεύθυνση οδού, πόλη, ταχυδρομικός κώδικας Μονότιμα και πλειότιμα Π.χ. το εξάμηνο ενός σπουδαστή (μονότιμο) το χρώμα ενός αυτοκινήτου (πλειότιμο) Ένα αυτοκίνητο μπορεί να έχει δυο ή περισσότερα χρώματα (συγχρόνως) Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 31
Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 Τύποι οντοτήτων Για λόγους απλότητας θα αναφερόμαστε Σε οντότητες Π.χ. Σπουδαστής, Μάθημα κ.λ.π. Σε στιγμιότυπα οντοτήτων Π.χ. Παπαδόπουλος, Λογιστική Ι, Γεωργίου, Στατιστική κ.λ.π. Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 32
Οι οντότητες Σπουδαστής και Μάθημα Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 33
Υποψήφια και πρωτεύοντα κλειδιά Υποψήφιο κλειδί μιας οντότητας ονομάζεται ένα κατηγόρημα ή ένα σύνολο κατηγορημάτων που προσδιορίζουν με μοναδικό τρόπο κάθε στιγμιότυπο της οντότητας Π.χ. Ο αριθμός μητρώου (ΑΜ) και ο συνδυασμός ονόματος, επώνυμου και πατρώνυμου για την οντότητα Σπουδαστής Το πρωτεύον κλειδί μιας οντότητας επιλέγεται μεταξύ των υποψηφίων κλειδιών της οντότητας. Π.χ. το κατηγόρημα αριθμός μητρώου (ΑΜ) για την οντότητα Σπουδαστής Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 34
Ισχυρές και Ασθενείς Οντότητες Οι κανονικές ή ισχυρές οντότητες διαθέτουν πρωτεύον κλειδί Οι ασθενείς οντότητες δεν διαθέτουν πρωτεύον κλειδί Τα στιγμιότυπα που ανήκουν σε μια ασθενή οντότητα προσδιορίζονται σε αντιστοιχία με τα στιγμιότυπα κάποιος άλλης ισχυρής οντότητας, που ονομάζεται οντότητα ιδιοκτήτης Π.χ. η οντότητα Κηδεμόνας έχει ως κατηγορήματα: όνομα, επώνυμο, διεύθυνση Παρατηρείστε πως ακόμη και ο συνδυασμός όλων των κατηγορημάτων, δεν προσδιορίζει μοναδικά μεταξύ τους, τα στιγμιότυπα των κηδεμόνων Επομένως πρόκειται για μια ασθενή οντότητα Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 35
Ισχυρές και Ασθενείς Οντότητες Ένας κηδεμόνας (δηλ. ένα στιγμιότυπο της οντότητας «Κηδεμόνας») μπορεί να προσδιοριστεί με σαφήνεια, μόνο σε συνδυασμό με το αντίστοιχο στιγμιότυπο του σπουδαστή, του οποίου είναι κηδεμόνας Η οντότητα «Κηδεμόνας» είναι μια ασθενής οντότητα και έχει ως ιδιοκτήτη την ισχυρή οντότητα «Σπουδαστής» Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 36
Ισχυρές και Ασθενείς Οντότητες Επίσης ο συνδυασμός των κατηγορημάτων (όνομα, επώνυμο) μπορεί να διαχωρίζει τους κηδεμόνες του ίδιου σπουδαστή, αλλά όχι τους κηδεμόνες διαφορετικών σπουδαστών ο συνδυασμός των κατηγορημάτων (όνομα, επώνυμο) ονομάζεται μερικό κλειδί Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 37
Οι Οντότητες και τα Κατηγορήματα της Εφαρμογής «Εκπαιδευτικό Ίδρυμα» Τμήμα Σπουδαστής Καθηγητής Μάθημα Σύγγραμμα Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 38
Οι Οντότητες και τα Κατηγορήματα της Εφαρμογής «Εκπαιδευτικό Ίδρυμα» «Τμήμα»: Ονομασία, Έτος Ίδρυσης «Σπουδαστής»: Αριθμός Μητρώου, Όνομα, Επώνυμο, Πατρώνυμο, Εξάμηνο Φοίτησης «Καθηγητής»: Κωδικός Καθηγητή, Όνομα, Επώνυμο, Βαθμίδα, Διεύθυνση, Τηλέφωνο «Μάθημα»: Κωδικός Μαθήματος, Τίτλος Μαθήματος, Διδακτικές Μονάδες «Σύγγραμμα»: Τίτλος Συγγράμματος, Κωδικός Συγγράμματος, Αριθμός Σελίδων «Κηδεμόνας»: Όνομα, Επώνυμο, Διεύθυνση Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 39
Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 Πρακτικός κανόνας θα πρέπει να προσέξουμε να μην συμπεριλάβουμε ως κατηγορήματα μιας οντότητας, χαρακτηριστικά που δεν σχετίζονται άμεσα με την οντότητα Π.χ. να μη συμπεριληφθεί ως κατηγόρημα στην οντότητα «Σπουδαστής», ο Κωδικός Τμήματος Ή να μη συμπεριληφθεί στην οντότητα «Σπουδαστής» ο κωδικός μαθήματος Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 40
Συνέχεια των απαιτήσεων της εφαρμογής «Εκπαιδευτικό Ίδρυμα» Η βάση δεδομένων που θα υποστηρίζει την εφαρμογή, θα πρέπει να δίνει και ένα σύνολο πληροφοριών που σχετίζονται με τα προηγούμενα. Συγκεκριμένα πρέπει να δίνει: Το τμήμα που ανήκει ο κάθε σπουδαστής. Τα μαθήματα που διδάσκει ο κάθε καθηγητής. Τα μαθήματα που παρακολουθεί ο κάθε σπουδαστής και το εξάμηνο που έχει παρακολουθήσει το καθένα (π.χ. εαρινό 2013). Για λόγους απλότητας δεχόμαστε πως ένα μάθημα επιτρέπεται να παρακολουθείται από ένα σπουδαστή μόνο ένα εξάμηνο. Τα συγγράμματα που έχει συγγράψει ο κάθε καθηγητής. Τον καθηγητή – προϊστάμενο του κάθε τμήματος. Τους κηδεμόνες του κάθε σπουδαστή. Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 41
Συσχετίσεις και Στιγμιότυπα Συσχετίσεων Με βάση τον κανονισμό λειτουργίας του ιδρύματος ισχύουν τα εξής: Ένας σπουδαστής ανήκει σε ένα μόνο τμήμα. Ένας καθηγητής μπορεί να διδάσκει πολλά μαθήματα αλλά ένα μάθημα μπορεί να διδάσκεται από ένα μόνο καθηγητή. Ένας σπουδαστής μπορεί να παρακολουθεί πολλά μαθήματα. Ένα τμήμα έχει έναν μόνο προϊστάμενο που είναι καθηγητής και ένας καθηγητής-προϊστάμενος μπορεί να προΐσταται ενός μόνο τμήματος. Κάθε τμήμα του εκπαιδευτικού ιδρύματος έχει οπωσδήποτε ένα προϊστάμενο. Ένας καθηγητής μπορεί να συγγράψει πολλά συγγράμματα. Ένα σύγγραμμα μπορεί να έχει περισσότερους από ένα συγγραφείς. Ένας σπουδαστής μπορεί να έχει πολλούς κηδεμόνες αλλά ένας κηδεμόνας είναι υπεύθυνος για ένα μόνο σπουδαστή. Διαπιστώθηκε πως ο συνδυασμός των κατηγορημάτων (όνομα, επώνυμο) ή (όνομα, επώνυμο, διεύθυνση) διαχωρίζει μεταξύ τους, τους κηδεμόνες του ίδιου σπουδαστή αλλά όχι και τους κηδεμόνες διαφορετικών σπουδαστών Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 42
Συσχετίσεις και Στιγμιότυπα Συσχετίσεων Μια συσχέτιση μεταξύ δυο ή περισσοτέρων οντοτήτων προσδιορίζει ένα σύνολο συνδέσεων/αντιστοιχιών μεταξύ των στιγμιότυπων των παραπάνω οντοτήτων. Οι συνδέσεις αυτές ονομάζονται στιγμιότυπα συσχετίσεων Βαθμός μιας συσχέτισης είναι ο αριθμός των οντοτήτων που συμμετέχουν στη συσχέτιση Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 43
Συσχετίσεις και Στιγμιότυπα Συσχετίσεων Υπάρχει πάντα μια συσχέτιση που συνδέει μια ασθενή οντότητα με την οντότητα ιδιοκτήτη Αυτή η συσχέτιση ονομάζεται προσδιορίζουσα συσχέτιση ή συσχέτιση ταυτοποίησης Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 44
Συσχετίσεις και Στιγμιότυπα Συσχετίσεων Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 45
Συσχετίσεις 1:1 (ένα προς ένα) Μια δυαδική συσχέτιση είναι είδους 1:1 όταν ένα στιγμιότυπο της πρώτης οντότητας μπορεί να συσχετισθεί μόνο με ένα στιγμιότυπο της δεύτερης οντότητας και αντίστροφα, ένα στιγμιότυπο της δεύτερης οντότητας μπορεί να συσχετισθεί μόνο με ένα στιγμιότυπο της πρώτης οντότητας Π.χ. «…ένα τμήμα έχει έναν μόνο προϊστάμενο που είναι καθηγητής και ένας καθηγητής - προϊστάμενος μπορεί να προΐσταται ενός μόνο τμήματος…» Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 46
Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 Συσχετίσεις 1:1 Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 47
Συμμετοχή μιας συσχέτισης Ολική συμμετοχή, μιας οντότητας σε μια συσχέτιση, έχουμε όταν κάθε ένα από τα στιγμιότυπα της οντότητας συμμετέχουν σε ένα τουλάχιστον στιγμιότυπο της συσχέτισης Μερική συμμετοχή, μιας οντότητας σε μια συσχέτιση, έχουμε όταν είναι δυνατόν κάποια στιγμιότυπα της οντότητας να μη συμμετέχουν στη συσχέτιση Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 48
Δυαδικές Συσχετίσεις 1:Ν (ένα προς πολλά) Μια δυαδική συσχέτιση είναι είδους 1:Ν όταν ένα στιγμιότυπο της πρώτης οντότητας μπορεί να συσχετισθεί με πολλά στιγμιότυπα της δεύτερης οντότητας και αντίστροφα, ένα στιγμιότυπο της δεύτερης οντότητας μπορεί να συσχετισθεί μόνο με ένα στιγμιότυπο της πρώτης οντότητας. Π.χ. «…ένας σπουδαστής ανήκει σε ένα μόνο τμήμα …» και «ένα τμήμα έχει πολλούς σπουδαστές» Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 49
Δυαδικές Συσχετίσεις 1:Ν (ένα προς πολλά) Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 50
Δυαδικές Συσχετίσεις Μ:Ν (πολλά προς πολλά) Δυαδικές Συσχετίσεις Μ:Ν (πολλά προς πολλά) Μια δυαδική συσχέτιση είναι είδους Μ:Ν όταν ένα στιγμιότυπο της πρώτης οντότητας μπορεί να συσχετισθεί με πολλά στιγμιότυπα της δεύτερης οντότητας και αντίστροφα, ένα στιγμιότυπο της δεύτερης οντότητας μπορεί να συσχετισθεί με πολλά στιγμιότυπα της πρώτης οντότητας Π.χ. «…ένας καθηγητής μπορεί να συγγράψει όσα συγγράμματα θέλει και ένα σύγγραμμα μπορεί να έχει περισσότερους από ένα συγγραφείς …» Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 51
Δυαδικές Συσχετίσεις Μ:Ν (πολλά προς πολλά) Δυαδικές Συσχετίσεις Μ:Ν (πολλά προς πολλά) Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 52
Κατηγορήματα Συσχετίσεων «…τα μαθήματα που παρακολουθεί ο κάθε σπουδαστής και το ημερολογιακό εξάμηνο που έχει παρακολουθήσει το καθένα (π.χ. εαρινό 2013)…» Το χαρακτηριστικό «ημερολογιακό εξάμηνο παρακολούθησης ενός μαθήματος» είναι ένα κατηγόρημα που δεν αναφέρεται ούτε στην οντότητα «Σπουδαστής» ούτε στην οντότητα «Μάθημα». Αντίθετα χαρακτηρίζει τα στιγμιότυπα της συσχέτισης «παρακολουθεί» και είναι κατηγόρημα της συγκεκριμένης συσχέτισης Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 53
Συσχετίσεις και Κατηγορήματα της Εφαρμογής «Εκπαιδευτικό Ίδρυμα» Μια συσχέτιση θα περιγράφεται στο εξής ως: Όνομα συσχέτισης (όνομα οντοτ1, όνομα οντοτ2) είδος συσχέτισης Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 54
Συσχετίσεις και Κατηγορήματα της Εφαρμογής «Εκπαιδευτικό Ίδρυμα» Ανήκει (Σπουδαστής, Τμήμα) Ν:1. Είναι είδους Ν:1 γιατί ένας σπουδαστής μπορεί να ανήκει σε ένα τμήμα και ένα τμήμα μπορεί να περιέχει πολλούς σπουδαστές Διδάσκει (Καθηγητής, Μάθημα) 1:Ν. Είναι είδους 1:Ν γιατί ένας καθηγητής μπορεί να διδάσκει πολλά μαθήματα και ένα μάθημα μπορεί να διδάσκεται από ένα καθηγητή Παρακολουθεί (Σπουδαστής, Μάθημα) Μ:Ν. Είναι είδους Μ:Ν γιατί ένας σπουδαστής μπορεί να παρακολουθεί πολλά μαθήματα και ένα μάθημα μπορεί να παρακολουθείται από πολλούς σπουδαστές Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 55
Συσχετίσεις και Κατηγορήματα της Εφαρμογής «Εκπαιδευτικό Ίδρυμα» Προΐσταται (Καθηγητής, Τμήμα) 1:1. Είναι 1:1 γιατί ένας καθηγητής μπορεί να προΐσταται ενός μόνο τμήματος και ένα τμήμα μπορεί να έχει έναν προϊστάμενο. Το «Τμήμα» έχει ολική συμμετοχή στη συσχέτιση Συγγράφει (Καθηγητής, Σύγγραμμα) Μ:Ν. Είναι είδους Μ:Ν γιατί ένας καθηγητής μπορεί να συγγράφει πολλά συγγράμματα και ένα σύγγραμμα μπορεί να συγγράφεται από πολλούς καθηγητές. Το «Σύγγραμμα» έχει ολική συμμετοχή στη συσχέτιση Έχει (Σπουδαστής, Κηδεμόνας) 1:Ν. Είναι είδους 1:Ν γιατί ένας σπουδαστής μπορεί να έχει πολλούς κηδεμόνες και ένας κηδεμόνας μπορεί να είναι υπεύθυνος για ένα μόνο σπουδαστή. Είναι μια συσχέτιση μεταξύ μιας ισχυρούς και μιας ασθενούς οντότητας. Κατηγόρημα διαθέτει μόνο η συσχέτιση «Παρακολουθεί» και είναι η ημερομηνία παρακολούθησης Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 56
Τα Διαγράμματα Οντοτήτων – Συσχετίσεων Τα Διαγράμματα Οντοτήτων Συσχετίσεων (ΔΟΣ) προσφέρουν ένα γραφικό τρόπο εννοιολογικής μοντελοποίησης των δεδομένων. Με την χρήση τους μπορούμε να έχουμε μία εποπτική εικόνα των πληροφοριών που περιέχονται στη Βάση Δεδομένων Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 57
Οι δυο εναλλακτικοί συμβολισμοί μια οντότητας με τα κατηγορήματά της Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 58
Αναπαράσταση ασθενούς οντότητας με μερικό κλειδί Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 59
Αναπαράσταση δυαδικής συσχέτισης Μ:Ν με κατηγορήματα Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 60
Τα βασικά σύμβολα των διαγραμμάτων οντοτήτων συσχετίσεων Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 61
Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 Σχεδίαση Διαγράμματος Οντοτήτων Συσχετίσεων για την ΒΔ «Εκπαιδευτικό Ίδρυμα» Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 62
Παράδειγμα: ΣΥΣΤΗΜΑ ΥΓΕΙΑΣ “Το Σύστημα Υγείας αποτελείται από τα νοσοκομεία της χώρας, τους γιατρούς που υπηρετούν στα νοσοκομεία και τα εργαστήρια που υποστηρίζουν τα νοσοκομείο. Για κάθε νοσοκομείο κρατάμε τον κωδικό, το όνομα, την έδρα του και τη διεύθυνσή του. Κάθε γιατρός διαθέτει ένα αριθμό μητρώου (που είναι μοναδικός), επώνυμο, όνομα και ειδικότητα. Κάθε εργαστήριο έχει ένα κωδικό και μια ονομασία. Μας ενδιαφέρει να κρατάμε το χρόνο έναρξης υπηρεσίας του κάθε γιατρού στο νοσοκομείο του. Ένας γιατρός υπηρετεί σε ένα μόνο νοσοκομείο. Ένα εργαστήριο υποστηρίζει πολλά νοσοκομεία και ένα νοσοκομείο χρησιμοποιεί πολλά εργαστήρια. Το Σύστημα Υγείας επίσης έχει τους ασθενείς που ο καθένας έχει τη διάγνωσή του. Επίσης για κάθε ασθενή διενεργούνται ορισμένες εξετάσεις. Ο κάθε ασθενής διαθέτει κωδικό, επώνυμο, όνομα και ασφαλιστικό ταμείο. Η κάθε διάγνωση έχει ένα κωδικό, και την ημερομηνία που έχει γίνει. Η κάθε εξέταση έχει ένα κωδικό και μια ονομασία. Ένας ασθενής μπορεί να έχει πολλές διαγνώσεις αλλά μια διάγνωση αναφέρεται σε ένα μόνο ασθενή. Ένας ασθενής μπορεί να κάνει πολλές εξετάσεις αλλά μια εξέταση αναφέρεται σε ένα μόνο ασθενή. Ένας γιατρός είναι υπεύθυνος για πολλούς ασθενείς αλλά ένας ασθενής «απευθύνεται» σε ένα μόνο γιατρό.” Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 63
Παράδειγμα: «Εταιρία ΒΕΤΑ» Η εταιρεία έχει διάφορους υπαλλήλους για τους οποίους πρέπει να κρατάμε το επώνυμο, το όνομα, τη διεύθυνση, τον ΑΦΜ, την εξειδίκευση, το τηλέφωνο. Ένας υπάλληλος μπορεί να έχει μία ή δυο ή ακόμη και περισσότερες εξειδικεύσεις (π.χ. να μπορεί να χρησιμοποιηθεί ως πωλητής ή/και ως γραμματέας ή/και ως τεχνικός) οι οποίες πρέπει να καταγράφονται στη βάση δεδομένων, αφού η BETA είναι μια εταιρία μικρού μεγέθους και ενδιαφέρεται να εκμεταλλευτεί όλες τις εξειδικεύσεις των υπαλλήλων της. Η εταιρεία έχει διάφορους πελάτες και για κάθε πελάτη μας ενδιαφέρει να κρατάμε έναν μοναδικό κωδικό πελάτη, την επωνυμία του, τη νομική μορφή του, τη διεύθυνση της έδρας του και την αρμόδια ΔΟΥ. Για κάθε πελάτη υπάρχει ένας μόνο υπάλληλος που είναι υπεύθυνος συνεννόησης για τον οποίο πρέπει να γνωρίζουμε την ημερομηνία που άρχισε να υποστηρίζει το συγκεκριμένο πελάτη. Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 64
Παράδειγμα: «Εταιρία ΒΕΤΑ» Η εταιρεία εμπορεύεται διάφορα προϊόντα. Για κάθε προϊόν μας ενδιαφέρει να κρατάμε τον κωδικό προϊόντος, την ονομασία του προϊόντος και την τιμή προϊόντος. Ορισμένα από τα προϊόντα της εταιρίας διαφημίζονται και γι’ αυτά μας ενδιαφέρει να κρατάμε τα στοιχεία της διαφήμισης και συγκεκριμένα την επωνυμία της διαφημιστικής εταιρίας και τη χρονολογία έναρξης της διαφήμισης. Ένα προϊόν μπορεί να διαφημιστεί αρκετές φορές. Τα στοιχεία μιας διαφήμισης αναφέρονται σε ένα προϊόν. Το ίδιο προϊόν δεν είναι δυνατόν να έχει την ίδια ημερομηνία έναρξης διαφήμισης, ακόμη και σε διαφορετικές διαφημιστικές εταιρίες, για τις διαφημίσεις του. Διαφορετικά προϊόντα, μπορούν να έχουν την ίδια ημερομηνία έναρξης διαφήμισης είτε στην ίδια είτε σε διαφορετικές διαφημιστικές εταιρίες. Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 65
Παράδειγμα: «Εταιρία ΒΕΤΑ» Η εταιρεία χρησιμοποιεί διάφορα είδη παραστατικών (τιμολόγια-δελτία αποστολής, τιμολόγια παροχής υπηρεσιών κλπ). Για κάθε είδος παραστατικού πρέπει να κρατάμε τον κωδικό είδους και την ονομασία του είδους παραστατικού. Όταν η εταιρεία εκδίδει ένα συγκεκριμένο παραστατικό (που ανήκει σε ένα είδος παραστατικού) μας ενδιαφέρει να κρατάμε τον αριθμό παραστατικού που είναι μοναδικός, την ημερομηνία και ώρα έκδοσής του. Κάθε παραστατικό αντιστοιχεί σε ένα μόνον είδος παραστατικού. Επίσης κάθε παραστατικό αφορά σε έναν μόνο πελάτη. Τέλος, σε κάθε παραστατικό περιλαμβάνονται ένα ή περισσότερα προϊόντα και για κάθε προϊόν μας ενδιαφέρει να ξέρουμε τον αριθμό τεμαχίων στο παραστατικό.» Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 66
Παράδειγμα: «Εταιρία ΒΕΤΑ» Οντότητες υπάλληλος (επώνυμο, όνομα, διεύθυνση, ΑΦΜ, εξειδίκευση, τηλέφωνο). Η εξειδίκευση είναι ένα πλειότιμο κατηγόρημα αφού μπορεί να έχει πολλές τιμές για το ίδιο στιγμιότυπο (δηλ. ένα υπάλληλο) πελάτης (κωδικός πελάτη, επωνυμία, νομική μορφή, διεύθυνση έδρας, αρμόδια ΔΟΥ) προϊόν (κωδικός προϊόντος, ονομασία προϊόντος, τιμή προϊόντος) στοιχεία διαφήμισης (επωνυμία της διαφημιστικής εταιρίας, χρονολογία έναρξης διαφήμισης). Είναι ασθενής οντότητα με μερικό κλειδί τη χρονολογία έναρξης διαφήμισης (είναι μερικό κλειδί γιατί διαφοροποιεί τις διαφημίσεις του ίδιου προϊόντος). είδος παραστατικού (κωδικός είδους, ονομασία είδους) παραστατικό (αριθμός παραστατικού, ημερομηνία έκδοσης, ώρα έκδοσης) Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 67
Παράδειγμα: «Εταιρία ΒΕΤΑ» Συσχετίσεις υπεύθυνος συνεννόησης (υπάλληλος, πελάτης) 1:Ν γιατί ένας υπάλληλος μπορεί να υποστηρίζει πολλούς πελάτες (η πληροφορία αυτή δεν καταγράφεται στις απαιτήσεις αλλά είναι λογικό να συμβαίνει) και ένας πελάτης συνεννοείται με ένα μόνο υπάλληλο. Η οντότητα πελάτης έχει ολική συμμετοχή στη συσχέτιση. Κατηγόρημα της συσχέτισης είναι η ημερομηνία έναρξης διαφημίζεται (προϊόν, στοιχεία διαφήμισης) 1:Ν γιατί ένα προϊόν μπορεί να έχει πολλά στοιχεία διαφήμισης (αφού μπορεί να διαφημίζεται πολλές φορές) και ένα από τα στοιχεία διαφήμισης αναφέρεται σε ένα προϊόν. Είναι προσδιορίζουσα συσχέτιση της ασθενούς οντότητας στοιχεία διαφήμισης ανήκει (παραστατικό, είδος παραστατικού) Ν:1 γιατί ένα παραστατικό αντιστοιχεί σε ένα είδος αλλά μπορεί να υπάρχουν πολλά παραστατικά για το ίδιο είδος. Η οντότητα παραστατικό έχει ολική συμμετοχή στη συσχέτιση Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 68
«Παράδειγμα: «Εταιρία ΒΕΤΑ» Συσχετίσεις αφορά (παραστατικό, πελάτης) Ν:1 γιατί κάθε παραστατικό αφορά ένα πελάτη αλλά για έναν πελάτη μπορεί να εκδοθούν πολλά παραστατικά (η πληροφορία αυτή δε δίνεται στις απαιτήσεις αλλά μπορούμε να την υποθέσουμε). Η οντότητα παραστατικό έχει ολική συμμετοχή στη συσχέτιση περιλαμβάνει (παραστατικό, προϊόν) Μ:Ν γιατί ένα παραστατικό μπορεί να περιλαμβάνει πολλά προϊόντα αλλά και κάθε προϊόν μπορεί να περιλαμβάνεται σε πολλά παραστατικά. Η οντότητα παραστατικό έχει ολική συμμετοχή στη συσχέτιση Κατηγόρημα συσχέτισης είναι ο αριθμός τεμαχίων Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 69
«Παράδειγμα: «Εταιρία ΒΕΤΑ» ΔΟΣ Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 70
Οι Τριαδικές Συσχετίσεις Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 71
Οι Τριαδικές Συσχετίσεις Ένας σπουδαστής μπορεί να παρακολουθεί ένα συγκεκριμένο μάθημα σε πολλές αίθουσες. Το είδος της συσχέτισης από την πλευρά της οντότητας «Αίθουσα» είναι Μ Ένα μάθημα μπορεί να παρακολουθείται σε μια συγκεκριμένη αίθουσα από πολλούς σπουδαστές. Το είδος της συσχέτισης από την πλευρά της οντότητας «Σπουδαστής» είναι Ν Ένας σπουδαστής μπορεί να παρακολουθεί σε μια συγκεκριμένη αίθουσα πολλά μαθήματα. Το είδος της συσχέτισης από την πλευρά της οντότητας «Μάθημα» είναι Μ Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 72
Αναπαράσταση τριαδικής συσχέτισης Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 73
Οι αντίστοιχες δυαδικές συσχετίσεις Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 74
Σύγκριση δυαδικών με τριαδικές συσχετίσεις «Ο Παπαδόπουλος παρακολουθεί το μάθημα Βάσεις Δεδομένων» «Ο Παπαδόπουλος παρακολουθεί μαθήματα στην αίθουσα Κ1» «Το μάθημα Βάσεις Δεδομένων διδάσκεται στην αίθουσα Κ1» Με βάση τα παραπάνω δεν ισχύει: «Ο Παπαδόπουλος παρακολουθεί το μάθημα Βάσεις Δεδομένων στην αίθουσα Κ1» Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 75
Κλάσεις και Υποκλάσεις Ας θεωρήσουμε τους εργαζόμενους στην εφαρμογή «Εκπαιδευτικό Ίδρυμα». Ένας εργαζόμενος μπορεί να ανήκει στο εκπαιδευτικό προσωπικό ή στο τεχνικό προσωπικό ή στο διοικητικό προσωπικό. Δηλαδή ένα οποιοδήποτε στιγμιότυπο της οντότητας «Εργαζόμενος» μπορεί να ανήκει σε μια από τις τρεις παραπάνω ομάδες εργαζομένων. Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 76
Κλάσεις και Υποκλάσεις Η οντότητα «Εργαζόμενος» συνιστά μια κλάση Οι ομάδες «Εκπαιδευτικό προσωπικό», «Τεχνικό προσωπικό», «Διοικητικό προσωπικό» συνιστούν τρεις αντίστοιχες υποκλάσεις Κάθε υποκλάση μπορεί να αντιμετωπιστεί σαν μια οντότητα που συνδέεται με την κλάση της, με μια ειδική συσχέτιση κλάσης/υποκλάσης Ένα στιγμιότυπο που ανήκει σε μια υποκλάση θα ανήκει επίσης και στην αντίστοιχη κλάση Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 77
Ιδιότητα Κληρονομικότητας Η οντότητα «Εργαζόμενος» διαθέτει τα γνωρίσματα : (Κωδικός, Όνομα, Επώνυμο, Διεύθυνση, Τηλέφωνο) Η οντότητα «Καθηγητής» μπορεί να έχει ως γνωρίσματα τη Βαθμίδα και την Ημερομηνία απόκτησης διδακτορικού τίτλου Η οντότητα-υποκλάση «Καθηγητής» με βάση την ιδιότητα της κληρονομικότητας, τελικά διαθέτει τα γνωρίσματα: (Κωδικός, Όνομα, Επώνυμο, Διεύθυνση, Τηλέφωνο, Βαθμίδα, Ημερομηνία) Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 78
Συσχετίσεις είδους Is-a Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 79
Αναπαράσταση συσχέτισης is-a Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 80
Εξειδίκευση και Γενίκευση Οντοτήτων Η εξειδίκευση επιτρέπει τον προσδιορισμό ενός συνόλου υποκλάσεων μιας οντότητας Η εξειδίκευση επιτυγχάνεται θεωρώντας τα διαφορετικά χαρακτηριστικά των στιγμιότυπων μιας κλάσης Mια κλάση μπορεί να εξειδικευτεί σε πάνω από μια κατηγορίες υποκλάσεων, π.χ. η κλάση «Εργαζόμενος» περιέχει τις υποκλάσεις «Καθηγητής», «Τεχνικό προσωπικό», «Διοικητικό προσωπικό» αλλά και τις «Μόνιμος», «Συμβασιούχος», «Εξωτερικός Συνεργάτης» Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 81
Εξειδίκευση και Γενίκευση Οντοτήτων Η γενίκευση είναι η αντίστροφη διαδικασία κατά την οποία ξεκινώντας από ένα σύνολο οντοτήτων-υποκλάσεων οι οποίες παρουσιάζουν κάποια κοινά χαρακτηριστικά, δημιουργούμε μια νέα οντότητα-κλάση που θα έχει ως κατηγορήματα τα κοινά χαρακτηριστικά των υποκλάσεων Οι διαδικασίες της γενίκευσης και ειδίκευσης είναι διαφορετικές, όμως τελικά έχουν το ίδιο αποτέλεσμα Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 82
Εξειδίκευση και Γενίκευση Οντοτήτων Κατά τη διαδικασία της εξειδίκευσης, οι υποκλάσεις που θα προκύψουν μπορεί να είναι επικαλυπτόμενες (overlap) ή μη επικαλυπτόμενες (disjoint) Επικαλυπτόμενες είναι οι υποκλάσεις οι οποίες μπορεί να περιέχουν κοινά στιγμιότυπα Μη επικαλυπτόμενες λέγονται οι υποκλάσεις που είναι ξένες μεταξύ τους, ως προς τα στιγμιότυπα που περιέχουν Οι επικαλυπτόμενες ειδικεύσεις συμβολίζονται με το γράμμα o, ενώ οι μη επικαλυπτόμενες συμβολίζονται με το γράμμα d. Το παραπάνω είναι γνωστό ως περιορισμός επικάλυψης Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 83
Εξειδίκευση και Γενίκευση Οντοτήτων Ένας δεύτερος περιορισμός αναφέρεται στην ολική ή μερική συμμετοχή της κλάσης στην εξειδίκευση Κατά την ολική συμμετοχή, όλα τα στιγμιότυπα της κλάσης ανήκουν σε τουλάχιστον μια υποκλάση Κατά την μερική συμμετοχή είναι δυνατόν κάποια στιγμιότυπα της κλάσης να μην ανήκουν σε καμιά υποκλάση Ο περιορισμός αυτός είναι γνωστός ως περιορισμός συμμετοχής της κλάσης Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 84
Εξειδίκευση και Γενίκευση Οντοτήτων Λαμβάνοντας υπόψη τους δυο παραπάνω περιορισμούς, μια εξειδίκευση μπορεί να είναι: Επικαλυπτόμενη με ολική συμμετοχή Επικαλυπτόμενη με μερική συμμετοχή Μη επικαλυπτόμενη με ολική συμμετοχή Μη επικαλυπτόμενη με μερική συμμετοχή Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 85
Εξειδίκευση και Γενίκευση Οντοτήτων Αναπαράσταση της εξειδίκευσης της κλάσης "Εργαζόμενος" Κεφάλαιο 4 Εισαγωγή στις βάσεις δεδομένων ISBN 978 960 931217 2 86