Μοντέλο Οντοτήτων Συσχετίσεων

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advertisements

Γραφήματα & Επίπεδα Γραφήματα
Μάρτιος 2011 Βαρόμετρο ΕΒΕΘ - Καταναλωτές. “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Πρωτογενής έρευνα Hi5, μία μόδα για νέους;. Μεθοδολογία - εργαλεία Η έρευνα διενεργήθηκε με την μέθοδο της συλλογής ερωτηματολογίων, τα οποία και συμπληρώνονταν.
Επιμέλεια: Διογένης Κοσμόπουλος 2ο ΓΕΛ Αργυρούπολης.
Τα στοιχειώδη περί γεωδαιτικών υπολογισμών
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 2. ΣΧΕΣΙΑΚΗ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ • Μια σχεσιακή ΒΔ καταγράφει δεδομένα μέσα σε σχέσεις (πίνακες). • Μια πραγματική οντότητα γίνεται.
Επεκτεταμένο Μοντέλο Οντοτήτων Συσχετίσεων
Βάσεις Δεδομένων.
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό
Βάσεις Γνώσεων Εισαγωγικά του μαθήματος Πάνος Βασιλειάδης Φλεβάρης 2003
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Μοντέλο Οντοτήτων-Συσχετίσεων
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Μοντέλο Οντοτήτων-Συσχετίσεων
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
ΒΑΡΟΜΕΤΡΟ ΕΒΕΘ – ΣΕΠΤΕΜΒΡΙΟΣ 2014 AD – HOC ΕΡΩΤΗΣΕΙΣ.
ΜΟΝΤΕΛΟ Ο-Σ ΜΑΘΗΜΑ 2.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
Καλώς ήρθατε στις Οικονομικές Επιστήμες
Εξάσκηση στην προπαίδεια
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
ΑΠΕΙΚΟΝΙΣΗ ΕΝΝΟΙΩΝ 1. 2 Χρήστης Στόχος Ταμίας διενέργεια πώλησης διενέργεια ενοικίασης εισαγωγή ταμείου εξαγωγή ταμείου * 1 Μοντέλο Πεδίου Προβλήματος.
Συντάχθηκε για λογαριασμό του Τηλεοπτικού Σταθμού ΑΝΤ1 Οκτώβριος 2011 © ΚΥΠΡΙΑΚΟ ΒΑΡΟΜΕΤΡΟ.
Η επιρροή του χώρου εργασίας των σχολικών τάξεων στη μάθηση
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
2006 GfK Praha CORRUPTION CLIMATE IN EUROPE % % % %0 - 10% % % % % % ΚΛΙΜΑ ΔΙΑΦΘΟΡΑΣ Η.
ΠΑΝΕΛΛΑΔΙΚΗ ΠΟΛΙΤΙΚΗ ΕΡΕΥΝΑ ΓΙΑ ΤΟ TVXS.GR Η Palmos Analysis είναι μέλος της ESOMAR και της WAPOR και έχει Αριθμό Μητρώου 11 στο Μητρώο Επιχειρήσεων και.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
Βάσεις Δεδομένων II Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Σεπτέμβρης 2002
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Δημιουργία Σχεσιακού μοντέλου από ERD
Α2 Λυκείου Αργυράδων Ρωτήθηκαν συνολικά 162 άτομα.
Entity Relationship Diagram (ERD) (Διαγράμμα Οντοτήτων Συσχετίσεων)
Παράγοντες καρδιαγγειακού κινδύνου (ΠΚΚ) σε ηλικιωμένους και υπέργηρους με ισχαιμικό αγγειακό εγκεφαλικό επεισόδιο (ι-ΑΕΕ). Η θέση του σακχαρώδη διαβήτη.
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Διαχείριση Συναλλαγών Πάνος Βασιλειάδης Μάρτιος 2014
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Επιθεωρήσεις ΔΚΕΕ ( )  Επιθεωρήσεις : 25  Έκλεισαν Ικανοποιητικά 6 (24%) και Μη Ικανοποιητικά 19 (76%)  Μη Συμμορφώσεις : 257  Διορθωτικές.
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
ΣΥΝΟΛΑ.
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
ΤΑ ΔΟΝΤΙΑ ΜΑΣ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων ER-Διάγραμμα.
Κανονικοποίηση, συναρτησιακές εξαρτήσεις
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Μεταγράφημα παρουσίασης:

Μοντέλο Οντοτήτων Συσχετίσεων Βάσεις Γνώσεων Μοντέλο Οντοτήτων Συσχετίσεων Πάνος Βασιλειάδης pvassil@cs.uoi.gr Φλεβάρης 2003 www.cs.uoi.gr/~pvassil/courses/knowledge_bases/

«Database System Concepts», Silberschatz, Korth & Sudarshan Περιεχόμενα Βασισμένο στο «Database System Concepts», Silberschatz, Korth & Sudarshan Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων Κλειδιά, Ρόλοι και Βαθμός Συσχέτισης Περιορισμοί Ειδικά Θέματα Προβληματισμοί για τον σχεδιαστή Σύνοψη Γραφικής Αναπαράστασης

Περιεχόμενα Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων Κλειδιά, Ρόλοι και Βαθμός Συσχέτισης Περιορισμοί Ειδικά Θέματα Προβληματισμοί για τον σχεδιαστή Σύνοψη Γραφικής Αναπαράστασης

Μοντέλο Οντοτήτων Συσχετίσεων Το μοντέλο Οντοτήτων Συσχετίσεων (Entity Relationship Model – ER Model) είναι ένα εννοιολογικό μοντέλο ... ... που χρησιμοποιείται για να καταγράψει τις απαιτήσεις των χρηστών ενός νέου πληροφοριακού συστήματος ... ... με γραφικό τρόπο (άρα, πιο τυπικά από μια αναπαράστασή τους σε φυσική γλώσσα).

Μοντέλο Οντοτήτων Συσχετίσεων Μια βάση δεδομένων μπορεί να μοντελοποιηθεί εννοιολογικά σαν: Ένα σύνολο οντοτήτων (entities), Συσχετίσεις (relationships) μεταξύ των οντοτήτων αυτών. Εννοιολογική Μοντελοποίηση  Conceptual Modeling. Εναλλακτικά: Ιδεατή, Σημασιολογική, Οντολογική ...

Περιεχόμενα Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων Κλειδιά, Ρόλοι και Βαθμός Συσχέτισης Περιορισμοί Ειδικά Θέματα Προβληματισμοί για τον σχεδιαστή Σύνοψη Γραφικής Αναπαράστασης

Οντότητες Μια οντότητα (entity) είναι ένα υπαρκτό αντικείμενο, που είναι διακριτό από τα άλλα αντικείμενα της ΒΔ Π.χ., ο άνθρωπος Βασίλης, το αυτοκίνητο ΤοΑμάξιΜου, η εταιρεία Αλογάκι ΑΕ, κλπ.

Τύποι Οντοτήτων (Entity Types ή Sets) Ένα τύπος οντοτήτων είναι ένα σύνολο από σημασιολογικά όμοιες οντότητες Π.χ., το σύνολο όλων των υπαλλήλων μιας εταιρείας, το σύνολο όλων των αυτοκινήτων κλπ ΠΡΟΣΟΧΗ: Άλλο οντότητα και άλλο τύπος οντοτήτων! Στον προφορικό λόγο, συνηθίζεται να τα συγχέουμε...

Τύποι Οντοτήτων Customer Car Person Company

Γνωρίσματα (Attributes) Τα γνωρίσματα είναι ιδιότητες των οντοτήτων που σκοπό έχουν να τις περιγράψουν Όλες οι οντότητες ενός τύπου οντοτήτων έχουν τα ίδια γνωρίσματα Πολλές φορές περιγράφουμε ένα τύπο οντοτήτων με το όνομά του και το σύνολο των γνωρισμάτων του. Π.χ., customer = (customer-id, customer-name, customer-street, customer-city) loan = (loan-number, amount)

Γνωρίσματα (Attributes) Π.χ., ο άνθρωπος Βασίλης, έχει Όνομα και Διεύθυνση, με τιμές «Βασίλης Τσάρτας» και «Καππαδοκίας 2» αντίστοιχα. ΠΡΟΣΟΧΗ: Σε αντίθεση με το σχεσιακό μοντέλο, στο ER μοντέλο είναι επιτρεπτό να ορίσουμε οντότητες χωρίς γνωρίσματα!

Τύποι Οντοτήτων (Entity Types ή Sets) Θα θεωρήσουμε ότι η σημασιολογική ομοιότητα αντανακλάται στη δομική ομοιότητα, ήτοι, οι οντότητες του ιδίου τύπου έχουν τα ίδια γνωρίσματα. Θα συναντήσετε την ορολογία Entity Sets (σύνολο από σημασιολογικά όμοιες οντότητες) και Entity Types (καλούπι για γνωρίσματα) στη βάση του παραπάνω διαχωρισμού.

Σύνολα οντοτήτων customer και loan customer-id customer- customer- customer- loan- amount name street city number

Πεδία ορισμού (Domains) Πεδίο Ορισμού είναι το σύνολο των επιτρεπτών τιμών για κάθε γνώρισμα Π.χ., το πεδίο έχει Ηλικία έχει ως τιμές το εύρος των ακεραίων τιμών [0..140]. ΠΡΟΣΟΧΗ: τα attributes τα αποκαλούμε πολλές φορές «πεδία». Αυτό είναι αποδεκτό, αρκεί να μην τα συγχέουμε με τα «πεδία ορισμού» τους.

Κατηγοριοποίηση των γνωρισμάτων Απλά (ή Ατομικά) και Σύνθετα (γνωρίσματα που μπορούν να αποσυντεθούν σε επί μέρους γνωρίσματα) Μονότιμα (μια οντότητα επιτρέπεται να έχει το πολύ μια τιμή σε αυτό το γνώρισμά της) και πλειότιμα (... περισσότερες από μία...) Π.χ., τα τηλέφωνα ενός Ανθρώπου Αποθηκευμένα και Παραγόμενα (που μπορούν να υπολογισθούν από άλλα γνωρίσματα) Π.χ., η ηλικία υπολογιζόμενη από την Ημ. Γέννησης

Σύνθετα Γνωρίσματα

Τιμή NULL NULL τιμή: ειδική τιμή την οποία χρησιμοποιούμε όταν Υπάρχει τιμή, αλλά δεν την ξέρουμε (π.χ., το γνώρισμα Τηλέφωνο για την οντότητα Πρωθυπουργός), ή Δεν ξέρουμε αν υπάρχει τιμή (π.χ., το γνώρισμα ΚινητόΤηλέφωνο για την οντότητα Πρωθυπουργός), ή Η τιμή δεν ορίζεται (π.χ., το γνώρισμα Husband για την οντότητα Κώστας) για ένα γνώρισμα μιας συγκεκριμένης οντότητας

Τιμή NULL Με βάση τα προηγούμενα, ένα γνώρισμα δεν υπάρχει/ορίζεται για μια οντότητα, τότε αυτή ΔΕΝ μπορεί να ανήκει στον αντίστοιχο τύπο οντοτήτων. Η καθημερινή πρακτική όμως, ξεπέρασε το θεωρητικό περιορισμό, με αποτέλεσμα να προσεγγίσουμε ξανά τη θεωρητική θεμελίωση, εισάγοντας και NULL τιμές (και μάλιστα, πολλών ειδών, όπως είπαμε)

Γραφική Αναπαράσταση Τύπων Οντοτήτων Customer Παραλληλόγραμμα για τύπους οντοτήτων Ελλείψεις για γνωρίσματα Διπλές ελλείψεις για πλειότιμα γνωρίσματα. Διακεκομμένες ελλείψεις για παραγόμενα γνωρίσματα. Ακμές για να συνδέσουν τύπους οντοτήτων με γνωρίσματα Υπογράμμιση για πρωτεύοντα κλειδιά (στη συνέχεια...) Cust-Id Phones Age

Γραφική Αναπαράσταση Τύπων Οντοτήτων

Περιεχόμενα Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων Κλειδιά, Ρόλοι και Βαθμός Συσχέτισης Περιορισμοί Ειδικά Θέματα Προβληματισμοί για τον σχεδιαστή Σύνοψη Γραφικής Αναπαράστασης

Συσχετίσεις (Relationships) Μια συσχέτιση είναι μια εννοιολογική σύνδεση μεταξύ κάποιων οντοτήτων. Π.χ., Οντότητα Μιχάλης του Τ.Ο. Άνθρωπος Οντότητα LiverBird-ΑΕ του Τ.Ο. Εταιρεία Συσχέτιση Εργάζεται-Για Με τον όρο «σχέση» συνήθως αναφερόμαστε στο σχεσιακό μοντέλο. Στο ER μοντέλο χρησιμοποιούμε τον όρο «συσχέτιση»

Τύποι Συσχετίσεων (Relationship Type ή Set) Τυπικά, πρόκειται για το σύνολο συσχετίσεων {(e1, e2, … en) | e1  E1, e2  E2, …, en  En} όπου το (e1, e2, …, en) είναι μια συσχέτιση, τα ei είναι οντότητες και Eι τα είναι τύποι οντοτήτων

Τύπος Συσχέτισης Borrower (321-12-3123,L-17), (019-28-3746,L-23), (019-28-3746,L-11), …, (335-57-7991,L-16) }

Μη σκέφτεστε έτσι... Loan Customer l1 c1 l2 c2 l3

…αλλά έτσι !!! Loan Customer c1_l1 l1 c1 l2 c2 c2_l2 l3 c2_l3

Τύποι Συσχέτισης – ΠΡΟΣΟΧΗ! Όπως και με τους τύπους οντοτήτων, οι έννοιες «σύνολο συσχέτισης» και «τύπος συσχέτισης» αναφέρονται στη σημασιολογική και δομική ομοιότητα, αντίστοιχα. Ούτε εδώ θα κάνουμε διάκριση... Όπως και με τις οντότητες, άλλο είναι η συσχέτιση και άλλο ο τύπος συσχέτισης. Ομοίως, και εδώ, συχνά στον προφορικό λόγο τα συγχέουμε ...

Τύποι Συσχετίσεων και Γνωρίσματα Ένας τύπος συσχετίσεων μπορεί να έχει και αυτός γνωρίσματα Π.χ., ο τύπος συσχετίσεων depositor μεταξύ των customer και account μπορεί να χαρακτηρίζεται και από το γνώρισμα access-date

Τύποι Συσχετίσεων και Γνωρίσματα

Γραφική Αναπαράσταση Τύπων Συσχετίσεων

Τυπικός Ορισμός e μια οντότητα E = {e1,…,en} ένα σύνολο οντοτήτων r = [e1,…,en], τ.ω., e1E1,…,enEn μια συσχέτιση R={r1,…,rm}={[e1,…,en] | e1E1,…,enEn} ένα σύνολο συσχετίσεων

Τυπικός Ορισμός Ω ένα άπειρο απαριθμήσιμο σύνολο τιμών = πεδίο ορισμού P(Ω) το δυναμοσύνολο του Ω f: Τ->Ω μονότιμο, απλό γνώρισμα f: Τ->P(Ω) πλειότιμο, απλό γνώρισμα f: Τ->Ω1x…xΩn μονότιμο, σύνθετο γνώρισμα f: Τ->P(Ω1x…xΩn) πλειότιμο, σύνθετο γνώρισμα όπου Τ μπορεί να είναι μια οντότητα Ε, ή μια συσχέτιση R Συμβολισμός: dom(Τ) το πεδίο ορισμού του Τ

Περιεχόμενα Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων Κλειδιά, Ρόλοι και Βαθμός Συσχέτισης Περιορισμοί Ειδικά Θέματα Προβληματισμοί για τον σχεδιαστή Σύνοψη Γραφικής Αναπαράστασης

Κλειδιά για Τύπους Οντοτήτων Υπερκλειδί (super key) ενός τύπου οντοτήτων είναι ένα σύνολο γνωρισμάτων των οποίων οι τιμές καθορίζουν μονοσήμαντα μια οντότητα του εν λόγω τύπου οντοτήτων. Υποψήφιο κλειδί (candidate key) είναι ένα υπερκλειδί με το ελάχιστο μέγεθος (ήτοι, αριθμό γνωρισμάτων) μεταξύ των υπερκλειδιών Πρωτεύον κλειδί (primary key) είναι ένα υποψήφιο κλειδί το οποίο ορίζει ο σχεδιαστής της ΒΔ. ... θα το αποκαλούμε και απλώς κλειδί

Κλειδιά Υπερκλειδιά: Υποψήφια κλειδιά: Κλειδί ΑΤ ΑΦΜ Υπερκλειδιά: ΑΤ, Όνομα ΑΤ, Όνομα, Δ/ση ΑΦΜ, ΑΤ, Όνομα, Δ/ση ΑΦΜ ... και άλλα... Υποψήφια κλειδιά: ΑΤ Κλειδί Πελάτης Όνομα Δ/ση Ελάχιστο μέγεθος υπερκλειδιού = 1 Διότι έτσι διαλέγω ως σχεδιαστής...

Ιδιότητες (Υποψηφίου) Κλειδιού Μοναδικότητα: Δεν μπορώ να έχω δύο διαφορετικές οντότητες με ίδιο κλειδί (εναλλακτικά: αν δύο οντότητες βρεθούν να έχουν το ίδιο κλειδί, τελικά πρόκειται για την ίδια οντότητα) Ελαχιστότητα: Δεν υπάρχει γνήσιο υποσύνολο του κλειδιού που να έχει την προηγούμενη ιδιότητα

Κλειδιά ΠΡΟΣΟΧΗ: από την στιγμή που ορίσουμε γνωρίσματα σε ένα τύπο οντοτήτων πρέπει να ορίσουμε και πρωτεύον κλειδί!!

Κλειδιά για Τύπους Συσχετίσεων Ο συνδυασμός των κλειδιών των εμπλεκομένων τύπων οντοτήτων συνήθως φτιάχνει ένα υπερκλειδί για τον τύπο συσχετίσεων. Π.χ., customer-id, account-number είναι το υπερκλειδί του depositor

Κλειδιά για Τύπους Συσχετίσεων Αν όμως, κάποιος θέλει να βάλει δύο φορές χρήματα στο λογαριασμό του ? Τυπικά ορθή λύση: το access-date πλειότιμο γνώρισμα ή νέα οντότητα Εναλλακτική λύση: το access-date τμήμα του κλειδιού ΠΡΟΣΟΧΗ: η τυπική θεωρία δεν το προβλέπει [στα βιβλία δεν αναφέρεται], αλλά πρακτικά μπορεί να χρησιμοποιηθεί!!!

Ρόλοι και Αυτοσυσχετίσεις Οι ρόλοι είναι ταμπέλες που βάζουμε στις ακμές ενός τύπου συσχέτισης για να δείξουμε περιγραφικά τη σημασία της συμμετοχής ενός τύπου οντοτήτων στον εν λόγω τύπο συσχετίσεων. Οι τύποι οντοτήτων που συμμετέχουν σε ένα τύπο συσχέτισης δεν είναι απαραίτητα διαφορετικοί μεταξύ τους – ο εν λόγω τύπος συσχετίσεως καλείται τύπος αυτοσυσχέτισης.

Ρόλοι & Αυτοσυσχετίσεις Ρόλοι & Αυτοσυσχετίσεις Οι ρόλοι manager και worker περιγράφουν πώς οι υπάλληλοι συμμετέχουν στην αυτοσυσχέτιση works-for. Οι ρόλοι είναι προαιρετικοί και συνήθως χρησιμοποιούνται σε περιπτώσεις όπου το διάγραμμα είναι εννοιολογικά ασαφές (π.χ., αυτοσυσχετίσεις)

Βαθμός (Degree) Τύπου Συσχέτισης Ο βαθμός ενός τύπου συσχέτισης αναφέρεται στον αριθμό των οντοτήτων που υποχρεωτικώς συμμετέχουν σε μια συσχέτιση. Ένας τύπος συσχέτισης που περιλαμβάνει 2 οντότητες ονομάζεται δυαδικός (binary), 3 οντότητες τριαδικός (ternary), κ.ο.κ. Οι πιο συνηθισμένοι τύποι συσχετίσεων είναι δυαδικοί, ενώ οι υπόλοιποι τύποι συσχετίσεων είναι μάλλον σπάνιοι...

Βαθμός (Degree) Τύπου Συσχέτισης Αν υποθέσουμε ότι ένας υπάλληλος μιας τράπεζας μπορεί να έχει διαφορετικά καθήκοντα σε διαφορετικούς τομείς της τράπεζας, προκύπτει ένας τριαδικός τύπος συσχέτισης ανάμεσα στους τύπους οντοτήτων Υπάλληλος, Καθήκον και Tομέας.

 t1,t2Τ, t1t2 => t1[I]t2[I] Τυπικός Ορισμός Αν δύο οντότητες βρεθούν να έχουν το ίδιο κλειδί, τελικά πρόκειται για την ίδια οντότητα Έστω Ι ένα σύνολο γνωρισμάτων και T μια οντότητα ή συσχέτιση. Αν tΤ, t[Ι] είναι η τιμή του t για τα γνωρίσματα I. Το κλειδί ορίζεται ως ο ακόλουθος περιορισμός:  t1,t2Τ, t1[I]=t2[I] => t1t2 ή  t1,t2Τ, t1t2 => t1[I]t2[I]

ER Διάγραμμα Το διάγραμμα οντοτήτων συσχετίσεων (ER Diagram) για μια βάση δεδομένων είναι μια γραφική αναπαράσταση των καταστάσεων που είναι πιθανές (και επιτρεπτές) στον υπό μοντελοποίηση κόσμο

ER Διάγραμμα

Περιεχόμενα Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων Κλειδιά, Ρόλοι και Βαθμός Συσχέτισης Περιορισμοί Ειδικά Θέματα Προβληματισμοί για τον σχεδιαστή Σύνοψη Γραφικής Αναπαράστασης

Άνω και Κάτω Όριο Συσχέτισης Για την ακμή ενός τύπου συσχετίσεων R, που την συσχετίζει ένα τύπο οντοτήτων E μπορούμε να καταγράψουμε Το Κάτω Όριο Συμμετοχής: για κάθε οντότητα που ανήκει στο E, πόσες ακμές κατ’ ελάχιστον πρέπει να ξεκινούν προς συσχετίσεις του R Το Άνω Όριο Συμμετοχής: για κάθε οντότητα που ανήκει στο E, πόσες ακμές το πολύ πρέπει να ξεκινούν προς συσχετίσεις του R

Γραφική Αναπαράσταση Πληθικότητας και Συμμετοχής Κάτω όριο Άνω όριο Άνω όριο Κάτω όριο

Μη σκέφτεστε έτσι... Loan Customer l1 c1 l2 c2 c3 l3

…αλλά έτσι !!! Loan Customer Κάθε ci έχει 0..Ν ακμές c1_l1 l1 c1 l2 c2 c2_l2 c3 l3 c2_l3 Κάθε ci έχει 0..Ν ακμές Κάθε lj έχει 1..1 ακμές

Άνω και Κάτω Όριο Συσχέτισης Αν το κάτω όριο είναι 0, τότε υπάρχουν οντότητες της Ε που μπορούν και να μην συμμετέχουν στον τύπο συσχετίσεων R Αλλιώς, η συμμετοχή είναι υποχρεωτική (ολική) Αν το άνω όριο είναι 1, τότε μια οντότητα της Ε μπορεί να συσχετίζεται με μία το πολύ συσχέτιση της R Αλλιώς, με πολλές

Επιτρέπεται και ... 3..4 1..1 Ένας customer σχετίζεται με τουλάχιστον 3 ως το πολύ 4 loan μέσω της borrower Ένα loan σχετίζεται ακριβώς με ένα customer μέσω της borrower

Τυπικός Ορισμός Για μια δυαδική συσχέτιση συσχέτιση R μεταξύ των A,B: Άνω όριο Cmax[R(Α|Β)] = Κ, Κ > 0  aΑ, Card[{<a,b>|<a,b>R}]<=K Κάτω όριο Cmin[R(Α|Β)] = Κ, Κ >=0  aΑ, Card[{<a,b>|<a,b>R}]>=K όπου για ένα σύνολο S={x|c}, το S αποτελείται από τα στοιχεία x, για τα οποία ισχύει η c Card[S] είναι ο αριθμός των στοιχείων του S

 aΑ, Card[{<a,b>|<a,b>R}] <= K Μετάφραση  aΑ, Card[{<a,b>|<a,b>R}] <= K Για κάθε οντότητα aΑ, ο αριθμός των στοιχείων ri=<a,b> που ανήκουν στην R είναι μικρότερος ή ίσος από K Κάθε στοιχείο της συσχέτισης R ορίζεται σαν ένα ζεύγος ri=<a,b> Ισοδύναμα, αντί να σκεφτόμαστε τα στοιχεία ri=<a,b> που σχετίζονται με την οντότητα a, μπορούμε να μετράμε τις ακμές που ξεκινούν από το a προς την συσχέτιση R.

Τυπικός Ορισμός Cmax[R(Α|Β)] = 2 Cmin[R(Α|Β)] = 0 Cmax[R(B|A)] = 1 Cmin[R(B|A)] = 1 R Β Α <a1,b1> b1 a1 b2 a2 <a2,b2> a3 b3 <a2,b3> Κάθε ai έχει 0..2 ακμές Κάθε bj έχει 1..1 ακμές

Πληθικότητα και Λόγος Πληθικότητας Η πληθικότητα (cardinality), περιγράφει πόσες οντότητες από ένα τύπο οντοτήτων μπορούν να αντιστοιχισθούν σε μία οντότητα ενός άλλου τύπου οντοτήτων μέσω του εμπλεκομένου τύπου συσχετίσεων Ο λόγος πληθικότητας (cardinality ratio) σε ένα δυαδικό τύπο συσχετίσεων περιγράφει το συνδυασμό των πληθικοτήτων μιας συσχέτισης

Πληθικότητα Πληθικότητα Α = Ν: Μία (1) οντότητα από το Β, αντιστοιχίζεται σε πολλές (Ν) οντότητες από το Α Πληθικότητα Β = 1: Μία (1) οντότητα από το Α, αντιστοιχίζεται σε μία (1) οντότητα από το Β Η πληθικότητα ενός Τ.Ο. Χ περιγράφει πόσες οντότητες από ένα Τ.Ο. Χ μπορούν να αντιστοιχισθούν σε μία (1) οντότητα ενός άλλου Τ.Ο. Y μέσω του εμπλεκομένου τύπου συσχετίσεων X-Y Ν:1

Λόγος Πληθικότητας Σε ένα δυαδικό τύπο συσχετίσεων ο λόγος πληθικότητας μπορεί να είναι: 1:1 1:Ν ή Ν:1 Ν:Μ

Λόγος Πληθικότητας 1:1 1:Ν

Λόγος Πληθικότητας Ν:1 Ν:Μ

Λόγος Πληθικότητας 1:Ν 1 Ν Ένας customer σχετίζεται με πολλά (ίσως και με 0) loan μέσω της borrower Ένα loan σχετίζεται το πολύ με ένα (ίσως και με 0) customer μέσω της borrower

Συμμετοχή Οντοτήτων σε Συσχετίσεις Ολική Συμμετοχή (Total participation): κάθε οντότητα του εμπλεκόμενου τύπου οντοτήτων συμμετέχει υποχρεωτικά σε τουλάχιστον μία συσχέτιση του σχετικού τύπου συσχετίσεων Αναπαριστάται με διπλή γραμμή Μερική Συμμετοχή (Partial participation): επιτρέπεται κάποιες οντότητες να μην συμμετέχουν σε συσχέτιση του σχετικού τύπου συσχετίσεων

Συμμετοχή Οντοτήτων σε Συσχετίσεις Η συμμετοχή του customer στην borrower είναι μερική Η συμμετοχή του loan στην borrower είναι ολική Ήτοι, κάθε loan πρέπει να σχετίζεται μέσω της borrower με ένα customer

Εξάρτηση ύπαρξης (existential dependency) Αν η ύπαρξη της δευτερεύουσας οντότητας y εξαρτάται από την ύπαρξη της κύριας οντότητας x => o y είναι υπαρξιακά εξαρτημένος από τον x payment loan loan-payment Αν διαγραφεί ένα loan τότε πρέπει να διαγραφούν όλες οι σχετικές payment ΠΡΟΣΟΧΗ: στο βιβλίο ΔΕΝ γίνεται η σχετική νύξη!

Γραφική Αναπαράσταση Πληθικότητας και Συμμετοχής Η απλή γραμμή σημαίνει σχέση Μ:Ν Ένας customer σχετίζεται με πολλά (ίσως και 0) loans μέσω της borrower Ένα loan σχετίζεται με πολλούς (ίσως και 0) customers μέσω της borrower

Γραφική Αναπαράσταση Πληθικότητας και Συμμετοχής 1 Ν Ένας customer σχετίζεται με πολλά (ίσως και με 0) loan μέσω της borrower Ένα loan σχετίζεται ακριβώς με ένα customer μέσω της borrower

Σωστό ή λάθος? Συμμετοχή customer Πληθικότητα customer Πληθικότητα loan Συμμετοχή loan

Οδηγίες Χρησιμοποιήστε άφοβα τον συμβολισμό [κάτω όριο..άνω όριο]. Είναι πιο σίγουρος (για να μην κάνετε λάθη) Είναι πιο εκφραστικός (επιτρέπει και όρια, αντί μόνο για πληθικότητες) Ο συμβολισμός με τους λόγους πληθικότητας είναι πιο εύχρηστος Αν είστε σίγουροι, είναι πιο γρήγορος και κομψός

Εναλλακτικές αναπαραστάσεις Ίσως πιο παράξενες, αλλά ευρέως διαδεδομένες Βελάκι  για «ένα» (1) Απλή γραμμή — για πολλά (Ν ή *)

Ένα προς Ένα Ένας customer σχετίζεται το πολύ με ένα (ίσως και με 0) loan μέσω της borrower Ένα loan σχετίζεται το πολύ με ένα (ίσως και με 0) customer μέσω της borrower

Ένα προς Πολλά Ένας customer σχετίζεται με πολλά (ίσως και με 0) loan μέσω της borrower Ένα loan σχετίζεται το πολύ με ένα (ίσως και με 0) customer μέσω της borrower

Πολλά προς Ένα Ένας customer σχετίζεται το πολύ με ένα (ίσως και με 0) loan μέσω της borrower Ένα loan σχετίζεται με πολλά (ίσως και με 0) customer μέσω της borrower

Παγκόσμιος Κανόνας Ότι γράφεται εύκολα (και γρήγορα), διαβάζεται δύσκολα (και αργά) Ότι γράφεται δύσκολα (και αργά), διαβάζεται εύκολα (και γρήγορα) …, SQL, Unix, Prolog, Γραμμική Β’, ζωγραφική, ...  Στο διαγώνισμα, προσέξτε τι γράφετε και πώς…

Περιεχόμενα Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων Κλειδιά, Ρόλοι και Βαθμός Συσχέτισης Περιορισμοί Ειδικά Θέματα Προβληματισμοί για τον σχεδιαστή Σύνοψη Γραφικής Αναπαράστασης

Ασθενείς Τύποι Οντοτήτων Ασθενής Τύπος Οντοτήτων (Weak Entity Type): Ένας τύπος οντοτήτων στον οποίο δεν μπορούμε να ορίσουμε πρωτεύον κλειδί με βάση τα γνωρίσματά του και μόνο Οι οντότητες ενός ασθενούς τύπου προσδιορίζονται και εξαρτώνται από τις οντότητες κάποιου άλλου τύπου οντοτήτων, τον οποίο και αποκαλούμε προσδιορίζοντα (identifying) ή ιδιοκτήτη (owner) τύπο οντοτήτων. Ο ασθενής τύπος σχετίζεται με τον προσδιορίζοντα τύπο μέσω ενός ολικού, 1:Ν, τύπου συσχετίσεων από τον προσδιορίζοντα προς τον ασθενή. Επίσης, και «μη ισχυρός», ή «αδύναμος» Τ.Ο.

Ασθενείς Τύποι Οντοτήτων Το μερικό κλειδί (partial key) μιας ασθενούς οντότητας, είναι εκείνο το σύνολο γνωρισμάτων της που την κάνει να ξεχωρίζει από τις υπόλοιπες οντότητες που αντιστοιχούν στην ίδια οντότητα-ιδιοκτήτη Το πρωτεύον κλειδί ενός ασθενούς τύπου οντοτήτων είναι η ένωση του πρωτεύοντος κλειδιού του τύπου ιδιοκτήτη της με το μερικό κλειδί της (ένωση, διότι τα κλειδιά είναι σύνολα γνωρισμάτων)

Ασθενείς Τύποι Οντοτήτων Ένας ασθενής τύπος οντοτήτων αναπαριστάται με διπλή γραμμή στο παραλληλόγραμμό του. Η συσχέτιση που τον προσδιορίζει (τον συνδέει, δηλ., με τον ιδιοκτήτη τύπο) έχει επίσης διπλή γραμμή Το μερικό κλειδί υπογραμμίζεται με διακεκομμένη γραμμή

Ασθενείς Τύποι Οντοτήτων Ασθενής οντότητα: payment Μερικό κλειδί: payment-number Κλειδί του payment : (loan-number, payment-number)

Ασθενείς Τύποι Οντοτήτων Μπορούμε να ορίσουμε μια ασθενή οντότητα έχουσα ιδιοκτήτη μια επίσης ασθενή οντότητα (μεταβατική ιδιότητα) Απαγορεύεται προφανώς να υπάρξει κύκλος στην προσδιορίζουσα σχέση των παραπάνω ασθενών οντοτήτων... Το κλειδί κάθε φορά προκύπτει από τη σταδιακή ένωση των επί μέρους κλειδιών...

Τριαδικές Σχέσεις

Πληθικότητα και Συμμετοχή σε Τριαδικές Συσχετίσεις Χρησιμοποιείστε τον φορμαλισμό [n1..n2], αν πρέπει να ορίσετε και συμμετοχές και πληθικότητα ΠΑΝΤΑ η πληθικότητα της οντότητας μετράται σε σχέση με την συσχέτιση Το ίδιο ισχύει και στην απίθανη περίπτωση που έχετε συσχέτιση μεγαλύτερου βαθμού...

Ποτέ μη σκέφτεστε έτσι... Job Employee Branch Works-On j1 j2 j3 e1 b1

…αλλά έτσι !!! Job Employee Branch Works-On j1 j2 j3 e1 b1 e2 b2 e3 e1b1j1 b2 e3 e1b1j2 e2b2j2 e3b2j3 Works-On

Τυπικός Ορισμός Για μια n-κή συσχέτιση R μεταξύ των E1,E2,…,En, W=Z-(ΧΥ) Άνω όριο Cmax[R(X|Y)] = Κ, Κ > 0 xX, Card[{<x,y1>|w1W:<x,y1,w1>R}]<=K Κάτω όριο Cmin[R(X|Y)] = Κ, Κ >= 0 xX, Card[{<x,y1>|w1W:<x,y1,w1>R}]>=K

xX, Card[{<x,y1>|w1W:<x,y1,w1>R}]<=K Μετάφραση xX, Card[{<x,y1>|w1W:<x,y1,w1>R}]<=K Για κάθε οντότητα xX, ο αριθμός των στοιχείων εκείνων που ανήκουν στην R, και τα οποία, για τα σύνολα οντοτήτων Χ,Υ παίρνουν τις τιμές r1=<x,y1>, r2=<x,y2>,…,rn είναι μικρότερος ή ίσος από K Κάθε στοιχείο της συσχέτισης R ορίζεται σαν μια n-άδα ri=<e1,…,en>. Επειδή τους τύπους οντοτήτων Ε1,…,Εn τους έχουμε χωρίσει σε τρία γκρουπ, Χ,Υ,W, μπορούμε να γράψουμε το εν λόγω στοιχείο ως μια τριάδα ri=<x,y,w>

Επί παραδείγματι ... {<e1,b1>|w1W:<e1,b1,w1>R}={<e1,b1,j1>, <e1,b1,j2>} Employee j1 j2 j3 Job Branch e1 b1 e2 e1b1j1 b2 e3 e1b1j2 e2b2j2 e3b2j3 Works-On

Επί παραδείγματι ... Cmax[W-O(Job|Employee)] = 10 Μια δουλειά μπορεί να την κάνουν το πολύ 10 άτομα Cmax[W-O(Job,Employee|Branch)] = 1 Ένας άνθρωπος, μια δουλειά μπορεί να την κάνει το πολύ σε ένα τμήμα άτομα Cmin[W-O(Employee|Job)] = 5 Ένας υπάλληλος κάνει τουλάχιστον 5 δουλειές

Τριαδικές Σχέσεις Οι τριαδικές σχέσεις είναι συνήθως N:M:K Για κάθε ζεύγος employee,branch υπάρχει ακριβώς μια job (ήτοι, ένας υπάλληλος κάνει ακριβώς μία δουλειά σε κάθε παράρτημα που δουλεύει) 1 Ν Μ

Μετασχηματισμός Τριαδικών σε Δυαδικές Συσχετίσεις Αντί για τον τύπο συσχέτισης R μεταξύ των A, B και C, εισήγαγε τον τύπο οντοτήτων E, και 3 τύπους συσχετίσεων: 1. RA, μεταξύ E & A 2.RB, μεταξύ E & B 3. RC, μεταξύ E & C Εισήγαγε τεχνητό κλειδί για την E Πρόσθεσε όλα τα γνωρίσματα της R στην E Για κάθε συσχέτιση (ai , bi , ci) της R, φτιάξε 1. οντότητα ei που ανήκει στην E 2. πρόσθεσε (ei , ai ) στο RA 3. πρόσθεσε (ei , bi ) στο RB 4. πρόσθεσε (ei , ci ) στο RC

Μετασχηματισμός Τριαδικών σε Δυαδικές Συσχετίσεις Θυμηθείτε να προσθέσετε όποιους περιορισμούς είχε η παλιά τριαδική συσχέτιση Είναι πιθανόν να χάσετε κάποιους ...

Περιεχόμενα Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων Κλειδιά, Ρόλοι και Βαθμός Συσχέτισης Περιορισμοί Ειδικά Θέματα Προβληματισμοί για τον σχεδιαστή Σύνοψη Γραφικής Αναπαράστασης

Σχεδιαστικοί Προβληματισμοί Πρόβλημα: έχετε ένα πελάτη που σας περιγράφει τη ΒΔ που θέλει να του φτιάξετε. Ο πελάτης ξέρει περίπου τι θέλει. Πρέπει να καταγράψετε αυτά που ο πελάτης θέλει (κι ας μην τα ξέρει πλήρως), και δεν πρέπει να φτιάξετε μια ΒΔ που να είναι εντελώς άσχετη με αυτά που σκέφτεται ο πελάτης => ακούμε με προσοχή! ΔΕΝ γίνεται με την πρώτη => κάνουμε υπομονή στις αλλαγές, είναι μέρος του προβλήματος...

Σχεδιαστικοί Προβληματισμοί Υπάρχουν πράγματα που ΔΕΝ μπορεί να καταγράψει το ER μοντέλο => τα καταγράφουμε με κάποια γλώσσα (φυσική, γραφική, τυπική,...) εξωτερικά του μοντέλου! Πάντα, όμως, καταγράφουμε μέσα στο διάγραμμα όσα περισσότερα στοιχεία μπορούμε!! Μην ξεχνάτε την συνέπεια του διαγράμματος: πρέπει να είναι συντακτικό σωστό!! Μην ξεχνάτε τα κλειδιά: αφορούν τη συνέπεια των περιεχομένων του διαγράμματος!!

Επανάληψη μητήρ πάσας ασυνεπείας... Customer Cust-Id Loan Loan-Id C-Name Λάθος! Customer Loan Cust-Id Loan-Id C-Name Σωστό!

Επανάληψη μητήρ πάσας ασυνεπείας... Customer Loan Loan Cust-Id Loan-Id Loan-Id C-Name C-Name Cust-Id Σωστό! Λάθος επίσης!

Σχεδιαστικοί Προβληματισμοί Οντότητα ή Γνώρισμα? Η εκλογή εξαρτάται από το context της μοντελοποίησης και τη σημασία της εν λόγω οντότητας / γνώρισμα. Απλοϊκός κανόνας [συνήθως σωστός]: Όταν κάτι είναι παραπάνω από ένα όνομα ή ένα id, με αλληλοεξαρτήσεις μεταξύ γνωρισμάτων, τότε είναι οντότητα! Όταν κάτι μοιράζεται από περισσότερες από μία οντότητες (π.χ., υπάρχουν συσχετίσεις προς αυτό) τότε είναι υποχρεωτικά οντότητα! Όταν κάτι είναι το «Ν» σε μια συσχέτιση Ν:1, τότε είναι οντότητα! (προτιμήστε οντότητες, αντί για πλειότιμα γνωρίσματα)

Σχεδιαστικοί Προβληματισμοί Οντότητα ή Συσχέτιση? Υπάρχει ένα «άγραφος» κανόνας που, δοθείσης μιας λεκτικής περιγραφής σχετίζει τα ουσιαστικά με οντότητες και τα ρήματα με συσχετίσεις. Επικίνδυνος!! (τι είναι η «κατάθεση» χρημάτων?)

Σχεδιαστικοί Προβληματισμοί Δυαδικές ή n-ary συσχετίσεις? Κατ’ αρχήν προσπαθούμε να διατηρήσουμε την πιο φυσιολογική σε σχέση με τον πραγματικό κόσμο! Προσοχή στις n-ary! Παράδειγμα: η σχέση parent. Ενώ μπορεί κάλλιστα να μοντελοποιήσει τριάδες <father,mother,child> (π.χ., Δίας, Ήρα,Άρης), έχει και προβλήματα (π.χ., Δίας,NULL,Αθηνά). Σε τέτοιες περιπτώσεις, τις σπάμε σε δυαδικές (father και mother)… Πλειότιμα γνωρίσματα ή χωριστές οντότητες? Συνήθως χωριστές οντότητες – σε ειδικές περιπτώσεις πλειότιμα γνωρίσματα...

Σχεδιαστικοί Προβληματισμοί Μην το παρακάνετε με τις ασθενείς οντότητες!! Δεν είναι κακό να φτιάξετε ένα τεχνητό κλειδί, αρκεί να έχει κάποιο λογικό νόημα!! Φτιάχνουμε ασθενείς οντότητες, ΜΟΝΟ αν ένα τεχνητό κλειδί ΔΕΝ έχει νόημα. Απλοϊκός κανόνας: μια ασθενής οντότητα είναι μια καλή εναλλακτική σε ένα πλειότιμο γνώρισμα... Π.χ., εξαρτώμενα παιδιά υπαλλήλου: αν δεν τα θέλουμε ως πλειότιμο γνώρισμα και μας αφορά απλώς να τα καταγράψουμε

Σχεδιαστικοί Προβληματισμοί Η μεγαλύτερη αρετή του σχεδιαστή είναι η απλότητα των διαγραμμάτων του! [και η ακρίβεια και η πληρότητα, μην ξεχνιόμαστε, ε?] Μην ντρέπεστε να βάλετε οντότητες ή συσχετίσεις, αν προκύπτουν από το πρόβλημα. Μη βάζετε όμως άχρηστες, διότι το διάγραμμα γίνεται πολύπλοκο. Το ER είναι μάλλον δύσχρηστο μοντέλο...

Σχεδιαστικοί Προβληματισμοί Ο σκοπός του ER διαγράμματος είναι να καταγράψει την πραγματικότητα όσο πιο τυπικά γίνεται και να αποτελεί σημείο αναφοράς της διαδικασίας σχεδίασης και υλοποίησης της ΒΔ => αυτά που πρέπει να καταγραφούν, πρέπει να είναι μέσα στο διάγραμμά μας (άρα να μην έχουμε ελλείψεις), με σωστό τρόπο (για να τα εννοούν και άλλοι), και μόνο αυτά !!!

Περιεχόμενα Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων Κλειδιά, Ρόλοι και Βαθμός Συσχέτισης Περιορισμοί Ειδικά Θέματα Προβληματισμοί για τον σχεδιαστή Σύνοψη Γραφικής Αναπαράστασης

Διαγράμματα Οντοτήτων – Συσχετίσεων (E-R Diagrams) Παραλληλόγραμμα για τύπους οντοτήτων Ελλείψεις για γνωρίσματα Διπλές ελλείψεις για πλειότιμα γνωρίσματα. Διακεκομμένες ελλείψεις για παραγόμενα γνωρίσματα. Υπογράμμιση για πρωτεύοντα κλειδιά (στη συνέχεια...) Ρόμβοι για τύπους συσχετίσεων Ακμές για να συνδέσουν τύπους οντοτήτων με γνωρίσματα και τύπους συσχετίσεων

Γραφική Αναπαράσταση Τύπων Οντοτήτων

Γραφική Αναπαράσταση Τύπων Συσχετίσεων

Γραφική Αναπαράσταση Πληθικότητας και Συμμετοχής Κάτω όριο Άνω όριο Άνω όριο Κάτω όριο

Ρόλοι & Αυτοσυσχετίσεις Ρόλοι & Αυτοσυσχετίσεις Οι ρόλοι είναι ταμπέλες που βάζουμε στις ακμές ενός τύπου συσχέτισης για να δείξουμε περιγραφικά τη σημασία της συμμετοχής ενός τύπου οντοτήτων στον εν λόγω τύπο συσχετίσεων.

Ασθενείς Τύποι Οντοτήτων Ασθενής οντότητα: payment Μερικό κλειδί: payment-number Κλειδί του payment : (loan-number, payment-number)

ER Διάγραμμα