1 / 110

Βάσεις Γνώσεων

Βάσεις Γνώσεων. Μοντέλο Οντοτήτων Συσχετίσεων Πάνος Βασιλειάδης pvassil@cs.uoi.gr Φλεβάρης 200 3. www.cs.uoi.gr/~pvassil/courses/ knowledge_bases /. Περιεχόμενα. Βασισμένο στο « Database System Concepts », Silberschatz , Korth & Sudarshan. Εισαγωγή Τύποι Οντοτήτων Τύποι Συσχετίσεων

Download Presentation

Βάσεις Γνώσεων

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  46. ER Διάγραμμα

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

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

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

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

More Related