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

Σχετικά έγγραφα
Βάσεις Δεδομένων (Databases)

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

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

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

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

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

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

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

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

Κεφάλαιο 3 Σχεσιακό Μοντέλο

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Κανόνες μετατροπής Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Σχήμα. Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ,

Lecture 21: Functional Dependencies and Normalization

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

Lecture 23: Functional Dependencies and Normalization

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

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

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

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

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

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

ΜοντέλοΟντοτήτωνΣυσχετίσεων & ΔιάγραμμαΟντοτήτων Συσχετίσεων. Μοντέλο Οντοτήτων Συσχετίσεων

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

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

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

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

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

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

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

Από το Μοντέλο Οντοτήτων Συσχετίσεων στο Σχεσιακό Μοντέλο

Lecture 14: SQL DML I

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

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

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


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

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

Lecture 8: RM I + RA I

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

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

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

Διδάσκων: Παναγιώτης Ανδρέου

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

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

Κεφάλαιο 9 Συσχετίσεις

Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσ

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

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

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


Βάσεις Δεδομένων Σύνθετα SQL queries

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

Βάσεις Δεδομένων. Ενότητα 5: Σημασιολογικός Σχεδιασμός. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Lecture 21: Functional Dependencies and Normalization

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

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

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Lecture 22: Functional Dependencies and Normalization

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

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


Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 7: RM I. Relational Data Model. (Chapter , Elmasri-Navathe 5ED)

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 11: ER2RM. ER and EER Model to Relational Model Mapping

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

Σχεσιακή δοµή δεδοµένων

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙ. RA Advanced + Examples

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

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

Βάσεις Δεδομένων. Ενότητα 4: Μοντελοποίηση Συσχέτισης Οντοτήτων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

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

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

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

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

Transcript:

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Αλγόριθμος Αντιστοίχισης ER/EER σε Σχεσιακό Διδάσκων: Παναγιώτης Ανδρέου EPL342: Databases Demetris Zeinalipour (University of Cyprus) 1

Εισαγωγή Μέχρι τώρα είδαμε πως μοντελοποιούμε εννοιολογικά τις απαιτήσεις των χρηστών, με χρήση του Διαγράμματος ER αλλά και πως το Σχεσιακό Μοντέλο/Σχεσιακή Άλγεβρα προσφέρουν ένα μαθηματικό υπόβαθρο για την αναπαράσταση και ανάκτηση δεδομένων σε Βάσεις Δεδομένων. Σε αυτή την διάλεξη θα δούμε πως μπορούμε να μετατρέψουμε ένα διάγραμμα ER στο αντίστοιχο του Σχεσιακό Σχήμα. Για την μετατροπή θα χρησιμοποιήσουμε κάποια προκαθορισμένα βήματα. Αυτά τα βήματα χρησιμοποιούνται και από εμπορικά CASE εργαλεία για την αυτόματη μετατροπή του Εννοιολογικού Σχήματος σε Σχεσιακό Σχήμα. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 2

Είσοδος: Διάγραμμα ER EPL342: Databases Demetris Zeinalipour (University of Cyprus) 3

Έξοδος: Σχεσιακό Σχήμα EPL342: Databases Demetris Zeinalipour (University of Cyprus) 4

Εισαγωγή Αλγόριθμος Αντιστοίχισης ER σε Σχεσιακό Βήμα 1: Κανονικές Οντότητες (Regular Entity Types) Σύνθετα Γνωρίσματα (Composite Attributes) Βήμα 2: Ασθενείς Ενότητες (Weak Entity Types) Βήμα 3: Δυαδικές 1:1 Συσχετίσεις (1:1 Relationships) Βήμα 4: Δυαδικές 1:ΝΣυσχετίσεις (1:N Relationships) Βήμα 5: Δυαδικές Μ:ΝΣυσχετίσεις (M:N Relationships) Βήμα 6: Πλειότιμα Γνωρίσματα (Multivalued attributes) Βήμα 7: Ν αδικές Συσχετίσεις (N ary Relationships) Αντιστοίχιση Δομών ΕER σε Σχεσιακό Βήμα 8: Επιλογές για Εξειδίκευση (Specialization) ή Γενίκευση (Generalization) Βήμα 9: Αντιστοίχιση Τύπων Ενώσεων (Union Types (Categories). EPL342: Databases Demetris Zeinalipour (University of Cyprus) 5

Βήμα 1: Κανονικές Οντότητες Βήμα 1: Κανονικές Οντότητες (Strong Entities) Για κάθε κανονική (όχι ασθενή) οντότητα E, ενός διαγράμματος ER, δημιούργησε μια νέα σχέση R η οποία θα περιλαμβάνει όλα τα απλά γνωρίσματα της E (ενώ τα σύνθετα γνωρίσματα απλοποιούνται). Επέλεξε ένα από τα κλειδιά της Ε ως το πρωτεύων κλειδί της R. Εάν το κλειδί είναι σύνθετο (composite), τότε τα απλά γνωρίσματα που το απαρτίζουν θα προσδιορίζουν το κλειδί της R (Πλειότιμα θα συζητηθούν μετά) Παράδειγμα: E R EPL342: Databases Demetris Zeinalipour (University of Cyprus) 6

Βήμα 4: Δυαδικές Συσχετίσεις 1:Ν Βήμα 4: Δυαδικές Συσχετίσεις 1:Ν, Ν:1 Μέθοδος ξένου κλειδιού: Ανάθεσε το πρωτεύων κλειδί (στη πλευρά του 1, δηλ., το Τ) ως Ξένο Κλειδί στην πλευρά του Ν (δηλ., το S) Δηλαδή απλά, μεταφέρουμε το πρωτεύων κλειδί προς την κατεύθυνση του N. Ομοίως, οποιαδήποτε απλά χαρακτηριστικά της συσχέτισης R να ανατεθούν και αυτά ως γνωρίσματα της σχέσης S. Π.χ., εάν η «Works_for» είχε το πεδίο «hours» τότε και αυτό θα ανατεθεί στη σχέση S. Παράδειγμα: R S dno Τ EPL342: Databases Demetris Zeinalipour (University of Cyprus) 7

Βήμα 5: Δυαδικές Συσχετίσεις M:Ν Βήμα 5: Δυαδικές Συσχετίσεις M:Ν Μέθοδος Νέας Σχέσης Συσχέτισης: Για κάθε M:N συσχέτιση R, δημιούργησε μια νέα σχέση S προσδίδοντας στο S τα πρωτεύοντα κλειδιά των δυο εμπλεκόμενων σχέσεων Δηλαδή απλά μετάφερε το πρωτεύων κλειδί των δυο εμπλεκόμενων σχέσεων και δημιούργησε μια νέα Σχέση. Ομοίως, οποιαδήποτε απλά χαρακτηριστικά της συσχέτισης R γίνονται γνωρίσματα της νέας σχέσης. Π.χ., εάν η «Works_on» είχε το πεδίο «hours» τότε και αυτό θα ανατεθεί στη νέα σχέση S. R S ssn pno EPL342: Databases Demetris Zeinalipour (University of Cyprus) 8

Βήμα 2: Ασθενείς Οντότητες Βήμα 2: Ασθενείς Οντότητες (Weak Entities) Για κάθε ασθενή οντότητα W στο διάγραμμα ER, με προσδιορίζουσα σχέση Ε (owner entity), δημιούργησε μια σχέση R στην οποία θα περιλαμβάνονται όλα τα απλά γνωρίσματα της W. Παρόμοια με το Βήμα 4 (1:Ν), Πρόσθεσε ένα ξένο κλειδί στη R, το οποίο θα αναφέρεται πάνω στο πρωτεύων κλειδί της προσδιορίζουσας σχέσης της R. Πρωτεύων Κλειδί R: Πρωτ. Κλειδί Ε + Μερικό Κλειδί W R E W EPL342: Databases Demetris Zeinalipour (University of Cyprus) 9

Βήμα 2: Ασθενείς Οντότητες (συν.) Παράδειγμα 2: EPL342: Databases Demetris Zeinalipour (University of Cyprus) 10

Βήμα 2: Ασθενείς Οντότητες (συν.) Παράδειγμα 3: DEPENDENT 1 M HAS INTERESTS DEPENDENT Essn Dependent_name Sex Bdate Relationship INTERESTS INTID INTEREST_NAME Essn Dependent_name EPL342: Databases Demetris Zeinalipour (University of Cyprus) 11

Βήμα 6:Πλειότιμα Γνωρίσματα (MultivaluedAttr) Βήμα 6:Πλειότιμα Γνωρίσματα (MultivaluedAttr) Μέθοδος Νέας Σχέσης Συσχέτισης: Για κάθε πλειότιμο γνώρισμα A μιας σχέσης, δημιούργησε μια νέα σχέση R η οποία θα έχει ως πρωτεύων κλειδί τον συνδυασμό:a, ξένο κλειδί στην αρχική σχέση του A. Εάν τυγχάνει το πλειότιμο γνώρισμα να είναι και σύνθετο τότε αυτό αναλύεται σε απλά γνωρίσματα Π.χ., ALUMNUS(ssn,name,degrees{Year,Degree,Major}) μετατρέπεται σε ALUMNUS(ssn,name) και DEGREE(ssn, year, degree, major) Α R R EPL342: Databases Demetris Zeinalipour (University of Cyprus) 12

Βήμα 7: N αδικές Συσχετίσεις Βήμα 7: N αδικές Συσχετίσεις Μέθοδος Νέας Σχέσης Συσχέτισης: Όπως και στις M:N συσχετίσεις, έτσι και εδώ δημιουργούμε μια νέα σχέση S για κάθε n αδική συσχέτιση, όπου n>2. Όμοια με τις M:N, Κλειδί της S γίνεται ο συνδυασμός των πρωτευόντων κλειδιών των εμπλεκόμενων σχέσεων. Επίσης, οποιαδήποτε απλά γνωρίσματα της n αδικής συσχέτισης γίνονται γνωρίσματα της νέας σχέσης S. sname partno projname EPL342: Databases Demetris Zeinalipour (University of Cyprus) 13

Βήμα 3: Δυαδικές Συσχετίσεις 1:1 Υπάρχουν 3 διαφορετικές προσεγγίσεις: 1. Μέθοδος Ξένου Κλειδιού: Επέλεξε το κλειδί μιας εκ των δυο σχέσεων και ανάθεσε το ως ξένο κλειδί στην άλλη. H ανάθεση του Ξένου Κλειδιού πρέπει να γίνει από την πλευρά της ολικής συμμετοχής (εάν υπάρχει), Με αυτό τον τρόπο θα αποφευχθούν αχρείαστα NULLs, π.χ., Department (Dname, Dnumber, Mgr_ssn, Mgr_start_date) ΝΟ NULLS Employee(Fname,,SSN, Mgr_ssn, Mgr_start_date) MANY NULLS ssn 2. Μέθοδος Συγχώνευσης Σχέσεων: Εάν ΚΑΙ οι δυο έχουν ολική συμμετοχή (συνεπώς τον ίδιο αριθμό από πλειάδες) τότε μπορούμε να συγχωνεύσουμε τις δύο σχέσεις. 3. Μέθοδος Παραπομπής: Δημιουργία καινούριας σχέσης και παρόμοια με Μ:Ν σχέσεις EPL342: Databases Demetris Zeinalipour (University of Cyprus) 14

EER σε Σχεσιακό Θυμηθείτε ότι, στο EER υπάρχουν οι έννοιες εξειδίκευσης (specialization) και γενίκευσης (generalization) Επικάλυψη Ολική Συμμετοχή Μη- Επικάλυψη Πολλαπλή Κληρονομικότητα (shared subclass) Υπάρχουν ξεχωριστοί κανόνες αναπαράστασης τους στο Σχεσιακό Μοντέλο (Βήμα 8 και Βήμα 9) Μπορούν να εκφραστούν με συνδυασμό προηγούμενων κανόνων (π.χ, Βήμα 3 (1:1) και Βήμα 2 (Ασθενείς)) Σημειώστε ότι τα προηγούμενα βήματα μετατροπής σε από ER σε Σχεσιακό συνεχίζουν να υφίστανται EPL342: Databases Demetris Zeinalipour (University of Cyprus) 15

Αντιστοίχηση Εξειδίκευσης/Γενίκευσης Βήμα 8 Α: Διάσπαση σε Πολλαπλές σχέσεις (Υπερκλάση/Υποκλάσεις) Δημιουργούμε καινούριες σχέσεις, για κάθε μία υποκλάση οι οποίες περιλαμβάνουν τα χαρακτηριστικά της κάθε υποκλάσης. Το κλειδί της υπερκλάσης, κληρονομείται από την κάθε υποκλάση σαν πρωτεύων κλειδί EMPLOYEE Ssn Fname Minit Lname Bdate Address JobType SECRETARY Ssn Typing Speed ENGINEER TECHNICIAN Ssn Eng_type Ssn Tgrade Πλεονέκτημα: Κατάλληλο για οποιαδήποτε εξειδίκευση (ολική/μερική, επικάλυψη/μη-επικάλυψη) Μειονέκτημα: Για να χρησιμοποιήσουμε μια υποκλάση πρέπει πρώτα να την συνενώσουμε με την σχέση υπερκλάσης. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 16

Αντιστοίχηση Εξειδίκευσης/Γενίκευσης Βήμα 8 Β: Διάσπαση σε Πολλαπλές σχέσεις (Μόνο Υποκλάσεις) Δημιουργούμε καινούριες σχέσεις, για κάθε μία υποκλάση οι οποίες περιλαμβάνουν τα χαρακτηριστικά της κάθε υποκλάσης αλλά και της υπερκλάσης. Το κλειδί της υπερκλάσης, κληρονομείται από την κάθε υποκλάση σαν πρωτεύων κλειδί SECRETARY Ssn Fname Minit Lname Bdate Address Typing Speed TECHNICIAN Ssn Fname Minit Lname Bdate Address Tgrade ENGINEER Πλεονέκτημα: Η υποκλάση μπορεί να χρησιμοποιηθεί χωρίς να προηγηθεί συνένωση. Μειονεκτήματα: εν δουλεύει για Μερική Συμμετοχή της Υπερκλάσης (π.χ., δεν μπορούμε να αναπαραστήσουμε κάποιο που δεν είναι Secretary, Technician ή Engineer) εν είναι βέλτιστο για Περιπτώσεις Επικάλυψης (overlap, o): Θα έχουμε επανάληψη της ίδιας πληροφορίας στις υποκλάσεις που δημιουργούνται. Ssn Fname Minit Lname Bdate Address Eng_type EPL342: Databases Demetris Zeinalipour (University of Cyprus) 17

Αντιστοίχηση Εξειδίκευσης/Γενίκευσης Βήμα 8 Γ: Συγχώνευση σε μία σχέση (Υπερκλάση με ένα γνώρισμα τύπου) Συγχωνεύουμε τις υποκλάσεις στην υπερκλάση και προσθέτουμε χαρακτηριστικό τύπου Ενσωματώνουμε τα χαρακτηριστικά των υποκλάσεων στην υπερκλάση EMPLOYEE Πλεονέκτημα: Η υποκλάση μπορεί να χρησιμοποιηθεί χωρίς να προηγηθεί συνένωση. Υποστηρίζει Μερική (+Ολική) Συμμετοχή (π.χ., για Rest job_type=νull) Μειονέκτημα: ημιουργεί πολλά NULLs (π.χ., πιο κάτω θα έχουμε 2 NULL ανά πλειάδα) εν δουλεύει για Περιπτώσεις Επικάλυψης (overlap, o) (δηλ., το job_type προσδιορίζει πάντα ένα ακριβώς ρόλο όχι περισσότερους) Ssn Fname Minit Lname Bdate Address JobType Typing Speed Tgrade Eng_type EPL342: Databases Demetris Zeinalipour (University of Cyprus) 18

Αντιστοίχηση Εξειδίκευσης/Γενίκευσης Βήμα 8 Δ: Συγχώνευση σε μία σχέση (Υπερκλάση με πολλαπλά γνωρίσματα τύπου (boolean)) Συγχωνεύουμε τις υποκλάσεις στην υπερκλάση και προσθέτουμε ένα boolean χαρακτηριστικό τύπου για κάθε υποκλάση Ενσωματώνουμε τα χαρακτηριστικά των υποκλάσεων στην υπερκλάση EMPLOYEE Πλεονέκτημα: Όλα τα προηγούμενα, δηλ., Χρήση Υποκλάσης χωρίς συνένωσης + Υποστηρίζει Μερική (+Ολική) Συμμετοχή. ΟΥΛΕΥΕΙ για Περιπτώσεις Επικάλυψης (overlap, o) (δηλ., ένας employee μπορεί να έχει ή περισσότερους ρόλους) Μειονέκτημα: ημιουργεί πολλά NULLs (π.χ., αν ένας employee δεν έχει εξειδίκευση (6xNULL) Ssn Fname Minit Lname Bdate Address IsSec? Typing Speed IsTec? Tgrade IsEng? Eng_type EPL342: Databases Demetris Zeinalipour (University of Cyprus) 19

Πολλαπλή Κληρονομικότητα Ερώτηση: Τι γίνεται σε περιπτώσεις Πολλαπλής Κληρονομικότητας όπου δημιουργούνται Διαμοιραζόμενες Υποκλάσεις (Shared Subclass); Απάντηση: Μπορεί να χρησιμοποιηθούν και οι τέσσερις προσεγγίσεις όπως περιγράφηκαν νωρίτερα (λαμβάνοντας υπόψη τους επί μέρους περιορισμούς). EPL342: Databases Demetris Zeinalipour (University of Cyprus) 20

Πολλαπλή Κληρονομικότητα: Παράδειγμα (Παρ. Ι) 8α) Πολλαπλές Σχέσεις (Υπέρ+Υπό) Γιατί όχι 8β; Λόγω «o» Ενδεχόμενη Λύση ( εν γνωρίζουμε τι άλλοι περιορισμοί υπάρχουν στην εφαρμογή) (Παρ. ΙΙ) 8γ) Μια Σχέση + Γνώρισμα Ένδειξης Γιατί όχι 8δ; Λόγω «d» (Παρ. ΙΙΙ) 8δ) Μια Σχέση + Πολλά Γνωρίσματα Εφόσον υπάρχει μη-επικάλυψη, θα ήταν πιο αποδοτικό να ήταν 8γ η Παρ. ΙΙΙ EPL342: Databases Demetris Zeinalipour (University of Cyprus) 21

Αντιστοίχιση Τύπων Ενώσεων Βήμα 9: Αντιστοίχιση Τύπων Ενώσεων [Union Types (Categories)] Δεν μπορούν να χρησιμοποιηθούν τα κλειδιά των υπερκλάσεων γιατί είναι διαφορετικά Χρησιμοποιείται ένα αναπληρωματικό κλειδί (surrogate key). Στο παράδειγμα δεξιά μπορούμε να φτιάξουμε μια νέα σχέση OWNER της οποίας το πρωτεύων κλειδί θα είναι το OwnerId. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 22

Αντιστοίχιση Τύπων Ενώσεων (συν.) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 23