Βάςεισ Δεδομζνων Ι Ενότητα 4: Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ
Άδειεσ Χρήςησ Το παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χριςθσ Creative Commons. Για εκπαιδευτικό υλικό, όπωσ εικόνεσ, που υπόκειται ςε άλλου τφπου άδειασ χριςθσ, θ άδεια χριςθσ αναφζρεται ρθτϊσ. Βάςεισ Δεδομζνων Ι- Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ
Χρηματοδότηςη Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτα πλαίςια του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο ΤΕΙ Κεντρικισ Μακεδονίασ» ζχει χρθματοδοτιςει μόνο τθ αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Ρρογράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ πόρουσ. Βάςεισ Δεδομζνων Ι- Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ
Ενότητα 4 Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό Δρ. Τςιμπίρθσ Αλκιβιάδθσ
Περιεχόμενα ενότητασ 1. Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό 2. Ιςχυροί τφποι οντοτήτων 3. Αςθενείσ τφποι οντοτήτων 4. Συςχετίςεισ 1-1 5. Συςχετίςεισ 1-Ν 6. Συςχετίςεισ Ν-Μ 7. Γνωρίςματα Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 5
Σκοποί ενότητασ Σκοπόσ τθσ ενότθτασ αυτισ είναι θ κατανόθςθ του τρόπου με τον οποίο γίνεται θ μετατροπι ενόσ μοντζλου οντοτιτων ςυςχετίςεων ςτο ςχεςιακό μοντζλο. Η ςωςτι μετατροπι των οντοτιτων με τα γνωρίςματά τουσ (απλά, ςφνκετα, πλειότιμα κλπ) αλλά και των ςυςχετίςεων (1:1, 1:Ν και Ν:Μ) εγγυάται το ςωςτό ςχεδιαςμό τθσ ΒΔ που κα προκφψει. Υπάρχουν ςαφείσ κανόνεσ που αν δεν τθρθκοφν κα αλλάξει όλο το νόθμα τθσ ΒΔ με επακόλουκα προβλιματα ςυνζπειασ και πλεοναςμοφ. Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 6
Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό Για κάκε τφπο οντοτιτων και για κάκε τφπο ςυςχετίςεων Ν:Μ δθμιουργοφμε ζνα ςχιμα ςχζςθσ αντίςτοιχου τφπου. που παίρνει το όνομα του Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 7
Ιςχυροί τφποι οντοτήτων Ιςχυροί τφποι οντοτήτων με μονότιμα γνωρίςματα Για κάκε (ιςχυρό) τφπο οντοτιτων Ε δθμιουργοφμε ζνα ςχιμα ςχζςθσ R με τα ίδια γνωρίςματα - ζνα για κάκε απλό γνϊριςμα του Ε. Αν το Ε ζχει ςφνθετα γνωρίςματα, ςτο ςχεςιακό ςχιμα R ζχουμε ζνα γνϊριςμα για κάκε απλό γνϊριςμα που απαρτίηει το ςφνκετο. Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 8
Αςθενείσ τφποι οντοτήτων Αςθενείσ τφποι οντοτήτων με (μονότιμα) γνωρίςματα Για κάκε αςκενι τφπο οντοτιτων Α που εξαρτάται από τον ιςχυρό τφπο οντοτιτων Β (προςδιορίηον ιδιοκτιτθσ) δθμιουργοφμε ζνα ςχιμα ςχζςθσ R με γνωρίςματα: τα γνωρίςματα του μερικοφ κλειδιοφ του Α τα γνωρίςματα του πρωτεφοντοσ κλειδιοφ του Β Ξζνο κλειδί Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 9
Αςθενείσ τφποι οντοτήτων Παράδειγμα: Ημ_γεννθςθσ Κωδ_Κακθγθτι...... Επίκετο Πνομα Σχζςθ Κακθγθτισ 1 Ν Εξαρτϊμενα μζλθ Ο πίνακασ εξαρτϊμενα μζλθ είναι αςκενισ οντότθτα. Κατά τθ μετατροπι ςτο ςχεςιακό μοντζλο δθμιουργείται ζνασ νζοσ πίνακασ που περιζχει τα πεδία τθσ αςκενοφσ οντότθτασ και ζνα ξζνο κλειδί (το πρωτεφον κλειδί του πίνακα κακθγθτζσ). Ο ςυνδυαςμόσ όλων των πεδίων αποτελεί το πρωτεφον κλειδί του πίνακα. Εξαρτώμενα μζλη Επίκετο Πνομα Ημ_γεννθςθσ Σχζςθ Κωδ_Κακθγθτι Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 10
Συςχετίςεισ Γενικά, για κάκε ςυςχζτιςθ R μεταξφ n τφπων οντοτιτων που αντιςτοιχοφν ςτισ ςχζςεισ S 1, S 2,, S n δθμιουργοφμε μια νζα ςχζςθ R με γνωρίςματα: τα γνωρίςματα (ξζνα κλειδιά) του πρωτεφοντοσ κλειδιοφ κάκε ςυμμετζχουςασ ςχζςθσ S i τα γνωρίςματα τθσ R (αν υπάρχουν) Συςχετίςεισ N:M Για κάκε ςυςχζτιςθ R μεταξφ 2 τφπων οντοτιτων που αντιςτοιχοφν ςτισ ςχζςεισ S και Τ Δθμιουργία νζασ ςχζςθσ R με γνωρίςματα τα ιδθ υπάρχοντα γνωρίςματα τθσ ςυςχζτιςθσ Τα γνωρίςματα (ωσ ξζνα κλειδιά) του πρωτεφοντοσ κλειδιοφ τθσ κάκε ςυμμετζχουςασ ςχζςθσ S και Τ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 11
Συςχετίςεισ 1:1 1:1 δυαδική (μη αζθενής) ζυζχέηιζη Για κάκε 1-1 δυαδικι ςυςχζτιςθ R μεταξφ δφο τφπων οντοτιτων του διαγράμματοσ Ο/Σ που αντιςτοιχοφν ςτισ ςχζςεισ Τ και S 1. επιλογι μιασ εκ των Τ και S, ζςτω τθσ S 2. το πρωτεφον κλειδί S γίνεται ξζνο κλειδί τθσ Τ Συνικωσ επιλζγω ωσ Τ τθν οντότθτα όπου υπάρχει ολικι ςυμμετοχι Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 12
Συςχετίςεισ 1:Ν 1:Ν δυαδική (μη αζθενής) ζυζχέηιζη Για κάκε 1:Ν δυαδικι ςυςχζτιςθ R μεταξφ δφο τφπων οντοτιτων του διαγράμματοσ Ο/Σ που αντιςτοιχοφν ςτισ ςχζςεισ Τ και S 1. ζςτω T από τθν πλευρά 1 2. το πρωτεφον κλειδί τθσ Τ γίνεται ξζνο κλειδί τθσ S Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 13
Γνωρίςματα Σφνθετα: Ζνα γνϊριςμα για κάκε απλό γνϊριςμα που απαρτίηει το ςφνκετο. Δθλαδι κρατάμε μόνο τα επιμζρουσ γνωρίςματα του ςφνκετου Πλειότιμα: Για κάκε πλειότιμο γνϊριςμα Α, καταςκευάηουμε μια ςχζςθ R με γνωρίςματα: το Α (ι τα γνωρίςματα του Α αν το Α είναι ςφνκετο) και τα γνωρίςματα (ξζνο κλειδί) του πρωτεφοντοσ κλειδιοφ τθσ ςχζςθσ που παριςτάνει τον τφπο οντοτιτων θ ςυςχετίςεων του οποίου γνϊριςμα είναι το Α Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 14
Μεθοδολογία δημιουργίασ ΒΔ Εννοιολογικό μοντζλο, Ε-R Λογικό μοντζλο, Σχεςιακό μοντζλο Φυςικόσ Σχεδιαςμόσ (RDBMS) Σχζςθ= Ρίνακασ Γραμμζσ Στήλη 1 Στήλη 2 Στήλη 3 Τιμι Τιμι Τιμι... Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 15
Σχεςιακό μοντζλο Για να είναι ζνασ πίνακασ μια ςχζςθ(relation) κα πρζπει να ζχει τα εξισ κριτιρια: Τα ονόματα των ςτθλϊν να είναι μοναδικά. Σε κάκε ςτιλθ οι τιμζσ των πεδίων πρζπει να είναι του ίδιου τφπου. Οι τιμζσ του κάκε πεδίου είναι ατομικζσ. Δεν παίηει ρόλο θ διάταξθ των πεδίων από δεξιά προσ τα αριςτερά. Δεν παίηει ρόλο θ διάταξθ των γραμμϊν από πάνω προσ τα κάτω. Δεν πρζπει να υπάρχουν οι διπλό-εγγραφζσ (ονομάηεται πλεοναςμόσ). Πίνακασ = Σχζςη Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 16
Μετατροπζσ Οντότθτα Νζοσ πίνακασ (περιζχει όλα τα απλά γνωρίςματα και το πρωτεφον κλειδί). Απλό γνϊριςμα Απλό γνϊριςμα. Σφνκετο απλό απλό Κρατάω μόνο τα απλά γνωρίςματα. απλό Ρλειότιμο Νζοσ πίνακασ ( περιζχει το γνϊριςμα και ωσ ξζνο κλειδί το πρωτεφον κλειδί τθσ οντότθτασ που ανικει). Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 17
Μετατροπζσ ςυςχετίςεων Συςχζτιςθ Ν Συςχζτιςθ 1 Μ Ν Νζοσ πίνακασ (περιζχει όλα τα απλά γνωρίςματα τθσ ςυςχζτιςθσ και δφο ξζνα κλειδιά που αναφζρονται ςτα πρωτεφοντα κλειδιά των ςυςχετιηόμενων πινάκων. Ξζνο κλειδί ςτθν πλευρά του Ν Θα είναι ζνα απλό γνϊριςμα. Συςχζτιςθ 1 1 Ξζνο κλειδί ςτθν πλευρά τθσ ολικισ ςυμμετοχισ Θα είναι ζνα απλό γνϊριςμα. Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 18
Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό Παράδειγμα: Γιατρόσ 1 Δζχεται Αςκενισ 1 Ν Ν Κάνει Ν Μ Επίςκεψθ Γράφονται Φάρμακα Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 19
Άςκθςθ Εργαηόμενοι-Τμιματα-Ζργα Οντότητεσ Εργαηόμενοι Ρροςτατευμζνα μζλθ Τμιματα Ζργα Ρεριοριςμοί Κάκε εργαηόμενοσ ανικει ςε ζνα τμιμα Κάκε τμιμα ζχει πολλοφσ εργαηομζνουσ Κάκε τμιμα το διευκφνει ζνασ μόνο εργαηόμενοσ Δεν είναι κάκε εργαηόμενοσ διευκυντισ Ζνασ εργαηόμενοσ μπορεί να εργάηεται ςε πολλά ζργα Σε κάκε ζργο εργάηονται τουλάχιςτον 3 εργαηόμενοι Κάκε ζργο το επιβλζπει ζνα τμιμα Ζνα τμιμα μπορεί να επιβλζπει πολλά ζργα Ζνασ εργαηόμενοσ μπορεί να προΐςταται άλλων εργαηομζνων Κάκε εργαηόμενοσ ζχει ζνα μόνο προϊςτάμενο Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ 20 Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ