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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

Πρόλογος Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Μια βόλτα στις βάσεις δεδομένων...25

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

ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

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

Βάση Δεδομένων: συλλογή από σχετιζόμενα δεδομένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ): λογισμικό για δημιουργία και χρήση μιας βάσης δεδομένων

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

Ενδεικτικές λύσεις ασκήσεων

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

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

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

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΘΕ ΠΛΗ11 2η ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ (ΓΕ2) ΕΝΔΕΙΚΤΙΚΗ ΕΠΙΛΥΣΗ

Βάσεις Δεδομένων. Μιχάλης Μαλιάππης

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

Transcript:

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

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

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

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

Παράδειγμα Θεωρείστε μια βάση δεδομένων για το πρόγραμμα σπουδών για ένα πανεπιστήμιο που να περιέχει τις παρακάτω πληροφορίες: ποιοι καθηγητές διδάσκουν ποια μαθήματα το όνομα, διεύθυνση, αριθμό ταυτότητας (που είναι μοναδικός) για τους Kαθηγητές το όνομα, κωδικό (που είναι μοναδικός), μονάδες, εξάμηνο για τα Μαθήματα Υποθέστε ότι καταγράφεται μόνο μια ανάθεση μαθημάτων (διδασκαλία) (πχ. η ανάθεση στο τρέχων ακαδημαϊκό έτος) Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 5

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

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

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

Εναλλακτικά, (Δυαδική) 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 Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 9

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) Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 10

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

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

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

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

Παράδειγμα Όνομα Υπό-επίβλεψη ΕΡΓΑΖΟΜΕΝΟΣ Ν 1 ΠΡΟΙΣΤΑΤΑΙ ΑΤ Επιβλέπων Ώρες Απασχόλησης Ν ΔΟΥΛΕΥΕΙ ΤΜΗΜΑ Όνομα 1 Αριθμός-Τμήματος Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 15

Σύνθετα Γνωρίσματα Ένα γνώρισμα για κάθε απλό γνώρισμα που απαρτίζει το σύνθετο. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 16

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

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

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

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

Παράδειγμα Οντότητες: Πρωτάθλημα, Ομάδες και Παίκτες Για τα πρωταθλήματα και τις ομάδες έχουμε το όνομα τους και για τους παίκτες τον αριθμό τους Τα ονόματα των πρωταθλημάτων είναι μοναδικά. Σε κανένα πρωτάθλημα δε συμμετέχουν δυο ομάδες με το ίδιο όνομα, αλλά μπορεί να υπάρχουν ομάδες με το ίδιο όνομα σε διαφορετικά πρωταθλήματα Σε καμιά ομάδα δεν υπάρχουν παίκτες με το ίδιο νούμερο. Ωστόσο, μπορεί να υπάρχουν παίκτες με το ίδιο νούμερο σε διαφορετικές ομάδες. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 21

Τριαδικές Συσχετίσεις IDπρομηθευτή τιμή ID-έργου Παρατήρηση για το συμβολισμό στο cow book ΠΡΟΜΗΘΕΥΤΗΣ B ΠΡΟΜΗΘΕΥΕΙ D ΕΡΓΟ Ο συμβολισμός με το «βέλος» σημαίνει ότι το εξάρτημα προσδιορίζει μοναδικά τον προμηθευτή και το έργο ΕΞΑΡΤΗΜΑ IDεξαρτήματος Ο συμβολισμός αυτός για τριαδικές συσχετικές δεν εκφράζει το ίδιο με τον συμβολισμό που χρησιμοποιεί 1-Ν-Μ Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 22

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

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

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

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

Κλάσεις C1 C ή ο ή d S1 S2 S3 S1Α... S2Α... ένα ενιαίο σχήμα για όλες τις κλάσεις; S3Α... ένα διαφορετικό σχήμα για κάθε υποκλάση; Χρειάζεται σχήμα για την υπερκλάση ή αρκούν σχήματα για την υποκλάση; Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 27

Κλάσεις επιλογή μιας σχέσης (επικάλυψη ή όχι ένα ή περισσότερα γνωρίσματα ένδειξης τύπου) επιλογή πολλαπλών σχέσεων (υπάρχει ή όχι σχέση για την υπερκλάση) Παράδειγμα Μάθημα (Υποχρεωτικό (εξάμηνο) Επιλογής (κατεύθυνση)) Χρειάζεται (σχήμα) σχέσης για την υπερκλάση ή αρκούν (σχήματα) σχέσεων για την υποκλάση; Γενική περίπτωση Ειδική περίπτωση: όταν ολική συμμετοχή και μη επικάλυψη Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 28

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

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

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

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

Παράδειγμα Θέλουμε να σχεδιάσουμε μια βάση δεδομένων για επεισόδια τηλεοπτικών σειρών. Στη βάση δεδομένων θέλουμε να έχουμε πληροφορία για: Ηθοποιούς: το όνομα τους, την ημερομηνία γέννησής τους, το φύλο τους και την πόλη που γεννήθηκαν. Θεωρείστε ότι ένας ηθοποιός προσδιορίζεται μοναδικά από τον συνδυασμό του ονόματος και της ημερομηνίας γέννησής του. Τηλεοπτικές Σειρές: τον τίτλο, τα χρόνια που προβάλλονται (πχ, 2005, 2006, 2010) και το κανάλι που τις προβάλλει. Επεισόδια: Κάθε τηλεοπτική σειρά έχει επεισόδια. Κάθε επεισόδιο έχει έναν αριθμό επεισοδίου και μια ημερομηνία προβολής. Εμφανίσεις Ηθοποιού Ρόλοι: Οι ηθοποιοί εμφανίζονται σε συγκεκριμένα επεισόδια τηλεοπτικών σειρών υποδυόμενοι έναν ρόλο (π.χ., «Ντάλια», «Ζουμπουλία») που μπορεί να είναι διαφορετικός σε κάθε επεισόδιο. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 33

Παράδειγμα (ασθενείς οντότητες) Θέλουμε να σχεδιάσουμε μια βάση δεδομένων στην οποία θα καταγράψουμε τις προτιμήσεις φοιτητών για φαγητά που σερβίρουν εστιατόρια. Για παράδειγμα, στο φοιτητή Γιάννη Πληροφορικόπουλου αρέσει η «Καρμπονάρα» που σερβίρει το εστιατόριο «La Trattoria» (αλλά πιθανών όχι η «Καρμπονάρα» που σερβίρει το εστιατόριο «Il Forno»), ενώ στη φοιτήτρια Μαρία Βασεδοπούλου αρέσει ο «Μουσακάς» που σερβίρει το εστιατόριο «Ο Μητσάρας». Κάθε φοιτητής χαρακτηρίζεται από τον αριθμό μητρώο του και το όνομά του. Ο αριθμός μητρώου είναι μοναδικός. Κάθε εστιατόριο έχει ένα όνομα (που είναι μοναδικό) και μια διεύθυνση. Ένα εστιατόριο σερβίρει φαγητά. Κάθε φαγητό έχει ένα όνομα και μια τιμή. Το όνομα του φαγητού είναι μοναδικό σε κάθε εστιατόριο, αλλά διαφορετικά εστιατόρια μπορεί να σερβίρουν ένα φαγητό με το ίδιο όνομα. Η τιμή του φαγητού μπορεί να είναι διαφορετική σε κάθε εστιατόριο. Για παράδειγμα, η «Καρμπονάρα» στοιχίζει 6 euro στο «Il Forno» και 10 euro στο «La Trattoria» Κάθε φαγητό σερβίρεται τουλάχιστον από ένα εστιατόριο και κάθε εστιατόριο σερβίρει τουλάχιστον ένα φαγητό. Σε κάθε φοιτητή αρέσει τουλάχιστον ένα φαγητό, αλλά μπορεί να υπάρχουν φαγητά που δεν αρέσουν σε κανέναν φοιτητή. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 34

Παράδειγμα Θέλουμε να σχεδιάσουμε μια βάση δεδομένων για ένα συνεργείο αυτοκινήτων, στην οποία διατηρούμε πληροφορία για επισκευές αυτοκινήτων: Για κάθε πελάτη, καταγράφουμε το (μοναδικό) όνομά του, τη διεύθυνσή του, και ένα τηλέφωνο επικοινωνίας. Για κάθε αυτοκίνητο έχουμε το μοναδικό αριθμό πινακίδων του, τη μάρκα (πχ FIAT, BMW) και το μοντέλο του (πχ, Punto, Polo). Για κάθε επισκευή, αποθηκεύουμε μια περιγραφή της εργασίας που έγινε (έως 200 χαρακτήρες), την ημερομηνία, και το συνολικό κόστος. Μια επισκευή περιλαμβάνει αλλαγή μηδέν ή περισσοτέρων εξαρτημάτων (π.χ., μπαταρία, τακάκια, κλπ). Για κάθε εξάρτημα καταγράφουμε το μοναδικό αριθμός εξαρτήματος, το όνομα του εξαρτήματος και το κόστος του. Επιπρόσθετα, ισχύουν οι παρακάτω περιορισμοί: Σε κάθε αυτοκίνητο γίνονται μία ή περισσότερες επισκευές. Κάθε πελάτης είναι ιδιοκτήτης ενός ή περισσοτέρων αυτοκινήτων. Κάθε αυτοκίνητο έχει ένα μοναδικό ιδιοκτήτη (αγνοούμε συν-ιδιοκτησίες αυτοκινήτων). Σε κάθε αυτοκίνητο μπορεί να γίνεται μόνο μια επισκευή σε μια συγκεκριμένη ημερομηνία. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 35

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

Ερωτήσεις; Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 37