Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Βάσεις Γνώσεων Επεκτεταμένο Μοντέλο Οντοτήτων Συσχετίσεων Πάνος Βασιλειάδης Μάρτης 2003

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βάσεις Γνώσεων Επεκτεταμένο Μοντέλο Οντοτήτων Συσχετίσεων Πάνος Βασιλειάδης Μάρτης 2003"— Μεταγράφημα παρουσίασης:

1 Βάσεις Γνώσεων Επεκτεταμένο Μοντέλο Οντοτήτων Συσχετίσεων Πάνος Βασιλειάδης Μάρτης 2003

2 2 Περιεχόμενα Επανάληψη Εξειδίκευση και Γενίκευση Συνάθροιση Από EER σε Σχεσιακή Μοντελοποίηση Παράρτημα Βασισμένο στο «Database System Concepts», Silberschatz, Korth & Sudarshan

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

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

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

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

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

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

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

10 10 Εξειδίκευση e1e1 e2 e3 Employee e4 e5 e6 e7 e8 e9 e10e10 e11 e12 e13e13 e14 e15

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

36 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) Προσοχή: καταχρηστικά, ενώ ορίζω τις συσχετίσεις στο πεδίο Entity 1 X … X Entity n, μετά ορίζω το σχήμα τους ως R(Attribute 1, …, Attribute n ). Δεν είναι σωστό, είναι όμως βολικό...

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

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

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

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

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

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

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

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

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

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

47 47 Αναπαράσταση της εξειδίκευσης στο σχεσιακό μοντέλο (1η μέθοδος) Μια σχέση για τον υπερτύπο Μια σχέση για τον υποτύπο, με το πρωτεύον κλειδί του υπερτύπου και τα δικά της γνωρίσματα (μόνο) ΠίνακαςΓνωρίσματα Personname, street, city Customername, credit-rating Employeename, salary Πρέπει να κάνουμε join για να ανασυνθέσουμε τον υποτύπο

48 48 Αναπαράσταση της εξειδίκευσης στο σχεσιακό μοντέλο (2η μέθοδος) Μια σχέση για τον υπερτύπο Επανάληψη όλων των πεδίων του υπερτύπου στον υποτύπο Έχουμε επανάληψη (με κίνδυνο ασυνέπειας) της πληροφορίας ΠίνακαςΓνωρίσματα Personname, street, city Customername, street, city, credit-rating Employeename, street, city, salary Είναι σε κανονικοποιημένη μορφή οι πίνακες?

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

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

51 51 Συνάθροιση Για την manages θα φτιάχναμε ένα πίνακα manages(employee-id, branch-name, title, manager-name) Ο πίνακας works-on μπορεί να λείψει αν είμαστε διατεθειμένοι να έχουμε null τιμές στο πεδίο manager-name για όποιες εργασίες δεν έχουν manager

52 Παράρτημα: UML Ο λάθος τρόπος για να μάθεις κάτι είναι συγκρίνοντάς το με κάτι που ήδη ξέρεις… (θα τα ξαναπούμε επί του θέματος) Βασισμένο στο «Database System Concepts», Silberschatz, Korth & Sudarshan

53 53 UML UML: Unified Modeling Language Τα Διαγράμματα Κλάσεων (Class Diagrams) είναι τα αντίστοιχα διαγράμματα σε σχέση με το μοντέλο Οντοτήτων Συσχετίσεων. Οι εν λόγω διαφάνειες σκοπό έχουν να συνοψίσουν το σχετικό κεφάλαιο του βιβλίου. Μην νομίσετε ότι μάθατε UML έτσι!!!

54 54 UML - Διαγράμματα Κλάσεων

55 55 UML - Διαγράμματα Κλάσεων Οι τύποι οντοτήτων πλέον είναι κλάσεις και αναπαριστώνται με ορθογώνια. Τα γνωρίσματα ενσωματώνονται μέσα στο κουτί του τύπου. Οι δυαδικές συσχετίσεις αναπαριστώνται με μια απλή ακμή. Το όνομα και οι ρόλοι της συσχέτισης βρίσκονται στο κέντρο και στα δύο άκρα της ακμής, αντίστοιχα. Εναλλακτικά, ιδίως αν η συσχέτιση έχει γνωρίσματα, μπορούμε να την αναπαραστήσουμε σαν οντότητα, που συνδέεται με την σχετική ακμή μέσω μιας διακεκομμένης γραμμής. Οι υπόλοιπες συσχετίσεις (βαθμός > 2) αναπαριστώνται όπως και στο ER, με το γνωστό ρόμβο.

56 56 UML - Διαγράμματα Κλάσεων overlapping disjoint

57 57 UML - Διαγράμματα Κλάσεων Οι πληθικότητες αναπαριστώνται με άνω και κάτω όριο, όπως είπαμε. Η αναπαράσταση είναι ανάποδα απ’ ότι έχουμε πει. Π.χ., στο προηγούμενο διάγραμμα, η μια οντότητα της Ε2 μπορεί να έχει από 0 έως 1 αντίστοιχές της οντότητες της Ε1. Εναλλακτικά, μπορούμε να έχουμε και σκέτο 1 αντί για ένα περιορισμό 1..1, και * αντί για 0..*. Η ιεραρχίες εξειδίκευσης αναπαριστώνται κατ’ αντιστοιχία με το ER, απλά αλλάζει η μορφή του τριγώνου ISA.


Κατέβασμα ppt "Βάσεις Γνώσεων Επεκτεταμένο Μοντέλο Οντοτήτων Συσχετίσεων Πάνος Βασιλειάδης Μάρτης 2003"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google