Βάσεις Δεδομένων ER-Διάγραμμα
Βασικές Αρχές Μία ΒΔ μπορεί να μοντελοποιηθεί σαν: Διάφορες οντότητες (entities). Συσχετίσεις μεταξύ αυτών (relationships). Μία οντότητα είναι ένα αντικείμενο που είναι ξεχωριστό από άλλα και συνήθως έχει τα δικά του χαρακτηριστικά που θα τα ονομάζουμε γνωρίσματα (attributes) Παράδειγμα: Πελάτης– Όνομα - Επμο Σύνολο οντοτήτων (entity set) είναι ένα σύνολο που περιλαμβάνει όλες τις ομοειδείς οντότητες με κοινά χαρακτηριστικά. Πχ. Πελάτες
Σύνολα οντοτήτων Πελάτης και Δάνειο customer-id customer- customer- customer- loan- amount name street city number
Γνωρίσματα Μία οντότητα χαρακτηρίζεται από τα γνωρίσματά της πχ: Customer(id, name, surname, city). Loan (loan_number, amount). Κάθε γνώρισμα έχει συγκεκριμένο πεδίο ορισμού. Τα γνωρίσματα διακρίνονται σε: Απλά Σύνθετα πχ. ονμο Πολλαπλών Τιμών πχ. τηλέφωνα Παραγόμενα πχ. ηλικία αν έχουμε καταχωρημένη την ημ. γέννησης
Σύνθετα Γνωρίσματα Παράδειγμα
Συσχετίσεις Μία συσχέτιση αναπαριστά σχέση μεταξύ δύο ή περισσοτέρων οντοτήτων. Ένα σύνολα συσχετίσεων αναπαριστά μαθηματική σχέση μεταξύ δύο ή περισσοτέρων οντοτήτων με κάθε μία να ανήκει σε διαφορετικά σύνολα οντοτήτων. {(e1, e2, … en) | e1 E1, e2 E2, …, en En} Πχ. (321-12-3123, L17) borrower
Σύνολο συσχετίσεων Δανείζεται
Συσχετίσεις και γνωρίσματα Ένα σύνολο συσχετίσεων μπορεί να έχει γνωρίσματα
Βαθμός Συνόλου Συσχετίσεων Δείχνει πόσα σύνολα οντοτήτων μετέχουν στο σύνολο συσχετίσεων. - Συνήθως είναι δυαδικές. Παράδειγμα τριαδικής: Έστω ότι θέλουμε να μοντελοποιήσουμε Εργαζόμενους που δουλεύουν σε περισσότερα του ενός Τμήματα και σε κάθε τμήμα κάνουν πιθανώς διαφορετικό είδος Εργασίας.
Πληθικότητα (Cardinality) Δείχνει πόσες οντότητες από κάθε σύνολο οντοτήτων μπορούν να μετέχουν σε μια συσχέτιση. Ιδιαίτερα χρήσιμος χαρακτηρισμός για δυαδικά σύνολα συσχετίσεων. Είδη: 1-1 1-M Μ-1 M-N
Πληθικότητα 1-1 1-Μ Σημείωση: Κάποιες οντότητες του Α ή του Β μπορεί να μη μετέχουν στο σύνολο συσχετίσεων.
Πληθικότητα Μ-1 Μ-Ν
Πληθικότητα Αναλόγως της πληθικότητας μπορεί να αλλάζει το ER-διάγραμμα. Πχ. η τελευταία ημ/νια πρόσβασης (access-date) μπορεί να ενσωματωθεί στο σύνολο οντοτήτων Account
ER-διάγραμμα Σύνολα οντοτήτων: παραλληλόγραμμα Σύνολα συσχετίσεων: ρόμβοι Γνωρίσματα: ελλείψεις συνδεδεμένες με τα σ.οντοτήτων ή σ. συσχετίσεων που χαρακτηρίζουν. Πολλαπλών τιμών: διπλή έλλειψη Παραγόμενα: διακεκομμένη έλλειψη Υπογραμμισμένα γνωρίσματα: πρωτεύοντα κλειδιά
ER-διάγραμμα customer (συν.)
ER-διάγραμμα (συν.) Παράδειγμα συνόλου συσχετίσεων με γνωρίσματα.
Αναπαράσταση πληθικότητας 1-1 Αναπαραστούμε με βέλος το «ένα» και με απλή γραμμή το «πολλά». Εναλλακτικά μπορούμε να γράφουμε τιμές 1 ή Μ πάνω στις ακμές.
Αναπαράσταση πληθικότητας 1-Μ Ένας πελάτης μπορεί να πάρει πολλά δάνεια (ή και κανένα) αλλά ένα δάνειο μπορεί να υπάγεται σε έναν και μόνο πελάτη.
Αναπαράσταση πληθικότητας Μ-1 Ένας πελάτης μπορεί να πάρει ένα και μόνο δάνειο. Ένα δάνειο μπορεί να ανήκει σε πολλούς πελάτες.
Αναπαράσταση πληθικότητας Μ-Ν Ένας πελάτης μπορεί να πάρει πολλά δάνεια. Ένα δάνειο μπορεί να ανήκει σε πολλούς πελάτες.
Περιορισμοί συμμετοχής (participation constraints) Δηλώνουμε υποχρεωτική συμμετοχή χρησιμοποιώντας διπλή γραμμή. Παράδειγμα: Όλα τα δάνεια πρέπει υποχρεωτικά να ανήκουν σε κάποιον πελάτη/ες. Ένας πελάτης δεν είναι υποχρεωτικό να έχει δάνειο.
Αυτοσυσχετίσεις Αυτοσυσχέτιση: Μία συσχέτιση μεταξύ ενός συνόλου οντοτήτων και του εαυτού του. Για να μπορούμε να αναπαριστούμε την πληθικότητα της συσχέτισης βάζουμε ρόλους στις γραμμές (manager, worker).
Κλειδιά (keys) συνόλου οντοτήτων Κλειδί: Ένα ή περισσότερα γνωρίσματα του συνόλου οντοτήτων Υπερκλειδί (superkey): Ένα κλειδί που διαχωρίζει με μοναδικό τρόπο τις οντότητες ενός συνόλου οντοτήτων Υποψήφιο κλειδί: Ένα υπερκλειδί από το οποίο δεν μπορώ να αφαιρέσω γνώρισμα χωρίς αυτό που απομένει να παύει να είναι υπερκλειδί (ιδιότητα αμείωτου) Πρωτεύον κλειδί: Ένα υποψήφιο κλειδί που επιλέγεται να παίζει το ρόλο του διαχωριστή των οντοτήτων σε ένα σύνολο.
Αδύναμα Σύνολα Οντοτήτων Σύνολα οντοτήτων στα οποία δεν μπορεί να οριστεί πρωτεύον κλειδί. Συμβολίζονται με διπλό παραλληλόγραμμο. Συσχετίζεται με κάποιο κύριο σύνολο οντοτήτων. Συμβολίζουμε το αντίστοιχο σύνολο συσχετίσεων με διπλό ρόμβο. - Πρέπει να είναι 1-Μ από το κύριο προς το αδύναμο σύνολο οντοτήτων. Πρέπει να υπάρχει υποχρεωτική συμμετοχή από τη μεριά του αδύναμου συνόλου οντοτήτων. Το πρωτεύον κλειδί του αδύναμου συνόλου σχηματίζεται χρησιμοποιώντας το πρωτεύον κλειδί του κύριου συνόλου οντοτήτων.
Αδύναμα Σύνολα Οντοτήτων Παράδειγμα
ΕΕR – Εξειδικεύσεις/γενικεύσεις Δημιουργία υποσυνόλων από ένα σύνολο οντοτήτων (με ή χωρίς επικάλυψη). Τα υποσύνολα κληρονομούν τα γνωρίσματα του αρχικού συνόλου οντοτήτων και έχουν και επιπλέον δικά τους. Συμβολισμός με ISA τρίγωνο
Παράδειγμα τριαδικού συνόλου συσχετίσεων
Τριαδικές συσχετίσεις (περιορισμοί) Επιτρέπουμε μόνο ένα βελάκι (πληθικότητα 1). Ο λόγος είναι ότι με 2 ακμές πληθικότητας 1 το διάγραμμα γίνεται αμφίσημο. Πχ. Αν έχω R (A, B, C) με πληθικότητα 1 στο Β και C μπορεί να σημαίνει: Κάθε οντότητα Α συσχετίζεται με μία και μόνο του Β και μία του C. ή - Κάθε ζευγάρι (Α, Β) και (Α, C) συσχετίζεται με μία μόνο οντότητα C και B αντίστοιχα.
Δυαδικές vs. τριαδικές Κάποιες τριαδικές συσχετίσεις αναπαρίστανται καλύτερα με δυαδικές. Πχ. R(child, mother , father) Υπάρχουν όμως σύνολα συσχετίσεων που είναι φυσικώς τριαδικά.
Μετατροπή
Μετατροπή Φοιτητής Έδωσε Μάθημα Καθηγητής Διδάσκει Προαπαιτεί Όνομα Επμο ΑΜ Εξαμ Τηλνα Βαθμός Τίτλος ΚωδικόςΜ Καθηγητής Διδάσκει ΚωδικόςΚ Προαπαιτεί