Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 6: ER III. ER Model + Enhanced ER Model

Σχετικά έγγραφα
Διάλεξη 05: Εννοιολογική Σχεδίαση Βάσης Δεδομένων III (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων & ER-Μοντέλο. ER-Μοντέλο ER-Διαγράμματα (1 & 2) ER- Συσχετίσεις Υψηλότερου Βαθμού EER Μοντέλο & Διαγράμματα

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 6: ER III. ER Model + Enhanced ER Model

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων (Databases)

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model


Διάγραμμα Οντοτήτων - Συσχετίσεων

Βάσεις Δεδομένων Ι. 4 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

Βάσεις Δεδομένων (Databases)

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος

Σχεδίαση Σχεσιακών ΒΔ

Βάσεις Δεδομένων (Databases)

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Βάσεις Δεδομένων Ενότητα 4

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Lecture 21: Functional Dependencies and Normalization

ΕΝΝΟΙΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΔΕΔΟΜΕΝΩΝ (6)


Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

Βάσεις Δεδομένων (Databases)

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

Μοντέλο Οντοτήτων Σχέσεων (Entity-Relationship Model)

Σχεδιασμός Βάσεων Δεδομένων

ER Diagram Συσχετίσεις Ασθενείς Οντότητες Παράδειγμα ER.. Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

2. Εννοιολογική Μοντελοποίηση Δεδομένων

Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD)


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

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Σχεδίαση Βάσεων Δεδομένων

Αρχεία και Βάσεις Δεδομένων

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Μοντελοποίηση Πεδίου

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ: το E-R µοντέλο. Κωνσταντίνος Ταραµπάνης Καθηγητής γρ

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Βάσεις Δεδομένων (Databases)

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

Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος

Δόμηση Απαιτήσεων: Εννοιολογική Μοντελοποίηση Δεδομένων

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

Βάσεις Δεδομένων Εισαγωγή

Μάθημα: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων: Καθ. Ιωάννης Βασιλείου ΕΝΔΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ

Τα στοιχεία των ΠΣ στο πλαίσιο της ΔΔ Μοντέλο Δεδομένων Data Model

Διαδικασία Ανάπτυξης ΣΔΒΔ

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

2. Το Μοντέλο Οντοτήτων- Συσχετίσεων

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο

Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση ίαυλος. ιαφάνεια 4-1

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Σχεδίαση Βάσεων Δεδομένων

Οντοκεντρικός Προγραμματισμός

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Μοντέλο Οντοτήτων Συσχετίσεων. Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 5: Διαγράμματα Κλάσης (1ο Μέρος)

Μάθημα: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων: Καθ. Ιωάννης Βασιλείου ΕΝΔΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Εισαγωγή στην πληροφορική

Πληροφοριακά Συστήµατα

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

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

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

Περιεχόμενο του μαθήματος

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Transcript:

Department of Computer Science University of Cyprus EPL342 Databases Lecture 6: ER III ER Model + Enhanced ER Model (Chapter 3.9, 4.1-4.4, Appendix A Elmasri-Navathe 7ED) Demetris Zeinalipour http://www.cs.ucy.ac.cy/courses/epl342 6-1

Περιεχόμενο Διάλεξης Κεφάλαιο 3: ER & Appendix A 3.9) Συσχετίσεις Υψηλότερου Βαθμού & Εργαλεία Μοντελοποίησης Δεδομένων AppA) Εναλλακτική Σημειογραφία για ER + UML Κεφάλαιο 4: Επεκταμένο Μοντέλο ΕR (EER) 4.1-4.2) Υποκλάσεις, Υπερκλάσεις και Κληρονομικότητα, Διαδικασίες Εξειδίκευσης και Γενίκευσης 4.3) Περιορισμοί και Χαρακτηριστικά της Εξειδίκευσης/Γενίκευσης 4.4) Ιεραρχίες, Πλέγματα και Πολλαπλή Κληρονομικότητα 6-2

Συσχετίσεις Υψηλότερου Βαθμού Τύποι συσχετίσεων βαθμού Ν 2-οντότητες δυαδική (binary) συσχέτιση 3-οντότητες τριαδική (ternary) συσχέτιση N-οντότητες Ν-αδική (n-ary) συσχέτιση Η συσχέτιση SUPPLY ορίζει τι PARTs προμηθεύει ένας SUPPLIER σε ένα PROJECT (και σε τι ποσότητες) Π.χ., (Supplier, Part, Project, Qty) (Lenovo, Thinkpad Τ60, SensorNet,1) (Lenovo, Thinkpad T60, Mobileware,1) (IBM, Thinkpad T60, SensorNet,2) 6-3

Συσχετίσεις Υψηλότερου Βαθμού Άλλα Παραδείγματα (3-αδική) Μάθημα: Student, Subject, Room (1111, ΕΠΛ342, ΧΩΔ109) (1112, ΕΠΛ342, ΧΩΔ109) (1111, ΕΠΛ343, ΧΩΔ110). (4-αδική) Παιχνίδι: Team1, Team2, Referee, Stadium (ΑΠΟΕΛ, ΟΜΟΝΟΙΑ, Ιωάννου, ΓΣΠ) (ΑΝΟΡΘΩΣΗ, ΑΠΟΛΛΩΝΑΣ, Χρίστου, ΓΣΖ). (5-αδική) Παιχνίδι: Team1,Team2, Referee, Stadium, Time (ΑΠΟΕΛ, ΟΜΟΝΟΙΑ, Ιωάννου, ΓΣΠ, 19:00) (ΑΝΟΡΘΩΣΗ, ΑΠΟΛΛΩΝΑΣ, Χρίστου, ΓΣΠ,11:00). 6-4

Συσχετίσεις Υψηλότερου Βαθμού (n>2) (Δομικοί Περιορισμοί) Για την διατύπωση δομικών περιορισμών μιας n-αδικής συσχέτισης προτρέπεται η χρήση του (min,max) και η ανάγνωση 1 οντότητας έναντι όλων των άλλων (αρά ΌΧΙ σε ζεύγη) Παράδειγμα (1,N): «Ένας SUPPLIER συμμετέχει στη σχέση SUPPLY από 0 μέχρι Ν φορές», π.χ., (Lenovo, Thinkpad Τ60, SensorNet, part1) (Lenovo, Thinkpad T60, Mobileware, part1) Κάθε Supplier έχει (0,N) συμμετοχή στη σχέση. (0,N) (1,1) * n-άδικές συσχετίσεις θα απεικονίζονται σε λίγο με ασθενή σχέση (1,1) Κάθε Project έχει (1,1) συμμετοχή στη σχέση. Κάθε Part έχει (1,1) συμμετοχή στη σχέση. 6-5

Συσχετίσεις Υψηλότερου Βαθμού (Μετατροπή σε Δυαδικές Συσχετίσεις) Μετατροπή σε Πολλαπλές Δυαδικές Συσχετίσεις Πολλά εργαλεία μοντελοποίησης επιτρέπουν μόνο δυαδικές συσχετίσεις A. Για να είναι ευκολότερο να εκφραστούν οι δομικοί περιορισμοί (δηλ., λόγοι Πληθικότητας, περιορισμοί συμμετοχής) B. Διότι δεν υπάρχει κάποιος προτυποποιημένος τρόπος μετάφρασης μιας n-αδικής συσχέτισης σε σχεσιακό σχήμα Κάτι τέτοιο όμως θέλει προσοχή διότι το αποτέλεσμα μπορεί να ΜΗΝ είναι λογικά ισοδύναμο π.χ., δες επόμενο παράδειγμα 6-6

Παράδειγμα Τριαδικής Συσχέτισης Μετατροπή pply σε ασθενή οντότητα è Λογικά Ισοδύναμα (n-αδική <> n Δυαδικές) (c) O προτρεπόμενος τρόπος αναπαράστασης των n-αδικών (a) (b) (supplier, part) (supplier,part,project) Quantity (supplier,part,project) Μετατροπή σε 3 δυαδικές σχέσεις è ΌΧΙ Λογικά Ισοδύναμα Ύπαρξη (supplier, part) στο (b) δεν σημαίνει ότι υπάρχει (supplier, part, project) ενώ στο (a) είναι ρητό. 6-7

Συσχετίσεις Υψηλότερου Βαθμού (n>2) (Παρουσίαση Περιορισμένων) Παράδειγμα Αναπαράστασης της Τριαδικής Συσχέτισης Attendance με 3 Δυαδικές Συσχετίσεις 6-8

Συσχετίσεις Υψηλότερου Βαθμού (n>2) (Παρουσίαση Περιορισμένων) Σημειώστε ότι είναι δυνατό να υπάρχουν και ασθενείς τύποι οντοτήτων (π.χ., Interview) οι οποίες να συμμετέχουν σε συσχετίσεις βαθμού > 2 (0,1) (0,1) (1,Μ) or (1,1) Πολλά Interview ή 1 interview INTERVIEW είναι ασθενής οντότητα, άρα οι δυο προσδιορίζουσες οντότητες δίνουν το κλειδί τους στην INTERVIEW * To Interview χαρακτηρίζεται από το Candidate.Name, Company.Cname και Interview.Dept_date 6-9

Συσχετίσεις Υψηλότερου Βαθμού (n > 2) (Δομικοί Περιορισμοί σε Ν-αδικές) Σημειώστε ότι εάν μια δυαδική συσχέτιση απορρέει από μια υψηλότερου βαθμού σχέση για όλες τις περιπτώσεις τότε η δυαδική αυτή σχέση είναι περιττή και μπορεί να αφαιρεθεί π.χ., η δυαδική σχέση TAUGHT_DURING απορρέει απευθείας από την τριαδική συσχέτιση OFFERS X Could_be_offered CAN_TEACH OFFERS TAUGHT_ DURING COULD_BE_OFFE RED Διάγραμμα Venn: Συνολοκεντρική Απεικόνιση 6-10

Εργαλεία Μοντελοποίησης Δεδομένων Υπάρχει ένας μεγάλος αριθμός εργαλείων που χρησιμοποιούνται για την εννοιολογική σχεδίαση και για την μετατροπή του σχεδίου στο σχεσιακό σχήμα. ΘΕΤΙΚΑ: Επιταχύνουν την διαδικασία ανάπτυξης μέσω γραφικών περιβαλλόντων ανάπτυξης. Επιτρέπουν την αυτόματη ανάπτυξη του τελικού σχεσιακού σχήματος (forward engineering) Επιτρέπουν την αυτόματη ανάπτυξη του εννοιολογικού σχήματος από το σχεσιακό σχήμα (backward ή reverse engineering) ΑΡΝΗΤΙΚΑ: Δεν υπάρχει κοινή σημειογραφία ανάμεσα στα εργαλεία με αποτέλεσμα να απαιτείται χρόνος εξοικείωσης. Τα περισσότερα εργαλεία αξιοποιούν μια σχεσιακή αναπαράσταση της πληροφορίας αντί της πιο αφαιρετικής ER προσέγγισης. 6-11

Εργαλεία για Εννοιολογική Σχεδίαση (ER και Non-ER Εργαλεία) COMPANY TOOL FUNCTIONALITY Embarcadero Technologies ER Studio DB Artisan Database Modeling in ER and IDEF1X Database administration, space and security management Oracle Developer 2000/Designer 2000 Database modeling, application development Popkin Software System Architect 2001 Data modeling, object modeling, process modeling, structured analysis/design Platinum (CA) Enterprise Modeling Suite: Erwin, BPWin, Paradigm Plus Data, process, and business component modeling Persistence Inc. Pwertier Mapping from O-O to relational model Rational (IBM) Rational Rose UML Modeling & application generation in C++/JAVA Chillisource Database Design Studio (DDS) Modeling, forward engineering and Backward Engineering of relational databases Supports: Chen Entity Relationship Diagram Sybase Enterprise Application Suite Data modeling, business logic modeling Visio Visio Enterprise Data modeling, design/reengineering Visual Basic/C++ We will use ERD+ (ER, Star, Relational Schemas and ER conversion) 6-12

Εργαλεία για Εννοιολογική Σχεδίαση (ER και Non-ER Εργαλεία) Στιγμιότυπο ER Διαγράμματος στο Database Design Studio (DDS) 6-13

Εργαλεία για Εννοιολογική Σχεδίαση (ER και Non-ER Εργαλεία) Στιγμιότυπο Διαγράμματος Δομής Δεδομένων (Data Structure Diagram) στον SQL Server Management Studio (ουσιαστικά αναπαράσταση του σχεσιακού σχήματος) 6-14

Εναλλακτική Σημειογραφία για ER (Alternative Notation for ER) Τα διαγράμματα ER (δηλ., τα Chen ER diagrams) είναι ένας δημοφιλής τρόπος εννοιολογικής απεικόνισης σχημάτων βάσεων Υπάρχουν πολλοί άλλοι τρόποι και η ακριβής σημειογραφία σε κάθε ένα από τα εργαλεία σχεδίασης βάσεων ποικίλει. Το Παράρτημα Α του βιβλίου συνοψίζει αρκετές από τις εναλλακτικές αυτές σημειογραφίες. Τα διαγράμματα κλάσεων UML είναι ένας άλλος εναλλακτικός τρόπος για εννοιολογική σχεδίαση και χρησιμοποιείται σε αρκετά εμπορικά πακέτα (ιδίως αυτά που υποστηρίζουν αντικειμενοστρεφείς έννοιες) 6-15

Εναλλακτική Σημειογραφία για ER (Άλλες Δημοφιλείς Σημειογραφίες) Α) Οντότητες, Γνωρίσματα και Συσχετίσεις Β) Παρουσίαση Γνωρισμάτων Object Oriented Analysis 6-16

Εναλλακτική Σημειογραφία για ER (Άλλες Δημοφιλείς Σημειογραφίες) Α) Παρουσίαση Λόγων Πληθικότητας Chicken-feet notation Β) Παρουσίαση Δομικών Περιορισμών 6-17

ERD Plus (used in Lab) Example Scenario (προσέξτε πως ο λόγος πληθικότητας και οι περιορισμοί συμμετοχής βρίσκονται στην άλλη πλευρά) Same Example with (Min,Max) which appear on the other side - Ο - v - Ο - v Every Employee works for 1 and only 1 Department A Department has from 0 to M employees 6-18

Εναλλακτική Σημειογραφία για ER (Διάγραμμα Κλάσης UML) Διαγράμματα Κλάσης UML χρησιμοποιούνται σε Αντικειμενοστρεφή Σχεδίαση * Συσχέτιση * Γνωρίσματα * Λειτουργίες * Γνώρισμα Συσχέτισης Σημείωση: Οι περιορισμοί min..max διαβάζονται αντίστροφα απ ότι στο διάγραμμα ER 6-19

Φροντιστηριακή Άσκηση 1 (Γκαλερί) Φτιάξετε ένα μοντέλο ER για μια γκαλερί. Μια γκαλερί κρατά πληροφορίες για καλλιτέχνες, τα ονόματα τους (τα οποία είναι μοναδικά), τόπο γεννήσεως, ηλικία και το στυλ της τέχνης τους. Για κάθε έργο τέχνης, ο καλλιτέχνης, το έτος που έγινε, τον τίτλο του (μοναδικός ανά καλλιτέχνη), τον τύπο τέχνης (π.χ. ζωγραφική, λιθογραφία, γλυπτική, φωτογραφία) και η τιμή του πρέπει να αποθηκεύονται. Τα έργα τέχνης είναι επίσης ταξινομημένα σε ομάδες διαφόρων ειδών, για παράδειγμα, πορτρέτα, τα έργα του Picasso, ή έργα του 19ου αιώνα ένα συγκεκριμένο έργο μπορεί να ανήκει σε περισσότερες από μία ομάδα. Κάθε ομάδα προσδιορίζεται από ένα όνομα (το οποίο είναι μοναδικό) που περιγράφει την ομάδα. Τέλος, η γκαλερί διατηρεί πληροφορίες σχετικά με τους πελάτες. Για κάθε πελάτη, η γκαλερί κρατά αυτό το όνομα του πελάτη (που είναι μοναδικό), διεύθυνση, συνολικό ποσό που δαπανάται στην γκαλερί και τους καλλιτέχνες και ομάδες τέχνης που ο πελάτης έχει την τάση να του αρέσουν. 6-20

Ενδεικτική Λύση Φροντιστηριακής Άσκησης 1 - Γκαλερί year type name title price Like_Grou p N Group N Classify N Artwork N Customer N Like_Artist N Artist 1 N Paints address name style name amount birthplace age 6-21

Ανοικτότητα Ανοικτότατα και Ασάφειες/Υποθέσεις Οποιαδήποτε πρόταση δεν περιορίζει την συμμετοχικότητα, πρέπει να παραμένει ανοικτή Π.χ., Οι γιατροί δουλεύουν σε Τμήματα (0,N) Ασάφειες Π.χ., Κάθε γιατρός δουλεύει σε Τμήματα (1,N) Π.χ., Οι γιατροί δουλεύουν στο πολύ ένα Τμήμα (0,1) Οποιαδήποτε πρόταση έχει ασάφεια, μπορεί να περιοριστεί σε λογικά πλαίσια με προσθήκη μιας υπόθεσης π.χ., Οι γιατροί δουλεύουν σε Τμήματα. Τα απογεύματα στα τμήματα δουλεύουν οι νοσοκόμες. Ασάφεια: Οι γιατροί δεν δουλεύουν; (Λογική) Υπόθεση: Υποθέτω ότι οι γιατροί δουλεύουν επίσης τα απογεύματα και κάθε ώρα της μέρας. 6-22

Φροντιστηριακή Άσκηση 2 (Πρόγραμμα Εξετάσεων) Φτιάξετε ένα ER-model για το προγραμματισμό των αιθουσών που χρησιμοποιούνται για τις τελικές εξετάσεις μαθημάτων. Κάθε μάθημα μπορεί να έχει πολλά τμήματα (με διαφορετικό ΜΑΜ) και κάθε τμήμα έχει την δικιά του εξέταση. Προφανώς δεν μπορεί να υπάρξει τμήμα χωρίς το αντίστοιχο μάθημα. Για κάθε εξέταση πρέπει να ξέρουμε για πιο μάθημα και τμήμα γίνεται καθώς επίσης σε ποια αίθουσα και πότε γίνεται. Κάθε μάθημα έχει όνομα και κωδικό και κάθε αίθουσα ανήκει σε μόνο ένα κτήριο και έχει ένα νούμερο. 6-23

Ενδεικτική Λύση Φροντιστηριακής Άσκησης 2 - Πρόγραμμα Εξετάσεων Κωδ. Όνοµα Μάθηµα 1 1 N Έχει Ηµεροµ. N Εξέταση N 1 Τµήµα ΜΑΜ 1 N Αριθµός Αίθουσα Ν Ανήκει 1 Κτήριο Κωδ. 6-24

Κωδ. Όνοµα Μάθηµ α Ερμηνεία (0, N) 1 N Έχει Ηµεροµ. N N Εξέταση N Τµήµα Ερμηνεία (0, N) ΜΑΜ Ερμηνεία (0, N) Αριθµός Αίθουσ α Ν Ανήκει 1 Κτήριο Κωδ. 6-25

Το Επεκταμένο ER (EER) (Enhanced ER) To Διάγραμμα ER στην αρχική του μορφή δεν υποστήριζε την έννοια της εξειδίκευσης (specialization) και την έννοια της γενίκευσης (generalization) π.χ., Εξειδικεύσεις CS-Student, Math-Student, κτλ. της γενικευμένης οντότητας Student, To Επεκταμένο ER (ΕΕR - Enhanced ER ή Extended ER) παρέχει επεκτάσεις για πληρέστερη μοντελοποίηση των απαιτήσεων Το EER συμπεριλαμβάνει αντικειμενοστρεφείς έννοιες όπως αυτή της κληρονομικότητας 6-26

Επεκταμένο ER (EER) (Υποκλάσεις και Υπερκλάσεις) Ένας τύπος οντότητας μπορεί να έχει διάφορες υποκατηγοριοποιήσεις, π.χ., EMPLOYEE μπορεί να χωριστεί σε: Βασισμένο στον τύπο εργασίας ενός EMPLOYEE π.χ., SECRETARY, ENGINEER, TECHNICIAN, Βασισμένο στον τρόπο πληρωμής ενός EMPLOYEE π.χ., SALARIED_EMPLOYEE, HOURLY_EMPLOYEE Βασισμένο σε άλλα χαρακτηριστικά Π.χ., MANAGER Τα διαγράμματα παρέχουν επεκτάσεις για να αναπαραστήσουν αυτές τις υπό-ομαδοποιήσεις οι οποίες ονομάζονται υποκλάσεις (subclasses) ή υποτύποι (subtypes) 6-27

Επεκταμένο ER (EER) (Υποκλάσεις και Υπερκλάσεις) Υποκλάσεις της Οντότητας EMPLOYEE d (disjoint): Ανεξάρτητα Σύνολα, δηλ., (Secretary Technician = ) 6-28

Επεκταμένο ER (EER) (Συσχετίσεις Υπερκλάσης / Υποκλάσης) Συσχετίσεις Υπερκλάσης / Υποκλάσης EMPLOYEE/SECRETARY EMPLOYEE/TECHNICIAN EMPLOYEE/ENGINEER Οι πιο πάνω συσχετίσεις μεταξύ υπερκλάσης / υποκλάσης ονομάζονται συχνά και συσχετίσεις IS-A (relationships) Π.χ., SECRETARY IS-A EMPLOYEE, TECHNICIAN IS-A EMPLOYEE,. Σημειώστε ότι μια οντότητα ΔΕΝ μπορεί να υπάρχει στη βάση δεδομένων απλά ως μέλος της υποκλάσης. Μια οντότητα ΠΡΕΠΕΙ να είναι και μέλος της υπερκλάσης (δηλαδή η υποκλάση κληρονομεί όλα τα γνωρίσματα της υπερκλάσης). 6-29

Επεκταμένο ER (EER) (Συσχετίσεις Υπερκλάσης / Υποκλάσης) Μια οντότητα δεν είναι υποχρεωτικό να ανήκει σε ΟΛΕΣ τις υποκλάσεις! Παράδειγμα: Ένας salaried employee που είναι και engineer ανήκει στα ακόλουθα: ENGINEER, and SALARIED_EMPLOYEE (δεν ανήκει στο Manager) Ένας συμβατικός employee ανήκει μόνο στην υποχρεωτική υποκλάση Salaried_Employee ή Ηourly_Employee (γιατί;) Διότι δεν είναι ΟΛΙΚΟΣ ο περιορισμός συμμετοχής Είναι ΟΛΙΚΟΣ ο περιορισμός συμμετοχής μόνο εδώ 6-30

Εξειδίκευση σε EER (Specialization in EER) Εξειδίκευση: η δήλωση του συνόλου υποκλάσεων μιας υπερκλάσης βάσει κάποιου αναγνωριστικού χαρακτηριστικού π.χ., Εξειδίκευση του EMPLOYEE βάσει του job type. Γνώρισμα που ορίζει την εξειδίκευση (εάν είχε μόνο ένα παιδί θα ήταν συνθήκη, π.χ., Job_type= Engineer ) 6-31

Γενίκευση σε EER (Generalization in EER) Γενίκευση (Generalization): η αντίστροφη διεργασία της εξειδίκευσης (δηλ., δήλωση υπερκλάσης από υποκλάσεις) γενίκευση 6-32

Περιορισμοί με Γενικεύσεις/Εξειδικεύσεις (Constraints in EER) Οντότητες, Εξειδικεύσεις και Γενικεύσεις ονομάζονται Κλάσεις (Classes) Υπάρχουν δυο είδη περιορισμών που εφαρμόζονται σε εξειδικεύσεις/γενικεύσεις: Περιορισμός Μη-Επικάλυψης (Disjointness Constraint): d (disjoint): Μη Επικάλυψης ( Υποκλάσεων = ) ή o (overlap): Επικάλυψης (( Υποκλάσεων <> ) ) Περιορισμός Πληρότητας ή Συμμετοχής (Completeness Constraint): Ολική Συμμετοχή (Total) Υπερκλάσης ή Μερική Συμμετοχή (Partial) Υπερκλάσης Σημειώστε ότι το αντίστροφο ισχύει εξ ορισμού: κάθε Υποκλάση έχει 6-33 EPL342: ολική Databases συμμετοχή- στην Demetris συσχέτιση Zeinalipour με (University την υπερκλάση. of Cyprus)

Περιορισμοί με Γενικεύσεις/Εξειδικεύσεις (Παράδειγμα Περιορισμών σε EER) Περιορισμός Μη-Επικάλυψης (Disjointness) 6-34

Περιορισμοί με Γενικεύσεις και Εξειδικεύσεις (Παραδείγματα Επικάλυψης σε EER) Περιορισμός Επικάλυψης (Overlap) Επιπλέον υπάρχει περιορισμός ολικής συμμετοχής (κάθε PART ανήκει σε 1 ή περισσότερες υποκατηγορίες Συνεπώς, υπάρχουν τέσσερεις συνδυασμοί εξειδίκευσης/γενίκευσης: Disjoint, total (d + διπλή γραμμή) Disjoint, partial (d + μονή γραμμή) Overlapping, total (ο + διπλή γραμμή) Overlapping, partial (ο + μονή γραμμή) 6-35

Ιεραρχίες και Πλέγματα Εξειδίκευσης/Γενίκευσης Μια υποκλάση μπορεί να εξειδικεύεται περαιτέρω δημιουργώντας μια Iεραρχία (hierarchy) ή Πλέγμα (lattice) Ιεραρχία (Hierarchy): Κάθε κόμβος (κλάση) έχει ένα γονέα (δηλαδή μια δενδρική ιεραρχία) Μονή Κληρονομικότητα (single inheritance); Πλέγμα (Lattice): Κάθε κόμβος (κλάση) μπορεί να έχει πολλαπλούς γονείς (δηλαδή ένας γράφος) Πολλαπλή Κληρονομικότητα (multiple inheritance) 6-36

Παράδειγμα Πλέγματος I (Employee) Ένας Engineering Manager κληρονομεί γνωρίσματα από τον Engineer, Manager και Salaried_Employee. Πλέγμα/Lattice Μηεπικαλυψη Μηεπικάλυψη, ολική Διαμοιραζόμενη Υποκλάση (Shared Subclass) (γνωρίσματα κληρονομούνται μόνο 1 φορά) 6-37

Παράδειγμα Πλέγματος II (University) Επικάλυψη Πλέγμα/Lattice Μη-Επικάλυψη Μη-Επικάλυψη Πολλαπλή Κληρονομικότητα (shared subclass) Μη-Επικάλυψη 6-38

ER vs ΕER Οποιοδήποτε ΕR μπορεί να διατυπωθεί με EER χωρίς απώλεια νοήματος. Οποιοδήποτε EER μπορεί να διατυπωθεί με ER ΜΕ απώλεια νοήματος σε κάποιες περιπτώσεις, π.χ., Δεν γνωρίζω πλέον εάν υπάρχει κάποιος empoloyee είναι ένα ένα ή περισσότερα L è επομένως χάνω κάποια απώλεια νοήματος που πρέπει αργότερα να την χειριστώ σε επίπεδο προγράμματος βάσης EER ER 6-39