Βάσεις δεδομένων Π. Φιτσιλής pfitsilis@gmail.com
Στόχοι Στόχος του κεφαλαίου αυτού είναι να περιγράψει τις βασικές έννοιες που χρησιμοποιούνται για το σχεδιασμό μίας βάσης δεδομένων. 2
3 Μοντέλα Δεδομένων Ένα μοντέλο δεδομένων παρέχει ένα σύνολο εννοιών που είναι απαραίτητες για την περιγραφή της βάσης δεδομένων. Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
5 Τύποι Μοντέλων Δεδομένων Εννοιολογικά/Λογικά ή υψηλού επιπέδου Εύκολα κατανοητά από τον άνθρωπο Οι έννοιες τους αναπαριστώνται με σύμβολα Εσωτερικό Κατανοητά από τον άνθρωπο και τον Η/Υ Φυσικά ή χαμηλού επιπέδου Κατανοητά από ειδικούς της πληροφορικής Κατάλληλα για τεχνικές λεπτομέρειες Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Το εννοιολογικό/λογικό μοντέλο (conceptual) Αναπαριστά την συνολική εικόνα της βάσης δεδομένων Όλες οι διαφορετικές οπτικές γωνίες ενσωματώνονται σε ένα ενιαίο εννοιολογικό σχήμα Για την απεικόνισή του χρησιμοποιείται το ER μοντέλο και το διάγραμμα ERD που αντιπροσωπεύει γραφικά το εννοιολογικό μοντέλο Είναι ανεξάρτητο από software και hardware
Το εσωτερικό μοντέλο
Το φυσικό μοντέλο Λειτουργεί στο χαμηλότερο επίπεδο αφαίρεσης Περιγράφει τον τρόπο αποθήκευσης των δεδομένων σε μέσα αποθήκευσης, όπως δίσκους ή αλλού Απαιτεί τον ορισμό των μεθόδων φυσικής αποθήκευσης και πρόσβασης δεδομένων
Μοντέλα δεδομένων Μοντέλα δεδομένων Σχετικά απλές αναπαραστάσεις σύνθετων δομών δεδομένων πραγματικού κόσμου Συχνά γραφικά Μοντέλο: αφαίρεση ενός πραγματικού αντικειμένου ή γεγονότος Χρήσιμο στην κατανόηση των περιπλοκών αντικειμένων/ σχέσεων του πραγματικού περιβάλλοντος Η μοντελοποίηση δεδομένων είναι επαναληπτική και προοδευτική
Διαφορετικές οπτικές γωνίες και αφαίρεση
Η σημασία των μοντέλων δεδομένων Διευκολύνουν την αλληλεπίδραση μεταξύ του σχεδιαστή, του προγραμματιστή εφαρμογών και του τελικού χρήστη Οι τελικοί χρήστες έχουν διαφορετικές απόψεις και ανάγκες για δεδομένα Το μοντέλο δεδομένων οργανώνει δεδομένα για διάφορους χρήστες Το μοντέλο δεδομένων είναι μια αφαίρεση
Βασικά δομικά στοιχεία μοντέλων δεδομένων Οντότητα (entity): οτιδήποτε σχετικά με τα δεδομένα που συλλέγονται και αποθηκεύονται Χαρακτηριστικό (Attribute): χαρακτηριστικό μιας οντότητας Συνώνυμο με το Γνώρισμα, Πεδίο Σχέση (relationship) : περιγράφει μια συσχέτιση μεταξύ των οντοτήτων Μία προς πολλές (1: Μ) σχέση (one-to-many) Πολλές προς πολλές (M: N ή M: M) σχέση (many-to-many) Σχέση μια προς μια (1: 1) (one-to-one) Περιορισμός (constraint) : ένας περιορισμός που έχει επιβληθεί στα δεδομένα
Επιχειρηματικοί κανόνες (Business Rules) Περιγραφές πολιτικών, διαδικασιών ή αρχών εντός μιας συγκεκριμένης οργάνωσης Εφαρμόζονται σε κάθε οργανισμό που αποθηκεύει και χρησιμοποιεί δεδομένα για τη δημιουργία πληροφοριών Περιγραφή τις λειτουργίες που επιβάλλουν ενέργειες στο περιβάλλον ενός οργανισμού Πρέπει να είναι γραπτοί και ενημερωμένοι Πρέπει να είναι εύκολο να κατανοηθούν και να είναι γνωστοί σε όλους Περιγράφουν τα χαρακτηριστικά των δεδομένων, όπως αυτά φαίνονται από τον οργανισμό
Ανακάλυψη επιχειρηματικών κανόνων Πηγές επιχειρηματικών κανόνων (που τους βρίσκουμε) Διευθυντές εταιρειών Φορείς χάραξης πολιτικής Διευθυντές τμημάτων Γραπτή τεκμηρίωση Διαδικασίες Πρότυπα Εγχειρίδια λειτουργίας Από συνεντεύξεις με τους τελικούς χρήστες
Ανακάλυψη επιχειρηματικών κανόνων Τυποποιηθούν την άποψη των εταιρειών σχετικά με τα δεδομένα Είναι ένα εργαλείο επικοινωνίας μεταξύ χρηστών και σχεδιαστών Επιτρέπουν στον σχεδιαστή να κατανοήσει τη φύση, τον ρόλο και το εύρος των δεδομένων Επιτρέπουν στον σχεδιαστή να κατανοήσει τις επιχειρηματικές διαδικασίες Επιτρέπουν στον σχεδιαστή να αναπτύξει κατάλληλους κανόνες συμμετοχής τον οντοτήτων στις σχέσεις καθώς και τους περιορισμούς
Μετατροπή επιχειρηματικών κανόνων σε στοιχεία μοντέλου δεδομένων Ta ουσιαστικά μεταφράζονται σε οντότητες Τα ρήματα μεταφράζονται σε σχέσεις μεταξύ οντοτήτων Οι σχέσεις είναι αμφίδρομες Δύο ερωτήσεις για τον προσδιορισμό του τύπου σχέσης: Πόσα Β σχετίζονται ένα Α; Πόσες Α σχετίζονται με ένα Β;
Διάγραμμα Οντοτήτων-Συσχετίσεων (ΔΟΣ) 18 Προτάθηκε από τον Peter Chen το 1976 Οι βασικές του έννοιες είναι: Οντότητα Χαρακτηριστικό Συσχέτιση Peter Chen Υιοθετεί σύμβολα για την αναπαράσταση αυτών των εννοιών
Οντότητα Φυσικό ή νοητό αντικείμενο του πραγματικού κόσμου και για το οποίο θέλουμε να αποθηκεύσουμε δεδομένα στη βάση δεδομένων Κάθε οντότητα συμβολίζεται με ένα παραλληλόγραμμο Μέσα στο παραλληλόγραμμο γράφουμε το όνομα της οντότητας (συνήθως στον ενικό) ΟΝΤΟΤΗΤΑ
Παράδειγμα οντοτήτων 20 Μία βάση δεδομένων αναπτύσσεται για ένα εκπαιδευτικό ίδρυμα Θέλουμε να περιγράψουμε αυτή τη βάση δεδομένων με ένα ΔΟΣ Μας δίνεται ότι στη βάση δεδομένων θα αποθηκεύονται δεδομένα που αφορούν τους ΚΑΘΗΓΗΤΕΣ και τα ΤΜΗΜΑΤΑ του εκπαιδευτικού ιδρύματος. Τότε, το ΔΟΣ που περιγράφει τη βάση δεδομένων, θα πρέπει να περιέχει τις οντότητες ΚΑΘΗΓΗΤΗΣ και ΤΜΗΜΑ: ΚΑΘΗΓΗΤΗΣ ΤΜΗΜΑ
Η οντότητα ΚΑΘΗΓΗΤΗΣ και οι αντιπρόσωποί της Η οντότητα ΚΑΘΗΓΗΤΗΣ αναπαριστάνει όλα τα φυσικά πρόσωπα του πραγματικού κόσμου που είναι καθηγητές στο εκπαιδευτικό ίδρυμα. Ισοδύναμα λέμε: Κάθε ένας καθηγητής του ιδρύματος είναι ένας αντιπρόσωπος της οντότητας ΚΑΘΗΓΗΤΗΣ. ΚΑΘΗΓΗΤΗΣ
Οι αντιπρόσωποι ως μέλη ενός συνόλου Οι αντιπρόσωποι μίας οντότητας αναπαριστάνονται ως μέλη ενός συνόλου. Μας δίνεται ότι στο ίδρυμα υπάρχουν 5 καθηγητές, οι Κ1, Κ2, Κ3, κ4 και Κ5: ΚΑΘΗΓΗΤΕΣ Κ1 Κ2 ΚΑΘΗΓΗΤΗΣ Κ3 Κ4 Κ5
Στιγμιότυπα και η τιμή NULL Μια οντότητα ενός ΔΟΣ αναφέρεται σημασιολογικά σε ένα σύνολο (ή κλάση) από ομοειδή στοιχεία τα οποία θα αποκαλούμε στιγμιότυπα. Για παράδειγμα, ένα στιγμιότυπο της οντότητας όχημα είναι το στοιχείο <ΑΧΝ-5673, FIAT, GT-2001, 1400,...>. Μια ειδική τιμή ενός γνωρίσματος είναι η τιμή NULL, η οποία αποδίδεται όταν ένα στιγμιότυπο για το συγκεκριμένο γνώρισμα δεν έχει τιμή. Η σημασιολογία της έλλειψης τιμής είναι τριπλή: δεν υπάρχει δυνατή τιμή (not applicable) υπάρχει δυνατή αλλά μη καταχωρημένη τιμή, την οποία γνωρίζουμε (missing) δε γνωρίζουμε (not known)
Η οντότητα ΤΜΗΜΑ και οι αντιπρόσωποί της Η οντότητα ΤΜΗΜΑ αναπαριστάνει όλα τα νοητά αντικείμενα του πραγματικού κόσμου που είναι τμήματα του εκπαιδευτικού ιδρύματος. Ισοδύναμα λέμε: Κάθε ένα τμήμα του ιδρύματος είναι ένας αντιπρόσωπος της οντότητας ΤΜΗΜΑ. Μας δίνεται ότι το ίδρυμα έχει δύο τμήματα: Τ1 και Τ2: ΤΜΗΜΑΤΑ Τ1 ΤΜΗΜΑ Τ2
Ποιες είναι οι οντότητες στο παρακάτω παράδειγμα Θεωρήστε ένα pet store. To pet store μπορεί να πουλάει μέχρι 30 σκύλους και γάτες και μέχρι 15 πτηνά. Για κάθε κατοικίδιο ζώο το κατάστημα κρατάει ένα ιστορικό εμβολίων. Οι φίλοι του ανθρώπου είναι οι σκύλοι και οι γάτες. Σε καθένα από αυτά τα ζώα είναι εμφυτευμένο ένα μικροτσίπ με σκοπό την ανεύρεσή του σε περίπτωση που χαθεί. Σε κάθε μικριτσίπ αποθηκεύεται ένας μοναδικός κωδικός ταυτότητας για το ζώο. 25
Απάντηση Πτηνό Pet_Store Κατοικίδιο_Ζώο Ιστορικό_Εμβολίων Φίλος_του_Ανθρώπου Μικροτσίπ - id_number : Integer Σκύλος Γάτα 26
27 Χαρακτηριστικά Οι οντότητες έχουν ιδιότητες που τις περιγράφουν. Οι ιδιότητες αυτές ονομάζονται κατηγορήματα/χαρακτηριστικά/γνωρίσματα (attributes). Τα γνωρίσματα αναπαριστάνονται με την έλλειψη. Τα γνωρίσματα των οντοτήτων αναπαριστούν συγκεκριμένα δεδομένα που θέλουμε να αποθηκεύσουμε στη βάση δεδομένων
28 Γνωρίσματα Μας δίνεται ότι στη βάση δεδομένων για κάθε τμήμα θα αποθηκεύεται, το όνομά του και το τηλέφωνό του τμήματος: Όνομα Τηλέφωνο ΤΜΗΜΑ Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
29 Στο ΔΟΣ: γνωρίσματα, όχι τιμές Στο ΔΟΣ δεν εμφανίζονται πιθανές τιμές χαρακτηριστικών Στα μέλη ενός συνόλου, ωστόσο, μπορεί να εμφανίζεται οι τιμές κάθε γνωρίσματος Μας δίνεται ότι στο ίδρυμα υπάρχει το Τμήμα Πληροφορικής με τηλέφωνο 2321054321 και το Τμήμα Λογιστική με τηλέφωνο 2321065432. ΤΜΗΜΑΤΑ (Τμήμα Πληροφορικής, 23210 54321) Όνομα Τηλέφωνο Τ1 (Τμήμα Λογιστικής, 23210 65432) ΤΜΗΜΑ Τ2 Αναπαράσταση τμημάτων ως μέλη συνόλου Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής Αναπαράσταση τμημάτων με την οντότητα
Είδη γνωρισμάτων 30 Πρωτεύον (primary attribute) Σύνθετο (composite attribute) Πολλαπλών Τιμών (multi-valued attribute) Συναγόμενο (derived attribute)
Πρωτεύον γνώρισμα 31 έχει μοναδικές τιμές Κάθε οντότητα πρέπει να έχει πρωτεύων γνώρισμα Π.χ: ο Αριθμός Φορολογικού Μητρώου καθηγητή είναι πρωτεύον γνώρισμα, επειδή δεν είναι δυνατό δύο καθηγητές να έχουν το ίδιο ΑΦΜ ΑΦΜ Τηλέφωνο ΚΑΘΗΓΗΤΗΣ
Η έννοια «κλειδί» Επομένως το υποσύνολο των κατηγορημάτων μιας οντότητας που χαρακτηρίζουν μονοσήμαντα ένα στιγμιότυπο ονομάζεται κλειδί. Δυο βασικοί περιορισμοί που ισχύουν για κάθε κλειδί είναι οι ακόλουθοι: το κλειδί μιας οντότητας δε μπορεί να έχει τιμή NULL, δυο διαφορετικά στιγμιότυπα της ίδιας οντότητας δε μπορεί να έχουν ίδιες τιμές στο κλειδί τους. Ως πρωτεύον γνώρισμα ή πρωτεύων κλειδί ορίζουμε το κλειδί εκείνο που ο σχεδιαστής της βάσης επιλέγει να χρησιμοποιήσει σε ένα συγκεκριμένο εννοιολογικό σχήμα (συνήθως αυτό είναι και το μικρότερο δυνατό [minimal]). 6/3/2018
Σύνθετο Γνώρισμα 33 Αποτελείται απλούστερα χαρακτηριστικά Π.χ: Η διεύθυνση ΚΑΘΗΓΗΤΗΣ Διεύθυνση Οδός Αριθμός Πόλη
Γνώρισμα Πολλαπλών Τιμών 34 Μπορεί να πάρει περισσότερες από μία τιμές Π.χ: τα πτυχία ενός Καθηγητή ΚΑΘΗΓΗΤΗΣ Πτυχία
Συναγόμενο Γνώρισμα 35 Υπολογίζεται με βάση άλλα χαρακτηριστικά Π.χ: η ηλικία του καθηγητή ΚΑΘΗΓΗΤΗΣ Ηλικία ΗμερΓέννησης
Άσκηση Φτιάξτε το διάγραμμα για την ταυτότητά σας Πιο είναι το πρωτεύον γνώρισμα 36
Συσχέτιση (όχι σχέση) 37 Οι οντότητες συσχετίζονται μεταξύ τους. Η συσχέτιση μεταξύ δύο οντοτήτων μπορεί να δείχνει συνεργασία, αλληλεπίδραση ή άλλου είδους σχέση. Μια συσχέτιση είναι μια λογική σύνδεση (συσχέτιση - με την καθημερινή έννοια αλληλεπίδραση, εξάρτηση) μεταξύ δύο ή περισσότερων οντοτήτων, την οποία επιθυμούμε να αποθηκεύσουμε στη βάση δεδομένων. Η συσχέτιση συμβολίζεται με έναν ρόμβο. Μέσα στον ρόμβο αναγράφεται η ονομασία της συσχέτισης που είναι ένα ρήμα. Για παράδειγμα: ο καθηγητής ανήκει στο Τμήμα ΚΑΘΗΓΗΤΗΣ Ανήκει ΤΜΗΜΑ
Συσχέτιση 38 Μία συσχέτιση διαβάζεται πάντοτε με δύο τρόπους. Στο παρακάτω παράδειγμα η συσχέτιση «Ανήκει» διαβάζεται: Ο Καθηγητής ανήκει σε Τμήμα ΚΑΙ Σε Τμήμα ανήκει Καθηγητής ΚΑΘΗΓΗΤΗΣ Ανήκει ΤΜΗΜΑ Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Αναπαράσταση συσχέτισης ως σύνολο Μία συσχέτιση μπορεί να αναπαρασταθεί ως ένα σύνολο, όπως φαίνεται στο επόμενο παράδειγμα Στο τμήμα Πληροφορικής ανήκουν 2 καθηγητές και στο τμήμα Λογιστικής 3 (Ποιοί;) ΚΑΘΗΓΗΤΕΣ (012345678, Ανδρέας Ζάχαρης) ΑΝΗΚΟΥΝ Κ1 (023456789, Γεωργία Γλύκα) Κ2 (034567891, Γεωργία Πίκρα) Κ3 (045678912, Ελένη Ξύδη) Κ4 (056789123, Ζαχαρίας Μούστος) Κ5 Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής Α1 Α2 Α3 Α4 Α5 ΤΜΗΜΑΤΑ (Τμήμα Πληροφορικής, 23210 54321) Τ1 (Τμήμα Λογιστικής, 23210 65432) Τ2
Είδη Συσχετίσεων 40 Τα είδη συσχετίσεων εξαρτώνται από: Την συμμετοχή Τον Λόγο Πολλαπλότητας Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Συμμετοχή 41 Ολική: όλοι οι αντιπρόσωποι μίας οντότητας συμμετέχουν σε μία συσχέτιση Η ολική συμμετοχή αναπαριστάνεται με συνεχόμενη γραμμή: Μερική: ορισμένοι (και όχι όλοι) οι αντιπρόσωποι μίας οντότητας συμμετέχουν σε μία συσχέτιση Η μερική συμμετοχή αναπαριστάνεται με διακεκομμένη γραμμή:
Παράδειγμα Συμμετοχής Ολική συμμετοχή από την πλευρά της οντότητας Α: ΟΛΟΙ οι αντιπρόσωποι της οντότητας Α συμμετέχουν στη συσχέτιση Σ Μερική συμμετοχή από την πλευρά της οντότητας Β: ΟΡΙΣΜΕΝΟΙ αντιπρόσωποι της οντότητας Β συμμετέχουν στην συσχέτιση Σ. Α Σ Β Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
43 Παράδειγμα συμμετοχής Η παρακάτω συσχέτιση έχει ολική συμμετοχή από το μέρος του Α και μερική από το μέρος του Β. Α Σ Β Α1 Σ1 Β1 Α2 Σ2 Σ3 Β2 Β3 Α Σ Β4 Β Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Πολλαπλότητα 44 Επάνω σε κάθε γραμμή ενός ΔΟΣ που συνδέει μία συσχέτιση με μία οντότητα σημειώνουμε είτε το σύμβολο 1 είτε το σύμβολο Μ (που διαβάζεται ΠΟΛΛΑ). Καθένα από τα σύμβολα αυτά από μόνο του λέγεται πολλαπλότητα και δίνει σημαντικές πληροφορίες για την συσχέτιση. Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
45 Παράδειγμα πολλαπλότητας Κάποιος αντιπρόσωπος από το Α συσχετίζεται με ΠΟΛΛΟΥΣ αντιπροσώπους Α του Β Α1 Σ Σ1 Β Β1 Κάθε αντιπρόσωπος από το Β συσχετίζεται με ΈΝΑΝ αντιπρόσωπο του Α Α2 Σ2 Σ3 Β2 Β3 Β4 Α 1 Μ Σ Β Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Συσχέτιση «Ένα Προς Πολλά» 46 Η πολλαπλότητα είναι 'πολλά' (Μ) από το μέρος της οντότητας Α και 'ένα' (1) από το μέρος της Β. Επομένως ο λόγος πολλαπλότητας της συσχέτισης Σ είναι 'πολλά προς ένα' αν αναγνώσουμε τη συσχέτιση ξεκινώντας από την οντότητα Α. Α 1 Μ Σ Β Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Συσχέτιση «Πολλά προς Ένα» Υπενθύμιση: Κάθε συσχέτιση διαβάζεται και προς τις δύο κατευθύνσεις επομένως, Ο λόγος πολλαπλότητας της συσχέτισης είναι 'ένα προς πολλά' αν διαβάσουμε τη συσχέτιση ξεκινώντας από την οντότητα Β. Επειδή, όταν αναφερόμαστε σε μία συσχέτιση, δεν προσδιορίζουμε την οντότητα από την οποία ξεκινάμε την ανάγνωση, ο λόγος 'ένα προς πολλά' είναι ίδιος με τον λόγο πολλαπλότητας 'πολλά προς ένα'. Α 1 Μ Σ Β Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Λόγος Πολλαπλότητας 48 Δείχνει με πόσους αντιπροσώπους μίας άλλης οντότητες συσχετίζεται ένας αντιπρόσωπος κάποιας οντότητας Πιθανές τιμές: Ένα προς Ένα (1:1) Ένα προς Πολλά (1:Μ ή 1:Ν) που είναι ίδιο με το Πολλά προς Ένα Πολλά προς Πολλά (Μ:Μ ή Ν:Ν) Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
49 Παράδειγμα Λόγου Πολλαπλότητας Κάποιο τμήμα έχει εγγεγραμμένους ΠΟΛΛΟΥΣ φοιτητές Κάθε φοιτητής εγγράφεται σε ΈΝΑ τμήμα ΦΟΙΤΗΤΗΣ Ν Εγγρά-φεται 1 ΤΜΗΜΑ Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Προσδιορισμός της συμμετοχής Ας υποθέσουμε ότι η συσχέτιση Σ συνδέει τις οντότητες Α και Β. Για να προσδιορίσουμε την συμμετοχή της οντότητας Α σε μία συσχέτιση Σ κάνουμε την εξής ερώτηση: «Όλα τα Α συμμετέχουν στη Σ;» Αν η απάντηση στην ερώτηση αυτή είναι «ΝΑΙ» τότε η συσχέτιση από το μέρος του Α είναι ολική. Αν η απάντηση στην ερώτηση αυτή είναι «ΟΧΙ, υπάρχει τουλάχιστον ένα Α που δεν συμμετέχει στη Σ», τότε η συσχέτιση από το μέρος του Α είναι μερική. Με την αντίστοιχη ερώτηση «Όλα τα Β συμμετέχουν στη Σ;» προσδιορίζουμε τη συμμετοχή του Β.
Προσδιορισμός της πολλαπλότητας 51 Ας υποθέσουμε ότι η συσχέτιση Σ συνδέει τις οντότητες Α και Β. Για να προσδιορίσουμε την πολλαπλότητα από το μέρος της οντότητας Β κάνουμε την εξής ερώτηση: «Κάθε Α συσχετίζεται με ΕΝΑ Β;» Αν η απάντηση στην ερώτηση αυτή είναι «ΝΑΙ» τότε η πολλαπλότητα από το μέρος του Β είναι 1. Αν η απάντηση στην ερώτηση αυτή είναι «ΟΧΙ, υπάρχει τουλάχιστον ένα Α που συσχετίζεται με ΠΟΛΛΑ Β», τότε η πολλαπλότητα από το μέρος του Β είναι Μ. Με την αντίστοιχη ερώτηση «Κάθε Β συσχετίζεται με ΕΝΑ Α;» προσδιορίζουμε την πολλαπλότητα από το μέρος της οντότητας Α. Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Ασθενείς Οντότητες 52 Κανονικά κάθε οντότητα πρέπει να έχει ένα πρωτεύον χαρακτηριστικό. Υπάρχουν περιπτώσεις που αυτό δεν είναι δυνατό. Οντότητες που δεν έχουν δικό τους πρωτεύον κλειδί λέγονται ασθενείς οντότητες Οι οντότητες αυτές προσδιορίζονται μόνο σε σχέση με κάποιες άλλες οντότητες
Παράδειγμα Ασθενούς Οντότητας 53 ΑΦΜ Μερικό πρωτεύον χαρακτηριστικό Όνομα ΚΑΘΗΓΗΤΗΣ Έχει ΠΑΙΔΙ Προσδιορίζουσα οντότητα Προσδιορίζουσα συσχέτιση
54 Αναδρομικές Συσχετίσεις Συνήθως μία συσχέτιση συνδέει μία οντότητα με μία άλλη οντότητα Υπάρχουν συσχετίσεις που συνδέουν μία οντότητα με τον εαυτό της. Οι συσχετίσεις αυτές λέγονται αναδρομικές Ο προσδιορισμός τους διευκολύνεται από την κατάλληλη λεκτική διαμόρφωση της πρότασης Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
55 Λεκτική Διαμόρφωση Οι σπουδαστές παρακολουθούν μαθήματα Ουσιαστικό Ρήμα Ουσιαστικό ΣΠΟΥΔΑΣΤΗΣ Παρακο-λουθεί ΜΑΘΗΜΑ Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Εντοπισμός Αναδρομικής Συσχέτισης 56 [ορισμένα] Μαθήματα προαπαιτούν [κάποια άλλα] μαθήματα Προ-απαιτεί Ρήμα Ουσιαστικό Ουσιαστικό ΜΑΘΗΜΑ Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Τριαδικές Συσχετίσεις Η συσχέτιση βαθμού > 2 είναι μια έννοια που συχνά προβληματίζει καθώς: ελάχιστη θεωρητική δουλειά έχει δημοσιευτεί στο συγκεκριμένο θέμα, κάποια παλιότερα βιβλία-κείμενα «αποκηρύσσουν» τη χρήση τριαδικών, ή n-αδικών γενικότερα (n>2) συσχετίσεων, συστήνοντας τη μετατροπή τους σε ισοδύναμο σχήμα με δυαδικές συσχετίσεις, κανένα από τα υπάρχοντα αυτοματοποιημένα εργαλεία (CASE tools) σχεδίασης βάσεων δεδομένων δεν υποστηρίζουν τον έλεγχο της σημασιολογικής ορθότητας τριαδικών και n-αδικών συσχετίσεων, συνεπώς και τη μετάβαση σε ένα αντίστοιχο λογικό σχήμα με αυτοματοποιημένο τρόπο.
Γιατί Τριαδικές Συσχετίσεις; ΜΑΘΗΤΗΣ ΔΙΔΑΣΚΕΤΑΙ ΜΑΘΗΜΑ Μ Μ ΠΑΡΑΚΟΛΟΥΘΕΙ Ν ΑΙΘΟΥΣΑ ΦΙΛΟΞΕΝΕΙ ΜΑΘΗΤΗΣ ΔΙΔΑΣΚΕΤΑΙ ΜΑΘΗΜΑ Μ Κ ΑΙΘΟΥΣΑ Ν Ν Ν Μ Α Β Έστω η βάση δεδομένων ενός πανεπιστημιακού τμήματος, που καταγράφει πληροφορίες για τη διδασκαλία των μαθημάτων. Έστω οι οντότητες ΜΑΘΗΤΗΣ, ΜΑΘΗΜΑ, ΑΙΘΟΥΣΑ κι η γενική αρχή «οποιοσδήποτε μπορεί να διδάσκεται οτιδήποτε, οπουδήποτε». Πώς θα μπορούσαμε να αποτυπώσουμε σε ένα ΔΟΣ που περιλαμβάνει μόνο τις παραπάνω οντότητες το γεγονός πως ο φοιτητής Γεωργίου διδάσκεται Μαθηματικά στην αίθουσα Α1;
Τριαδικές Συσχετίσεις - Λόγος Πληθικότητας Για τον καθορισμό του εξετάζουμε ένα δυνητικό ζευγάρι στιγμιοτύπων (για κάθε συνδυασμό 2 οντοτήτων) σε αντιπαράθεση με τα στιγμιότυπα της τρίτης οντότητας. σε κάθε 1-1-1 συσχέτιση όλες οι έμμεσες δυαδικές συσχετίσεις είναι Μ-Ν. Α Γ Β Α1 Β1 Γ1 Α2 Β2 Γ2 Α1 Β2 Γ3 Α3 Β3 Γ3
Προσδιορισμός Κλειδιού μιας Τριαδικής Συσχέτισης Έστω η συσχέτιση R(A,B,C). Ο πίνακας απεικονίζει το κλειδί συναρτήσει των πληθικοτήτων των οντοτήτων. Α Γ Β card(a) card(b) card(c) Κλειδί Ν Ν Ν ABC Ν Ν 1 AB Ν 1 1 AB ή AC 1 1 1 AB ή AC ή BC
61 ΔΟΣ και Περιορισμοί Δεν επιτρέπει την καταγραφή των περιορισμών που πρέπει να ικανοποιούνται από τα δεδομένα στο στάδιο της υλοποίησης της βάσης δεδομένων, με χρήση ενός ΣΔΒΔ, είναι δυνατή η περιγραφή των περιορισμών. Οι περιορισμοί αυτοί αποθηκεύονται μόνιμα στον κατάλογο του ΣΔΒΔ και επιβάλλονται αυτόματα από αυτό. Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Ανάπτυξη ΔΟΣ στην πράξη 63 Συλλογή κατάλληλων πληροφοριών από τους χρήστες Σταδιακή ανάπτυξη του ΔΟΣ Χρήση κατάλληλων εργαλείων Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Συλλογή πληροφοριών 64 Οι πληροφορίες συλλέγονται από: Συνεντεύξεις με χρήστες Επιχειρησιακά έγγραφα Επιτόπια παρατήρηση Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
65 Χρήση Κατάλληλων Εργαλείων Υπάρχουν ειδικά προγράμματα που μπορούν να βοηθήσουν στην ανάπτυξη ΜΟΣ: Γενικά σχεδιαστικά προγράμματα π.χ. Smartdraw (www.smartdraw.com) Εξειδικευμένα προγράμματα CASE tools τα οποία ελέγχουν και επιβάλλουν κανόνες σχεδίασης Π.χ: S-designer Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
66 Σταδιακή Ανάπτυξη ΔΟΣ Α στάδιο: συλλέγονται πληροφορίες από κάθε χρήστη χωριστά Για κάθε χρήστη αναπτύσσεται το ΔΟΣ που περιγράφει τις πληροφορίες που έδωσε ο χρήστης αυτός Β στάδιο: τα επιμέρους ΔΟΣ των χρηστών ενοποιούνται σε ένα ενιαίο (συγκεντρωτικό ΜΟΣ) Σχεσιακές Βάσεις Δεδομένων Δρ. Ε. Κεχρής
Παράδειγμα Έχετε τις έννοιες: δισκοπωλείο, πελάτης, μουσικό συγκρότημα, αγαπημένο συγκρότημα, cd, είδος μουσικής, μουσικός Δώστε ένα ΔΟΣ
Παράδειγμα ΔΙΣΚΟΠΩΛΕΙΟ ΠΕΛΑΤΗΣ Μ AΓ. ΣΥΓK. Ν Μ Μ Κ ΣΥΓΚΡΟΤΗΜΑ Μ Ν Μ 1 CD Ν 1 Ν Ν ΕΙΔΟΣ ΜΟΥΣ. ΜΟΥΣΙΚΟΣ Ονοματίστε τις κενές συσχετίσεις
ΔΙΣΚΟΠΩΛΕΙΟ Παράδειγμα ΠΕΛΑΤΗΣ Μ AΓΑΠΗΜΕΝΟ ΣΥΓΚ. Ν Μ ΔΙΑΘΕΤΕΙ Μ ΑΓΟΡΑ Κ ΣΥΓΚΡΟΤΗΜΑ Μ Ν Μ 1 CD Ν ΑΦΟΡΑ 1 Ν ΠΑΙΖΕΙ ΑΝΗΚΕΙ Ν ΕΙΔΟΣ ΜΟΥΣ. ΜΟΥΣΙΚΟΣ
Άσκηση Διαχωρίστε τις οντότητες και τις συσχετίσεις στις πιο κάτω περιπτώσεις επιβάτης, θέση πλοίου, κράτηση οντότητες: επιβάτης, θέση πλοίου συσχέτιση: κράτηση γιατρός, επίσκεψη, ασθενής, συνταγή, διάγνωση...
Απάντηση 1 ΓΙΑΤΡΟΣ ΕΠΙΣΚΕΨΗ 1 ΔΕΧΕΤΑΙ Ν 1 Ν ΚΑΝΕΙ 1 ΑΣΘΕΝΗΣ ΑΠΟΤΕΛΕΣΜΑ 1 ΣΥΝΤΑΓΗ ΔΙΑΓΝΩΣΗ γιατρός, επίσκεψη, ασθενής, συνταγή, διάγνωση
Απάντηση 2 ΓΙΑΤΡΟΣ ΑΣΘΕΝΗΣ Ν ΕΠΙΣΚΕΨΗ Μ ΔΙΑΓΝΩΣΗ ΣΥΝΤΑΓΗ Παρατηρείτε κάποιο πρόβλημα σε σχέση με τον αριθμό των επισκέψεων; Πιθανή αντιμετώπιση;
Απάντηση 3 ΓΙΑΤΡΟΣ ΑΣΘΕΝΗΣ 1 1 ΔΕΧΕΤΑΙ Ν ΠΡΑΓΜΑΤΟΠΟΙΕΙ Μ Πλέον υποστηρίζονται πολλές δυνητικά επισκέψεις ενός ασθενή στον ίδιο γιατρό. ΕΠΙΣΚΕΨΗ ΗΜ/ΝΙΑ ΣΥΝΤΑΓΗ ΔΙΑΓΝΩΣΗ