4 Μνληέιν Οληνηήησλ-πζρεηίζεσλ Η αλάγθε Γηαγξάκκαηα Ο ύλνια Οληνηήησλ-πζρεηίζεσλ Απεηθνλίζεηο Δπεθηάζεηο
Μνληέια Γεδνκέλσλ Μονηέλο: αθαηξεηηθή αλαπαξάζηαζε ηνπ πξαγκαηηθνύ θόζκνπ. Μονηέλα βαζιζμένα ζε εγγπαθέρ (record based models) Ιεξαξρηθό Γηθηπαθό ρεζηαθό Μονηέλα βαζιζμένα ζε ανηικείμενα (object based models) Οληνηήησλ-ζπζρεηίζεσλ Αληηθεηκελνζηξαθέο Δλλνηνινγηθό πλαξηεζηαθό 2
Μνληέιν Ο Σν μονηέλο oνηοηήηυν-ζςζσεηίζευν (κνληέιν Ο) βαζίδεηαη ζηελ αληίιεςε όηη ν πξαγκαηηθόο θόζκνο απνηειείηαη από ονηόηηηερ (entities) κε σαπακηηπιζηικά (atributes) θαη ζςζσεηίζειρ (relationships) κεηαμύ ησλ νληνηήησλ. Αλαπηύρζεθε γηα λα δηεπθνιύλεη ην ζρεδηαζκό κίαο ΒΓ, επηηξέπνληαο ηνλ νξηζκό ελόο ζσήμαηορ (schema) πνπ λα αλαπαξηζηά ηε ζπλνιηθή ινγηθή δνκή ηεο βάζεο. Σν κνληέιν Ο αλαπηύρζεθε από ηνλ P. Chen (1976) σο έλαο ηξόπνο επηθνηλσλίαο κεηαμύ ρξεζηώλ θαη ζρεδηαζηώλ. 3
Μνληέιν Ο Dr. Peter Chen's original paper on the Entity- Relationship model (ER model) is one of the most cited papers in the computer software field. Recently, Prof. Peter Chen was honored by the selection of his original ER model paper as one of the 38 most influential papers in Computer Science according to a survey of 1,000 computer science college professors (Table of Contents, Great Papers in Computer Science, edited by P. Laplante, West Publishing, 1996). Based on one particular citation database, Chen's paper is the 35th most cited article in Computer Science. It is the 4 th most downloaded paper from the ACM Digital Library in January 2005 (Communications of ACM, March 2005). 4
Μνληέιν Ο 5
Μνληέιν Ο 6
Μνληέιν Ο Ονηόηηηα: θάζε αληηθείκελν, γεγνλόο, θαηάζηαζε ή αθεξεκέλε έλλνηα πνπ ππάξρεη, κπνξνύκε λα δηαθξίλνπκε θαη ελδηαθεξόκαζηε λα θαηαγξάςνπκε. Χαπακηηπιζηικά νληνηήησλ: ηα ζπζηαηηθά ζηνηρεία πνπ πεξηγξάθνπλ κηα νληόηεηα. ςζσέηιζη: κία ζύλδεζε κεηαμύ νληνηήησλ, ε νπνία αλαπαξηζηά κηα αληίζηνηρε ζρέζε ησλ αληηθεηκέλσλ ζηνλ πξαγκαηηθό θόζκν. Κλειδί: ην ζύλνιν ησλ ραξαθηεξηζηηθώλ ηεο νληόηεηαο, ην νπνίν ηαπηνπνηεί θάζε εγγξαθή θαη ηε δηαθξίλεη από ηηο άιιεο. 7
Μνληέιν Ο Ο ζπλεζέζηεξνο ηξόπνο πεξηγξαθήο ηνπ κνληέινπ Ο είλαη ε ρξήζε διαγπαμμάηυν ονηοηήηυνζςζσεηίζευν (ER diagrams). Σα δηαγξάκκαηα απηά παξέρνπλ έλαλ θαηαλνεηό θαη απιό ηξόπν πεξηγξαθήο ηεο δνκήο ησλ δεδνκέλσλ ηεο ΒΓ, ησλ νληνηήησλ, ησλ ζπζρεηίζεσλ, θαη ησλ ραξαθηεξηζηηθώλ ηνπο. 8
Γηάγξακκα Ο 9
Γηάγξακκα Ο Σα βαζηθά γεσκεηξηθά ζρήκαηα πνπ ζπλζέηνπλ έλα δηάγξακκα Ο είλαη: ην νξζνγώλην, ν ξόκβνο, ε έιιεηςε, ην επζύγξακκν ηκήκα. έλα ζύλνιν νληνηήησλ παξηζηάλεηαη από έλα νξζνγώλην, έλα ραξαθηεξηζηηθό κε κία έιιεηςε, έλα ζύλνιν ζπζρεηίζεσλ κε έλα ξόκβν, ελώ έλα επζύγξακκν ηκήκα δειώλεη ηα ραξαθηεξηζηηθά ελόο ζπλόινπ νληνηήησλ θαη ηε ζπκκεηνρή ελόο ζπλόινπ νληνηήησλ ζε έλα ζύλνιν ζπζρεηίζεσλ. 10
Γηάγξακκα Ο - Παξάδεηγκα ύλνια Οληνηήησλ: Σσγγραθέας, Άρθρο, Σσνδρομηηής, Περιοδικό, Πρακηικά_Σσνεδρίοσ, Γνωζηική_Περιοτή, Εκδοηικός Οίκος. ύλνια πζρεηίζεσλ: Σσγγραθή-Άρθροσ, Δημοζίεσζη Περιοδικού, Δημοζίεσζη Πρακηικών, Έκδοζη Περιοδικού, Έκδοζη Πρακηικών, Σσνδρομή, Ανήκει. 11
ηνηρεία ηνπ κνληέινπ Ο Έλα ραξαθηεξηζηηθό κπνξεί λα είλαη: Απλήρ ή πολλαπλήρ ηιμήρ (single-, multi-valued), Απλό ή ζύνθεηο (simple, composite), Κενό (null), ή Παπαγόμενο (derived). 12
ηνηρεία ηνπ κνληέινπ Ο 13
ηνηρεία ηνπ κνληέινπ Ο Κλειδί (key): Σν ραξαθηεξηζηηθό πνπ πξνζδηνξίδεη κε κνλαδηθό ηξόπν κία νληόηεηα. Απλό ή ύνθεηο (simple, composite) Ππυηεύον ή Γεςηεπεύον (primary, secondary) Υποτήθιο ή Δναλλακηικό (candidate, alternative) 14
ηνηρεία ηνπ κνληέινπ Ο ύνολο ζςζσεηίζευν (relationship set) είλαη κία ζπιινγή από ζπζρεηίζεηο ηνπ ίδηνπ ηύπνπ. Βαθμόρ (degree) είλαη ην πιήζνο ησλ νληνηήησλ πνπ ζπκκεηέρνπλ ζε κία ζπζρέηηζε (πρ δπαδηθή, ηξηαδηθή θιπ) 15
ηνηρεία ηνπ κνληέινπ Ο Πληθικόρ λόγορ (cardinality ratio) ζπλόινπ ζπζρεηίζεσλ: Έλα πξνο έλα (1:1), Έλα πξνο πνιιά (1:Ν), Πνιιά πξνο έλα (Ν:1), θαη Πνιιά πξνο πνιιά (Ν:Μ). 16
ηνηρεία ηνπ κνληέινπ Ο πιεζηθόο ιόγνο 17
ηνηρεία ηνπ κνληέινπ Ο Ρόλορ (role) νληόηεηαο είλαη ε ιεηηνπξγία πνπ επηηειεί κία νληόηεηα ζε κία ζπζρέηηζε. Δίλαη δπλαηόλ κία νληόηεηα λα δηαθξίλεηαη από πνιινύο ξόινπο. Γηα παξάδεηγκα, ζηελ νληόηεηα Εργαζόμενος δηαθξίλνπκε δύν δηαθξηηνύο ξόινπο: διεσθσνηής θαη σπάλληλος. ε κία αναδπομική (recursive) ζπζρέηηζε έρνπκε κία νληόηεηα πνπ ζπζρεηίδεηαη κε ηνλ εαπηό ηεο. Τπάξρνπλ θαη κε αλαδξνκηθέο πεξηπηώζεηο, όπνπ νληόηεηεο ελόο ζπλόινπ ζπκκεηέρνπλ ππό πνιινύο ξόινπο ζε κία ζπζρέηηζε κε ηηο νληόηεηεο ελόο άιινπ ζπλόινπ νληνηήησλ. 18
ηνηρεία ηνπ κνληέινπ Ο Ρόινο νληόηεηαο 19
ηνηρεία ηνπ κνληέινπ Ο Υαξαθηεξηζηηθά πλόινπ πζρεηίζεσλ. Απαξαίηεην ζε ζπζρεηίζεηο 1:Ν θαη Ν:Μ. 20
ηνηρεία ηνπ κνληέινπ Ο Η ζςμμεηοσή (participation) κίαο νληόηεηαο ζε έλα ζύλνιν ζπζρεηηζκώλ δειώλεη αλ πξέπεη νπσζδήπνηε (ή όρη) λα ζπκκεηέρεη ε νληόηεηα ηνπιάρηζηνλ ζε έλα ζπζρεηηζκό ηνπ ζπλόινπ. Υποσπευηική ή καθολική: αλ θάζε νληόηεηα ελόο ζπλόινπ νληνηήησλ Δ ζπκκεηέρεη ζε έλα ηνπιάρηζηνλ ζπζρεηηζκό ηνπ ζπλόινπ R. Πποαιπεηική ή μεπική: αλ κεξηθέο κόλν νληόηεηεο ζπκκεηέρνπλ ζε ζπζρεηηζκνύο ηνπ R. 21
ηνηρεία ηνπ κνληέινπ Ο Τπνρξεσηηθή πκκεηνρή (από ηελ πιεπξά ηνπ Άρθροσ). 22
ηνηρεία ηνπ κνληέινπ Ο Τπνρξεσηηθή πκκεηνρή (θαη από ηηο δύν πιεπξέο). 23
ηνηρεία ηνπ κνληέινπ Ο Πξναηξεηηθή πκκεηνρή. 24
ηνηρεία ηνπ κνληέινπ Ο Αλ ε ύπαξμε κίαο νληόηεηαο A εμαξηάηαη από ηελ ύπαξμε ηεο νληόηεηαο B, ηόηε ιέγεηαη όηη ε Α είλαη ςπαπξιακά εξαπηώμενη (existentially dependent) από ηε B. Αλ ε B δηαγξαθεί, ηόηε πξέπεη λα δηαγξαθεί θαη ε A: κςπίαπση (dominant) νληόηεηα είλαη ε Β ςποηελήρ (subordinate) νληόηεηα είλαη ε Α. πρ. νληόηεηεο Γνωζηική_περιοτή θαη Σσνδρομηηής. Αλ δηαγξαθεί κία γλσζηηθή πεξηνρή, πξέπεη λα δηαγξαθνύλ θαη νη αληίζηνηρνη ζπλδξνκεηέο. 25
ηνηρεία ηνπ κνληέινπ Ο Οη αδύναμερ (weak) νληόηεηεο δελ έρνπλ νύηε απιό, νύηε ζύλζεην θιεηδί. Πρ. ε νληόηεηα Εηήζια_Πληρωμή έρεη ραξαθηεξηζηηθά αριθμός, ημερομηνία, ποζό. Απηή ε ηξηάδα δελ είλαη κνλαδηθή. πκκεηέρνπλ ζε ζπζρεηίζεηο Ν:Μ κέζσ ηαςηοποιηηικήρ (identifying) ζπζρέηηζεο κε ηζρπξή νληόηεηα. Γιακπιηικό (discriminator) ή μεπικό (partial) θιεηδί ιέγεηαη ην ραξαθηεξηζηηθό ηεο αδύλακεο νληόηεηαο, ην νπνίν κε ην πξσηεύνλ θιεηδί ηεο ηζρπξήο νληόηεηαο ηαπηνπνηνύλ ηηο πιεηάδεο ηεο αδύλακεο νληόηεηαο 26
ηνηρεία ηνπ κνληέινπ Ο Οη αδύλακεο νληόηεηεο αλαπαξίζηαληαη κε: ε νληόηεηα κε δηπιό νξζνγώλην, ε ηαπηνπνηεηηθή ζπζρέηηζε κε δηπιό ξόκβν, θαη ην κεξηθό θιεηδί κε δηαθεθνκκέλε ππνγξάκκηζε. Κάζε αδύλακε νληόηεηα είλαη ππαξμηαθά ππνηειήο, αιιά ην αληίζηξνθν δελ ηζρύεη. 27
ηνηρεία ηνπ κνληέινπ Ο Αδύλακεο νληόηεηεο. 28
Δπεθηάζεηο ηνπ κνληέινπ Ο Δξειδίκεςζη/Γενίκεςζη (specialization/geralization). Έλα ζύλνιν νληνηήησλ (θιάζε) κπνξεί λα πεξηέρεη ππνζύλνια νληνηήησλ (ππνθιάζεηο), κε πηζαλώο δηαθνξεηηθά ραξαθηεξηζηηθά κεηαμύ ηνπο. Οη θιάζεηο θαη νη ππνθιάζεηο ζπλδένληαη κε ηεξαξρία ISA. Η εμεηδίθεπζε θαη ε γελίθεπζε είλαη δπτθέο έλλνηεο. Κληπονομικόηηηα (inheritance) ραξαθηεξηζηηθώλ. Σα ραξαθηεξηζηηθά ηνπ ζπλόινπ νληνηήησλ ελόο επηπέδνπ θιεξνλνκνύληαη από ηα ζύλνια νληνηήησλ ηνπ ακέζσο θαηώηεξνπ επηπέδνπ ηεο ηεξαξρίαο ISA. 29
Δπεθηάζεηο ηνπ κνληέινπ Ο Πεπιοπιζμόρ επικάλςτηρ (overlapping): κία νληόηεηα δελ επηηξέπεηαη λα αλήθεη ηαπηόρξνλα ζε δύν ππνθιάζεηο. Πεπιοπιζμόρ πληπόηηηαρ (completeness) ή κάλςτηρ (covering): θάζε νληόηεηα ηεο θιάζεο πξέπεη λα αλήθεη ζε θάπνηα ππνθιάζε. 30
Δπεθηάζεηο ηνπ κνληέινπ Ο 31
Δπεθηάζεηο ηνπ κνληέινπ Ο 32
Δπεθηάζεηο ηνπ κνληέινπ Ο ςζζυμάηυζη ζςνάθποιζη (aggregation). Μία ζπζρέηηζε ζπκκεηέρεη ζε κία άιιε ζπζρέηηζε. 33
ύλνςε Σν κνληέιν Ο απνηειεί έλαλ απιό ηξόπν αλαπαξάζηαζεο ηνπ πξαγκαηηθνύ θόζκνπ. Απνηειείηαη από νληόηεηεο θαη ζπζρεηίζεηο. Οληόηεηεο κε ίδηα ραξαθηεξηζηηθά ζπλζέηνπλ έλα ζύλνιν νληνηήησλ. πζρεηίζεηο κε ίδηα ραξαθηεξηζηηθά δεκηνπξγνύλ έλα ζύλνιν ζπζρεηίζεσλ. Οη νληόηεηεο δηαθξίλνληαη κε βάζε ην πξσηεύνλ θιεηδί. Μία ζπζρέηηζε ραξαθηεξίδεηαη από ηνλ πιεζηθό ιόγν 1:1, 1:Ν, Ν:1, Ν:Μ. Η ζπκκεηνρή κίαο νληόηεηαο ζε έλα ζύλνιν ζπζρεηίζεσλ κπνξεί λα είλαη ππνρξεσηηθή ή πξναηξεηηθή. Σα δηαγξάκκαηα Ο ρξεζηκνπνηνύληαη γηα ηε γξαθηθή αλαπαξάζηαζε ελόο κνληέινπ. Σν βαζηθό κνληέιν Ο έρεη εκπινπηηζηεί κε λέα ζηνηρεία (αδύλακεο νληόηεηεο, εμεηδίθεπζε-γελίθεπζε, 34 ζπζζσκάησζε).