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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 Το Σχεσιακό Μοντέλο και η Σχεσιακή Άλγεβρα

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή. Σχεδιασµός µιας Β

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

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


Παραστατικά µοντέλα ή µοντέλα υλοποίησης ή λογικά µοντέλα. Σχεσιακό Μοντέλο, Ιεραρχικό Μοντέλο, Δικτυωτό Μοντέλο

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

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

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

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

Εισαγωγή στα Πληροφοριακά Συστήματα

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 2 24/01/2012

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

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

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

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

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

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

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή. Βάσεις εδοµένων : Μοντέλο Οντοτήτων/Συσχετίσεων 1

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

Θέματα ανακεφαλαίωσης

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 2: Μοντελο Συσχετίσεων Οντοτήτων, Μελέτη Περίπτωσης: Η βάση δεδομένων των CD

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

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

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

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση

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

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

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

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

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

Βάσεις Δεδομένων : Λογικός Σχεδιασμός 1. καλών σχεσιακών σχημάτων. Λογικός Σχεδιασμός Σχεσιακών Σχημάτων. Γενικές Κατευθύνσεις.

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα

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

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

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

καλών σχεσιακών σχημάτων

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

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

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Μετατροπή Διαγράμματος Οντοτήτων Συσχετίσεων (E-R) σε σχεσιακό. Φροντιστήριο 3 ο

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

Διαδικασία σχεδιασμού Β.Δ.

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

ΔΙΑΓΡΑΜΜΑ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

Σχεδιασμός μιας Β : Βήματα

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

Σχεσιακό Μοντέλο Δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - Από το ΔΟΣ στη Σχεσιακή Β.Δ.

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

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Transcript:

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

Σχήμα μιας βάσης βεδομένων ACTOR Name Day Month Year Sex Nationality MOVIE Title Year Genre Runtime PLAYS Name Title Year Role * Υποθέτουμε μια τιμή για το Genre ΠΡΟΣΟΧΗ - το παρακάτω σχήμα για ταινίες είναι διαφορετικό από αυτό στις προηγούμενες διαφάνειες Ευαγγελία Πιτουρά 2

Στιγμιότυπο μιας βάσης δεδομένων ACTOR Name Day Month Year Sex Nationality George Clooney 6 May 1961 Male American Emmanuelle Riva 24 Feb 1927 Female French Sandra Bullock 26 Jul 1964 Female American Brad Pitt 18 Dec 1963 Male American Frank Sinatra 12 Dec 1915 Male American MOVIE Title Year Genre Runtime Amour 2012 drama 117 Gravity 2013 science-fiction 91 Ocean s Eleven 1960 crime 127 Frozen 2013 comedy 102 Ocean s Eleven 2001 crime 116 PLAYS Name Title Year Role George Clooney Gravity 2013 Mark Kowalski George Clooney Ocean s Eleven 2001 Danny Ocean Sandra Bullock Gravity 2013 Ryan Stone Emmanuelle Riva Amour 2012 Anne Frank Sinatra Ocean s Eleven 1960 Danny Ocean Brad Pitt Ocean s Eleven 2001 Rusty Ryan Ευαγγελία Πιτουρά 3

Τι θα δούμε σήμερα: 1.Μετατροπή διαγράμματος Ο/Σ σε σχεσιακό μοντέλο Ευαγγελία Πιτουρά 4

Γενικά Για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δημιουργούμε ένα σχήμα σχέσης που παίρνει το όνομα του αντίστοιχου τύπου. Ευαγγελία Πιτουρά 5

Οντότητες Ισχυροί τύποι οντοτήτων με μονότιμα απλά γνωρίσματα Για κάθε (ισχυρό) τύπο οντοτήτων Ε δημιουργούμε ένα σχήμα σχέσης R με τα ίδια γνωρίσματα - ένα για κάθε απλό γνώρισμα του Ε. Ευαγγελία Πιτουρά 6

Συσχετίσεις Γενικά, για κάθε συσχέτιση R μεταξύ n τύπων οντοτήτων που αντιστοιχούν στις σχέσεις S 1, S 2,, S n δημιουργούμε μια νέα σχέση R με γνωρίσματα: τα γνωρίσματα του πρωτεύοντος κλειδιού κάθε συμμετέχουσας σχέσης S i. Αυτά τα γνωρίσματα είναι και ξένα κλειδιά. τα γνωρίσματα της αρχικής συσχέτισης (αν υπάρχουν) Θα δούμε και κάποιες ειδικές περιπτώσεις Ευαγγελία Πιτουρά 7

Γενική Περίπτωση (παράδειγμα) A C M E 1 R E 2 N B X D E 1 E 2 A B C D R A C X Ευαγγελία Πιτουρά 8

(Δυαδική) 1-Ν Συσχέτιση Έστω μια 1-Ν δυαδική συσχέτιση R μεταξύ δύο τύπων οντοτήτων E1 και E2. Έστω ότι από την πλευρά του 1 είναι η E1. Ποιο είναι το πρωτεύον κλειδί της σχέσης που προκύπτει για τη συσχέτιση; Παράδειγμα: Εταιρεία Εργαζόμενος (1-Ν) Ευαγγελία Πιτουρά 9

(Δυαδική) 1-Ν Συσχέτιση A C 1 N E 1 R E 2 E 1 E 2 B X D A B C D A C R A C X E 1 R E 2 D B X Πχ ένας εργαζόμενος δουλεύει σε μια εταιρεία Ευαγγελία Πιτουρά 10

(Δυαδική) 1-Ν Συσχέτιση Εναλλακτικά, Αντί για νέα σχέση για τη συσχέτιση, μπορούμε να προσθέσουμε το πρωτεύον κλειδί της E1 ως γνώρισμα στη σχέση που αντιστοιχεί στην E2 (το οποίο είναι και ξένο κλειδί) A C 1 N E 1 R E 2 B X D A E 2 E 1 B C D A X Ευαγγελία Πιτουρά 11

A C Ποιο από τα δύο; 1 N E 1 R E 2 B X D E 2 E 1 C D A B R A C X E 1 E 2 A B C D A X Συμμετοχή (ολική/μερική) Συνένωση (join) Ευαγγελία Πιτουρά 12

(Δυαδική) 1-1 Συσχέτιση Για κάθε 1-1 δυαδική συσχέτιση R μεταξύ δύο τύπων οντοτήτων του διαγράμματος Ο/Σ που αντιστοιχούν στις σχέσεις Τ και S 1. επιλογή μιας εκ των Τ και S, έστω της S 2. το πρωτεύον κλειδί της S γίνεται ξένο κλειδί της Τ Παράδειγμα: καθηγητής διδασκαλία (1-1) Προτιμάμε τη σχέση ολική συμμετοχή, γιατί; Τα γνωρίσματα της R; που αντιστοιχεί σε τύπο οντοτήτων με Ευαγγελία Πιτουρά 13

(Δυαδική) 1-1 Συσχέτιση A C 1 1 E 1 R E 2 B X D E 2 E 1 A B C D A X Παράδειγμα: αυτοκίνητο/ιδιοκτήτης Ευαγγελία Πιτουρά 14

(Δυαδική) 1-1 Συσχέτιση Εναλλακτικά, συγχώνευση των S και T σε μία μόνο σχέση -- πότε; -- κλειδί; Ευαγγελία Πιτουρά 15

(Δυαδική) 1-Ν Συσχέτιση A C 1 1 E 1 R E 2 B X D Αλλά πρόβλημα με null στο κλειδί!!! Απαιτεί ολική συμμετοχή για τουλάχιστον μια από τις οντότητες A B C D X Ευαγγελία Πιτουρά 16

Παράδειγμα Ευαγγελία Πιτουρά 17

Παράδειγμα Θέλουμε να κατασκευάσουμε μια βδ για δρομολόγια τρένων. Ένα δρομολόγιο περνά από σταθμούς. Κάθε σταθμός έχει ένα (μοναδικό) όνομα και διεύθυνση. Κάθε δρομολόγιο χαρακτηρίζεται από ένα (μοναδικό) αριθμό, έχει έναν σταθμό ως αφετηρία, έναν σταθμό ως προορισμό, καθώς και ένα χρόνο αναχώρησης από την αφετηρία και ένα χρόνο άφιξης στον προορισμό. Επίσης, κάθε δρομολόγιο έχει τουλάχιστον έναν ενδιάμεσο σταθμό καθώς και ένα χρόνο άφιξης σε αυτόν. Τι αλλάζει αν αντί για «έναν τουλάχιστον» ενδιάμεσο σταθμό, έχουμε «μηδέν ή περισσότερους» ή με άλλα λόγια υπάρχουν και απευθείας δρομολόγια (δηλαδή, δρομολόγια χωρίς ενδιάμεσες στάσεις) Ευαγγελία Πιτουρά 18

Σύνθετα Γνωρίσματα Ένα γνώρισμα για κάθε απλό γνώρισμα που απαρτίζει το σύνθετο. Ευαγγελία Πιτουρά 19

Πλειότιμα Γνωρίσματα Για κάθε πλειότιμο γνώρισμα Α, κατασκευάζουμε μια σχέση R με γνωρίσματα: το Α (ή τα γνωρίσματα του Α, αν το Α είναι σύνθετο) και τα γνωρίσματα του πρωτεύοντος κλειδιού της σχέσης που αντιστοιχεί στον τύπο οντοτήτων ή συσχετίσεων του οποίου γνώρισμα είναι το Α (ως ξένο κλειδί) Ευαγγελία Πιτουρά 20

Παράδειγμα Nationality Sex Role Runtime Genre ACTOR N PLAYS M MOVIE Name Date-of-birth Year Title Day Month Year Ευαγγελία Πιτουρά 21

Παράδειγμα Θέλουμε να κατασκευάσουμε μια βάση δεδομένων με πληροφορίες για τις αξιολογήσεις εστιατορίων από χρήστες. Για κάθε χρήστη έχουμε ένα μοναδικό ID, το όνομα και το email του. Για κάθε εστιατόριο διατηρούμε το όνομα του, την πόλη στην οποία βρίσκεται, τη διεύθυνση του (οδό και αριθμό) και το είδος κουζίνας που σερβίρει. Ένα εστιατόριο μπορεί να σερβίρει παραπάνω από ένα είδη κουζίνας. Θεωρούμε ότι δεν υπάρχει εστιατόριο με το ίδιο όνομα στην ίδια πόλη. Κάθε χρήστης αξιολογεί ένα εστιατόριο με ένα βαθμό από το 1 έως το 10. Ένας χρήστης μπορεί να αξιολογεί πολλά εστιατόρια και ένα εστιατόριο μπορεί να έχει αξιολογήσεις από πολλούς χρήστες. Όλοι οι χρήστες έχουν αξιολογήσει τουλάχιστον ένα εστιατόριο αλλά μπορεί να υπάρχουν εστιατόρια χωρίς αξιολογήσεις. Ευαγγελία Πιτουρά 22

Παράδειγμα Θέλουμε να σχεδιάσουμε μια βάση δεδομένων για πόλεις και αποστάσεις. Συγκεκριμένα, θέλουμε να διατηρούμε το όνομα και τον πληθυσμό κάθε πόλης και την χιλιομετρική απόσταση ανάμεσα σε δύο πόλεις. Δώστε ένα κατάλληλο σχεσιακό μοντέλο Ευαγγελία Πιτουρά 23

Ασθενείς Τύποι Οντοτήτων Για κάθε ασθενή τύπο οντοτήτων Α που εξαρτάται από τον ισχυρό τύπο οντοτήτων Β (προσδιορίζον ιδιοκτήτης) δημιουργούμε ένα σχήμα σχέσης R με γνωρίσματα: 1. τα γνωρίσματα του Α, και 2. τα γνωρίσματα του πρωτεύοντος κλειδιού του Β (τα οποία είναι και ξένο κλειδί) Κλειδί (μερικό κλειδί+ πρωτεύον κλειδί) Δε δημιουργούμε σχέση για την προσδιορίζουσα συσχέτιση (είναι περιττή) Ευαγγελία Πιτουρά 24

Παράδειγμα ΚΜ Όνομα ΜΑΘΗΜΑ Όνομα ΦΟΙΤΗΤΗΣ 1 ΔΜ Όνομα ΑΤ ΑΜ ΕΧΕΙ ΚΑΘΗΓΗΤΗΣ Ν ΠΑΡΑΚΟΛΟΥΘΕΙ Μ Ν Αίθουσα ΤΜΗΜΑ ΔΙΔΑΣΚΕΙ 1 Ν Αριθμός-Τμήματος Ευαγγελία Πιτουρά 25

Παράδειγμα K1 E2B1 K2 K3 E3B1 E1 1 N R1 E2 1 N R2 E3 E3B2 E1B1 1 E1B2 K4 RA4 1 K5 N K6 N 1 R3 E4 R4 E5 R5 E6 M E4B1 E4B2 E5B1 E5B2 E6B1 Ευαγγελία Πιτουρά 26

Παράδειγμα (ασθενείς οντότητες) Οντότητες: Πρωτάθλημα, Ομάδα και Παίκτης Οι ομάδες συμμετέχουν σε πρωταθλήματα και οι παίκτες παίζουν σε ομάδες. Για τα πρωταθλήματα και τις ομάδες έχουμε το όνομα τους και για τους παίκτες τον αριθμό τους Τα ονόματα των πρωταθλημάτων είναι μοναδικά. Σε κανένα πρωτάθλημα δε συμμετέχουν δυο ομάδες με το ίδιο όνομα, αλλά μπορεί να υπάρχουν ομάδες με το ίδιο όνομα σε διαφορετικά πρωταθλήματα Σε καμιά ομάδα δεν υπάρχουν παίκτες με το ίδιο αριθμό. Ωστόσο, μπορεί να υπάρχουν παίκτες με το ίδιο αριθμό σε διαφορετικές ομάδες. Ευαγγελία Πιτουρά 27

Τριαδικές Συσχετίσεις IDπρομηθευτή Αμοιβή ID-έργου ΠΡΟΜΗΘΕΥΤΗΣ ΠΡΟΜΗΘΕΥΕΙ ΕΡΓΟ B ΕΞΑΡΤΗΜΑ D Ποια είναι τα κλειδιά της Προμηθεύει στο σχεσιακό μοντέλo; IDεξαρτήματος Γενικά, διαφορετικές περιπτώσεις με βάση την πληθικότητα Ευαγγελία Πιτουρά 28

Τριαδικές Συσχετίσεις IDπρομηθευτή Αμοιβή ID-έργου ΠΡΟΜΗΘΕΥΤΗΣ Ν ΠΡΟΜΗΘΕΥΕΙ Μ ΕΡΓΟ Προμηθευτής και έργο προσδιορίζουν μοναδικά το εξάρτημα B 1 ΕΞΑΡΤΗΜΑ D (δηλαδή, ένας συγκεκριμένος προμηθευτής μόνο ένα εξάρτημα ανά έργο) IDεξαρτήματος Σχεσιακό μοντέλο; Ευαγγελία Πιτουρά 29

Τριαδικές Συσχετίσεις IDπρομηθευτή Αμοιβή ID-έργου ΠΡΟΜΗΘΕΥΤΗΣ 1 ΠΡΟΜΗΘΕΥΕΙ Ν ΕΡΓΟ B 1 D Ισχύουν και τα δύο ΕΞΑΡΤΗΜΑ IDεξαρτήματος Ευαγγελία Πιτουρά 30

Κλάσεις C C1 ή ο ή d S1 S2 S3 S1Α... S2Α... S3Α... Γενική λύση Μια σχέση για την υπερκλάση Μια σχέση για κάθε υποκλάση Ευαγγελία Πιτουρά 31

Παράδειγμα 32

Κλάσεις Άλλες επιλογές Μια μόνο σχέση (για την υπερκλάση) Null τιμές Ξένα κλειδιά; Σχέσεις μόνο για τις υποκλάσεις πότε; Ολική συμμετοχή μη επικάλυψη - Πρέπει να επαναλάβουμε τα γνωρίσματα Παράδειγμα Μάθημα (Υποχρεωτικό (εξάμηνο) Επιλογής (κατεύθυνση)) Ευαγγελία Πιτουρά 33

Ανακεφαλαίωση Τύπος οντοτήτων Τύπος συσχέτισης 1:1 ή 1:Ν Τύπος συσχέτισης Μ:Ν (και γενικά) n-αδικός τύπος συσχέτισης Απλό γνώρισμα Σύνθετο γνώρισμα Πλειότιμο γνώρισμα Σχέση (οντοτήτων) Ξένο κλειδί ή Σχέση (συσχέτισης) Σχέση (συσχέτισης) με 2 ξένα κλειδιά Σχέση (συσχέτισης) με n ξένα κλειδιά Γνώρισμα Σύνολο από γνωρίσματα Σχέση και ξένο κλειδί Ευαγγελία Πιτουρά 34

Σε επόμενα μαθήματα Μετά τη φάση του σχεδιασμού, καταλήγουμε σε ένα σχεσιακό σχήμα. Δυο ερωτήματα 1. Είναι ο σχεδιασμός μας καλός; Θεωρία Κανονικών Μορφών 2. Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα ΣΔΒΔ; SQL Θα αρχίσουμε από το ερώτημα 2 Ευαγγελία Πιτουρά 35

Ερωτήσεις; Ευαγγελία Πιτουρά 36

Παράδειγμα (ιεραρχίες) Θεωρείστε μια βάση δεδομένων που διατηρεί πληροφορίες για συλλόγους, φοιτητές και καθηγητές ενός Πανεπιστημίου, πιο συγκεκριμένα Κάθε σύλλογος έχει έναν τίτλο και ένα μοναδικό αναγνωριστικό. Για κάθε φοιτητή έχουμε το όνομά του και ένα μοναδικό αριθμό μητρώου. Ένας καθηγητής έχει έναόνομα και έναμοναδικό αναγνωριστικό. Οι φοιτητές ανήκουν σε έναν ή περισσότερους συλλόγους. Καταγράφουμε την ημερομηνία εγγραφής του φοιτητή στο σύλλογο. Κάθε σύλλογος έχει τουλάχιστον έναν φοιτητή ως μέλος Ένας καθηγητής είναι είτε μερικής είτε πλήρους απασχόλησης. Για έναν καθηγητή μερικής απασχόλησης καταγράφουμε το ποσοστό της απασχόλησής του. Για έναν καθηγητή πλήρους απασχόλησης καταγράφουμε τις ώρες γραφείου του. Κάθε σύλλογος έχει ακριβώς έναν καθηγητή ως σύμβουλο, ο οποίος πρέπει να είναι καθηγητής πλήρους απασχόλησης. Δώστε ένα μοντέλο Οντοτήτων/Συσχετίσεων και ένα σχεσιακό μοντέλο. Τι αλλάζει στο μοντέλο Οντοτήτων/Συσχετίσεων και τι στο σχεσιακό μοντέλο αν δεν ισχύει ο περιορισμός ότι ο σύμβουλος καθηγητής πρέπει να είναι ολικής απασχόλησης Ευαγγελία Πιτουρά 37

Παράδειγμα Υποθέστε ότι σας έχουν προσλάβει σε ένα τμήμα «Επιστήμης Πουλερικών» και σας ζητούν να σχεδιάστε τη βάση δεδομένων τους. Το βασικό πρόβλημα είναι η αποθήκευση πληροφορίας σχετικά με μια σειρά από πειράματα πάνω στον τρόπο εκτροφής κοτόπουλων. Κάθε κοτόπουλο έχει έναν όνομα, ένα είδος, μια ημερομηνία γέννησης και ένα μοναδικό αριθμό που ονομάζεται ID-κοτόπουλου. Τα πειράματα έχουν ένα όνομα, ένα μοναδικό αριθμό που ονομάζεται IDπειράματος, μια ημερομηνία έναρξης και μια ημερομηνία περάτωσης. Για κάθε κοτόπουλο που συμμετέχει σε κάθε πείραμα, πρέπει να καταγράψετε το βάρος του πριν και μετά το πείραμα. Κάθε κοτόπουλο συμμετέχει το πολύ σε ένα πείραμα άλλα σε κάθε πείραμα συμμετέχουν πολλά κοτόπουλα. Επίσης, κάθε πείραμα αφορά τουλάχιστον ένα κοτόπουλο. Σχεδιάστε το διάγραμμα Οντοτήτων/Συσχετίσεων (Ο/Σ) που να αναπαριστά την παραπάνω πληροφορία. Ευαγγελία Πιτουρά 38

Παράδειγμα (συνέχεια) Μετατρέψτε το διάγραμμα σε σχεσιακό σχήμα. Δώστε δυο διαφορετικά σχεσιακά σχήματα, ένα κατάλληλο στην περίπτωση που σχεδόν όλα τα κοτόπουλα συμμετέχουν σε κάποιο πείραμα και ένα κατάλληλο για την περίπτωση που μόνο ένα πολύ μικρό ποσοστό συμμετέχει σε αυτά. Εξηγείστε. Ευαγγελία Πιτουρά 39

Παράδειγμα Στους παγκόσμιους κολυμβητικούς αγώνες του 2009 στη Ρώμη υπάρχουν πολλά ατομικά αγωνίσματα. Θέλουμε να σχεδιάσουμε μια βάση δεδομένων για αυτά τα αγωνίσματα στην οποία θα καταγράφετε η εξής πληροφορία. Κάθε αγώνισμα έχει ένα μοναδικό όνομα (πχ Ελεύθερο Γυναικών 100μ, Πεταλούδα Ανδρών 200μ κλπ). Για κάθε αγώνισμα, θέλουμε να καταγράψουμε το παγκόσμιο ρεκόρ, το ρεκόρ αγώνων και το όνομα του νικητή στους αγώνες (αυτού που πήρε το χρυσό μετάλλιο). Κάθε αγώνισμα έχει έναν αριθμό από κούρσες. Κάθε κούρσα έχει και ένα όνομα (πχ τελικός, ημιτελικός, 1η προκριματική σειρά, κλπ). Για κάθε κούρσα θέλουμε να καταγράψουμε την ημερομηνία και την ώρα διεξαγωγής της. Κάθε κολυμβητής έχει ένα μοναδικό όνομα (πχ Michael Phelps). Για κάθε αθλητή καταγράφουμε επίσης την ηλικία του και τη χώρα καταγωγής του. Κάθε κολυμβητής αγωνίζεται σε μία ή παραπάνω κούρσες και θέλουμε να καταγράψουμε το χρόνο που κάνει σε κάθε κούρσα που συμμετέχει. Ευαγγελία Πιτουρά 40

Τριαδικές σε δυαδικές (επανάληψη) Αμοιβή IDπρομηθευτή IDέργου ΠΡΟΜΗΘΕΥΤΗΣ Ν ΠΡΟΜΗΘΕΥΕΙ Μ ΕΡΓΟ 1 IDπρομηθευτή ID-Εξαρτήματος ID-έργου ΕΞΑΡΤΗΜΑ ΠΡΟΜΗΘΕΥΤΗ ΕΞΑΡΤΗΜΑ ΕΡΓΟ IDεξαρτήματος 1 1 1 ΠΡΟΜΗΘΕΥΕΙ ΧΡΕΙΑΖΕΤΑΙ ΑΦΟΡΑ Ν Ν Αμοιβή Ν ΣΥΜΒΑΣΗ Ευαγγελία Πιτουρά 41