1 / 57

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

Βάσεις Γνώσεων. Επεκτεταμένο Μοντέλο Οντοτήτων Συσχετίσεων Πάνος Βασιλειάδης pvassil@cs.uoi.gr Μάρτης 200 3. www.cs.uoi.gr/~pvassil/courses/knowledge_bases/. Περιεχόμενα. Επανάληψη Εξειδίκευση και Γενίκευση Συνάθροιση Από EER σε Σχεσιακή Μοντελοποίηση Παράρτημα. Βασισμένο στο

lillian
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. Περιεχόμενα • Επανάληψη • Εξειδίκευση και Γενίκευση • Συνάθροιση • Από EER σε Σχεσιακή Μοντελοποίηση • Παράρτημα Βασισμένο στο «Database System Concepts», Silberschatz, Korth & Sudarshan

  3. Περιεχόμενα • Επανάληψη • Εξειδίκευση και Γενίκευση • Συνάθροιση • Από EER σε Σχεσιακή Μοντελοποίηση • Παράρτημα

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

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

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

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

  8. Περιεχόμενα • Επανάληψη • Εξειδίκευση και Γενίκευση • Συνάθροιση • Από EER σε Σχεσιακή Μοντελοποίηση • Παράρτημα

  9. Εξειδίκευση (Specialization) • Ένα από τα αποτελέσματα της αναλυτικής (top-down)διαδικασίας σχεδίασης είναι ο εντοπισμός υποσυνόλων ενός τύπου οντοτήτων με κοινά χαρακτηριστικά, τα οποία τα διαφοροποιούν από τα υπόλοιπα μέλη του τύπου οντοτήτων • Ένα τέτοιο υποσύνολο, ανάγεται σε ένα εξειδικευμένο τύπο οντοτήτων, με εξειδικευμένα γνωρίσματα ή συσχετίσεις, τα οποία δεν αφορούν τον αρχικό τύπο οντοτήτων από τον οποίο προήλθε • Θυμάστε γιατί επέμενα στο διαχωρισμό εννοιολογικής και δομικής συνάφειας?

  10. Εξειδίκευση Employee e1 e7 e10 e13 e4 e2 e8 e11 e14 e5 e3 e9 e12 e15 e6

  11. Εξειδίκευση Middle management Employee e1 e7 e10 e13 e4 e2 e8 e11 e14 e5 e3 e9 e12 e15 e6 High management Plain

  12. Εξειδίκευση και Έκταση • Έκταση (extension) ενός τύπου οντοτήτων, τύπου συσχετίσεων, κλάσης, σχεσιακού πίνακα: το σύνολο των αντικειμένων που ανήκουν σε αυτόν • Τα αντικείμενα ονομάζονται και στιγμιότυπα του τύπου / κλάσης / πίνακα / ... • Σε ότι αφορά την εξειδίκευση, η σχέση τύπου και υποτύπου είναι ΠΑΝΤΑ σχέση υπερσυνόλου!!

  13. Εξειδίκευση Middle management Employee Officer e1 e7 e10 e13 e4 Secretary e2 e8 e11 e14 e5 e3 e9 e12 e15 e6 Teller High management Plain

  14. Εξειδίκευσηκαι Σχήμα • Κληρονομικότητα Τύπων(Type Inheritance): Ο εξειδικευμένος τύπος οντοτήτων «κληρονομεί» (inherits) όλα τα γνωρίσματα του τύπου οντοτήτων από τον οποίο παράγεται • Employee(Id,Name,Salary) • PlainEmployee(Id,Name,Salary) • MiddleManagement(Id,Name,Salary,Bonus) • HighManagement(Id,Name,Salary,Rank)

  15. Εξειδίκευση (Specialization) • Η γραφική αναπαράσταση μιας σχέσης εξειδίκευσης γίνεται μέσω ενός τριγώνου που γράφει ISA • Σε κάποιες αναπαραστάσεις το τρίγωνο δείχνει προς τον παραγόμενο και σε κάποιες προς τον γεννήτορα τύπο . • Προσοχή: τα γνωρίσματα του παραγόμενου τύπου που κληρονομούνται, ΔΕΝ καταγράφονται στη γραφική αναπαράσταση

  16. Προσωπική προτίμηση: ISA Παράδειγμα

  17. Ιδιότητες της εξειδίκευσης • Η σχέση τύπου και υποτύπου είναι ΠΑΝΤΑ σχέση υπερσυνόλου!! • Άμεσο αποτέλεσμα αυτού είναι ότι τα στιγμιότυπα του υποτύπου αποτελούν ΚΑΙ στιγμιότυπα του υπερτύπου => ανήκουν και στους δύο τύπους!! • MiddleManagement  Employee • xMiddleManagement => xEmployee

  18. Ιδιότητες της εξειδίκευσης • Τα κριτήρια της ταυτότητας ενός στιγμιοτύπου πρέπει να είναι συμβατά μεταξύ τους! • Στη σχεδίαση: Για να είναι κάποιος τύπος C υποτύπος ενός τύπου Μ, πρέπει ΟΛΑ τα στιγμιότυπα του C να ΕΙΝΑΙ και στιγμιότυπα του Μ !! ΕΙΝΑΙ = «είναι» σημασιολογικώς, πληρούν τους λογικούς και δομικούς περιορισμούς, ... • Εν γένει, για κάθε περιορισμό που ανήκει στον υπερτύπο, ο περιορισμός επιβάλλεται ΚΑΙ στον υπερτύπου, πιθανώς και σε πιο ισχυρή μορφή. • π.χ., όλοι οι customerάνω των 65 είναι μέλη του υποτύπου senior-customer και όλοι οι πελάτες άνω των 85 είναι μέλη του υποτύπου ultra-senior-customer

  19. Συσχετίσεις και Εξειδίκευση ? works for Branch Employee ISA ISA ISA public wf Public Branch Teller

  20. Συσχετίσεις και Εξειδίκευση ? • Το παραπάνω σχήμα είναι για να πάρετε την ιδέα και μόνο. • Γενικά, οι εξειδικεύσεις συσχετίσεων ΔΕΝ είναι κοινά αποδεκτό τμήμα του μοντέλου! • Προφανώς, αν σκεφτείτε την έννοια του υποσυνόλου, προφανώς πρέπει να ισχύει το προηγούμενο σχήμα! • Επίσης, μη ξεχνάτε ότι, τυπικά, ένας τύπος είναι υποτύπος του εαυτού του...

  21. Γενίκευση (Generalization) • Αντίστροφα από την αναλυτική μέθοδο σχεδίασης, στην συνθετική (bottom-up) μέθοδο, μπορεί να εντοπίσουμε ένα σύνολο από τύπους οντοτήτων που έχουν κάποια κοινά γνωρίσματα • Μπορούμε να εξάγουμε από τους τύπους αυτούς ένα γενικότερο τύπο οντοτήτων με τα κοινά αυτά χαρακτηριστικά. • Η εξειδίκευση και η γενίκευση είναι αντίστροφες συσχετίσεις, αναπαριστούνται όμοια και εν γένει, χρησιμοποιούνται η μια στη θέση της άλλης

  22. Ιεραρχίες εξειδίκευσης τύπων • Επειδή η σχέση εξειδίκευσης είναι μεταβατική(A ISA B, B ISA C => A ISA C), αναφερόμαστε συχνά σε ιεραρχίες εξειδίκευσης (ή γενίκευσης), ιεραρχίες εξειδίκευσης τύπων, ή απλά ιεραρχίες τύπων • Εναλλακτική ορολογία : • υπερ-τύπος και υπο-τύπος • υπερκλάση και υποκλάση

  23. Ιεραρχίες εξειδίκευσης τύπων • Ένας τύπος οντοτήτων μπορεί να εξειδικευθεί σε περισσότερους του ενός υποτύπους, στη βάση διαφορετικών χαρακτηριστικών • Π.χ., μόνιμος-υπάλληλοςκαιπροσωρινός-υπάλληλος, αλλά καιστέλεχοςκαιγραμματέαςκαιταμίας • Κάθε υπάλληλος θα ανήκει: • Σε ένα εκ των μόνιμος-υπάλληλοςκαιπροσωρινός-υπάλληλοςΚΑΙ • σε ένα εκ των στέλεχος,γραμματέας,ταμίας

  24. Παράδειγμα Employee ISA ISA Permanent- Employee Officer Secretary Temporary- Employee Teller

  25. Περιορισμοί Ιεραρχιών Τύπων • Μπορούμε να ορίσουμε περιορισμούς στο ποιες οντότητες του υπερτύπου ανήκουν σε ένα υποτύπο, στη βάση μιας συνθήκης • π.χ., όλοι οι πελάτες άνω των 65 είναι μέλη του υποτύπου Senior-customer • Υποκλάσεις οριζόμενες βάση κατηγορήματος (predicate-based): • xCustomer,x.age>=65 =>xSenior-customer

  26. Περιορισμοί Ιεραρχιών Τύπων • Σε πόσους υποτύπους της ίδιας ιεραρχίας επιτρέπεται μια οντότητα που ανήκει σε ένα υπερτύπο, να ανήκει? • Μη επικαλυπτόμενη εξειδίκευση (disjoint) • Μια οντότητα επιτρέπεται να ανήκει μόνο σε ένα υποτύπο μιας ιεραρχίας • Διαγραμματικά σημειώνεται βάζοντας τη λέξη disjointδίπλα στο τρίγωνο ISA • Επικαλυπτόμενη (overlapping) • Μια οντότητα επιτρέπεται να ανήκει σε περισσότερους του ενός υποτύπους μιας ιεραρχίας

  27. Περιορισμοί Ιεραρχιών Τύπων • Περιορισμός πληρότητας: επιτρέπεται μια οντότητα ενός τύπου να μην ανήκει σε κάποιον υποτύπο? • πλήρης εξειδίκευση(total specialization): πρέπει υποχρεωτικά η οντότητα να ανήκει σε κάποιον υποτύπο • μερική εξειδίκευση(partial specialization): η οντότητα μπορεί και να μην ανήκει σε κάποιον υποτύπο

  28. Τυπικοί Ορισμοί • Πλήρης εξειδίκευση, με C υπερτύπο και Si τους υποτύπους του: • i(Si)=C • Μη επικαλυπτόμενη εξειδίκευση: • SiSj=, i,j,ij

  29. Για το σπίτι • Σε σχέση με τις εισαγωγές και διαγραφές οντοτήτων, τι περιορισμούς έχω και τι πράξεις πρέπει να εφαρμοσθούν κατά την εισαγωγή/διαγραφή/ανανέωση μιας οντότητας σε μια κλάση? • Λάβετε υπόψη τα πρωτεύοντα κλειδιά, το αν οι ιεραρχίες είναι ολικές, επικαλυπτόμενες, βάση κατηγορήματος,...

  30. Περιεχόμενα • Επανάληψη • Εξειδίκευση και Γενίκευση • Συνάθροιση • Από EER σε Σχεσιακή Μοντελοποίηση • Παράρτημα

  31. Συνάθροιση (aggregation) • Ένας υπάλληλος δουλεύει σε ένα κλάδο της εταιρείας, για τον οποίο και κάνει μια δουλειά • Μπορεί να δουλεύει και σε άλλους κλάδους με άλλες δουλειές • Ένας manager επιβλέπει το συνδυασμό employee, job, branch

  32. Συνάθροιση (aggregation) • Ένας manager επιβλέπει το συνδυασμό employee, job, branch • Εμείς, όμως, έχουμε μια συσχέτιση μεταξύ του managerκαι κάθε μιας από τις οντότητες αυτές • Αφενός είναι λάθος μοντελοποίηση • Κι αφετέρου είναι πλεονασμός…

  33. Συνάθροιση (aggregation) • Οι τύποι συσχετίσεων works-onκαιmanagesαναπαριστούν επικαλυπτόμενη, πλεονάζουσα πληροφορία • Κάθε συσχέτιση που ανήκει στην managesαντιστοιχεί σε μια συσχέτιση που ανήκει στηνworks-on • Όμως, μερικές συσχετίσεις της works-onμπορεί να μην αντιστοιχούν σε κάποιες συσχετίσειςmanages (ήτοι, οι εργασίες αυτές γίνονται χωρίς επίβλεψη) • Κατά συνέπεια, δεν μπορούμε να διώξουμε κανένα από τους δύο τύπους συσχετίσεων

  34. Συνάθροιση • Ένας υπάλληλος δουλεύει σε ένα κλάδο της εταιρείας, για τον οποίο και κάνει μια δουλειά • Ένας manager επιβλέπει το συνδυασμόemployee, job, branch

  35. Συνάθροιση (aggregation) • Για να ξεφύγουμε από το αδιέξοδο, ορίζουμε τη συνάθροιση (aggregation) • Την μία εκ των δύο συσχετίσεων, την αντιμετωπίζουμε ως οντότητα ? • Επιτρέπεται να ορίσουμε συσχετίσεις μεταξύ των συσχετίσεων ? • Αυτό που κατά βάση, όμως, κάνουμε είναι ότι αντιμετωπίζουμε το σύνολο των οντοτήτων της συνάθροισης ως μία οντότητα

  36. Τυπικοί Ορισμοί • works-on employee X job X branch • works-on(employee-id, branch-name, title) • WO_agg agg works-on • WO_agg(employee-id, branch-name, title) • manages  manager X WO_agg • manages(employee-id, branch-name, title, manager-name) • Προσοχή: καταχρηστικά, ενώ ορίζω τις συσχετίσεις στο πεδίο Entity1 X … X Entityn, μετά ορίζω το σχήμα τους ως R(Attribute1, …, Attributen). Δεν είναι σωστό, είναι όμως βολικό...

  37. E-R Διάγραμμα για μια τράπεζα

  38. Περιεχόμενα • Επανάληψη • Εξειδίκευση και Γενίκευση • Συνάθροιση • Από EER σε Σχεσιακή Μοντελοποίηση • Παράρτημα

  39. Από EER σεΣχεσιακή Μοντελοποίηση • Η βάση της αναγωγής είναι τα πρωτεύοντα κλειδιά, που επιτρέπουν σε οντότητες και συσχετίσεις να γίνουν σχέσεις της ΒΔ. • Για κάθε τύπο οντότητας και κάθε τύπο συσχέτισης, εισάγουμε μία σχέση με το όνομα του τύπου οντότητας ή συσχέτισης • Τα γνωρίσματα της σχέσης αντιστοιχούν λίγο-πολύ στα γνωρίσματα του αντίστοιχου τύπου

  40. Ισχυροί Τύποι Οντοτήτων • Ένας ισχυρός τύπος οντοτήτων ανάγεται σε μία σχέση με τα αντίστοιχα γνωρίσματα

  41. Σύνθετα Γνωρίσματα • Τα σύνθετα αντικείμενα «ανοίγουν», αγνοώντας τα και εισάγοντας σαν γνωρίσματα του πίνακα τα συστατικά τους. • Π.χ., αν έχω ένα σύνθετο γνώρισμα nameθα εισάγω αντί γι’ αυτό τα συστατικά του first-nameκαιlast-nameστον σχεσιακό πίνακα που προκύπτει.

  42. Πλειότιμα γνωρίσματα • Ένα πλειότιμο γνώρισμα Mμιας οντότητας Eαντιστοιχίζεται σε μια σχέση EM, η οποία έχει τα γνωρίσματα του πρωτεύοντος κλειδιού της Ε (έστω Α1,…,Αn) και ένα γνώρισμα για το Μ (με πρωτεύον κλειδί(Α1,…,Αn,M) • Π.χ., childrenτουemployeeαναπαριστάται απόemployee-children(employee-id,childname)

  43. Ασθενείς Οντότητες • Ένας ασθενής τύπος οντοτήτων γίνεται μια σχέση που περιλαμβάνει και μια κολώνα για το πρωτεύον κλειδί της ιδιοκτήτριας οντότητας

  44. Τύποι Συσχετίσεων • Οι τύποι συσχετίσεων ανάγονται σε πίνακες με ένα γνώρισμα, για κάθε γνώρισμα του πρωτεύοντος κλειδιού των εμπλεκομένων οντοτήτων στη συσχέτιση, καθώς και τα κατάλληλα γνωρίσματα για όποια επιπλέον γνωρίσματα έχει η συσχέτιση per se

  45. Γνωρίσματα αντί για πίνακες • Ν:1 και 1:Ν συσχετίσειςμε καθολική συμμετοχή στην πλευρά του Ν, μπορούν να αναπαρασταθούν με ένα επιπλέον γνώρισμα στον πίνακα του Ν (ως εξωτερικό κλειδί στον άλλο πίνακα) • Π.χ., αντί για πίνακαaccount-branch, να βάζαμε ένα γνώρισμαbranch-nameστον πίνακαaccount 1 Ν

  46. Γνωρίσματα αντί για πίνακες • Αν η συμμετοχή είναι μερική στην πλευρά Ν, το επιπλέον γνώρισμα θα έχει και τιμές null (τις οποίες θα αποφεύγαμε αν είχαμε τον αρχικό πίνακα, πληρώνοντας βέβαια, τον επιπλέον χώρο για το πρωτεύον κλειδί της πλευράς Ν) • Για 1:1 συσχετίσεις μπορούμε να διαλέξουμε όποια πλευρά θέλουμε ως πλευρά Ν, για να προσθέσουμε το εξωτερικό κλειδί • Ο πίνακας που αντιστοιχεί στη συσχέτιση που συνδέει μια ασθενή, με την ιδιοκτήτριά της οντότητα, είναι περιττός (μετά από τα παραπάνω)

  47. Αναπαράσταση της εξειδίκευσης στο σχεσιακό μοντέλο (1η μέθοδος) • Μια σχέση για τον υπερτύπο • Μια σχέση για τον υποτύπο, με το πρωτεύον κλειδί του υπερτύπου και τα δικά της γνωρίσματα (μόνο) • Πρέπει να κάνουμε join για να ανασυνθέσουμε τον υποτύπο

  48. Αναπαράσταση της εξειδίκευσης στο σχεσιακό μοντέλο (2η μέθοδος) • Μια σχέση για τον υπερτύπο • Επανάληψη όλων των πεδίων του υπερτύπου στον υποτύπο • Έχουμε επανάληψη (με κίνδυνο ασυνέπειας) της πληροφορίας Είναι σε κανονικοποιημένη μορφή οι πίνακες?

  49. Αναπαράσταση της εξειδίκευσης στο σχεσιακό μοντέλο (2η μέθοδος) • Αν η εξειδίκευση είναι καθολική, δεν χρειάζεται να ορίσουμε πίνακα για τον υπερτύπο • Μπορούμε να ορίσουμε μια όψη (view) γι’ αυτή τη δουλειά, με την ένωση των πινάκων των υποτύπων • Εξαίρεση: αν χρειάζεται κάποιο εξωτερικό κλειδί που να αναφέρεται στον υπερτύπο, είμαστε υποχρεωμένοι να κρατήσουμε τον αντίστοιχο πίνακα…

  50. Συνάθροιση • Χρειαζόμαστε ένα πίνακα με • το πρωτεύον κλειδί της συναθροιζόμενης συσχέτισης, • το πρωτεύον κλειδί της εμπλεκόμενης οντότητας, και • όποια άλλα επιπλέον πεδία • Μπορούμε να εφαρμόσουμε τις τεχνικές 1:Ν με τους σχετικούς κινδύνους…

More Related