Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2 Σχεδιασμός Σχεσιακών Σχημάτων Αλγόριθμοι σχεδιασμού Αρχικά ένα καθολικό σχήμα σχέσης που περιέχει όλα τα γνωρίσματα Προσδιορισμός των συναρτησιακών εξαρτήσεων Διάσπαση σε ένα σύνολο από σχήματα που ικανοποιούν κάποιες ιδιότητες Αποσύνθεση (decomposition)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 3 Σχεδιασμός Σχεσιακών Σχημάτων Επιθυμητές Ιδιότητες Αποσύνθεσης 1. Συνενώσεις Άνευ Απωλειών 2. Διατήρηση Εξαρτήσεων Στόχος: Έλεγχος διατήρησης εξαρτήσεων όταν γίνονται τροποποιήσεις χωρίς να υπολογίζουμε τις αρχικές σχέσεις (αποφυγή των συνενώσεων) Η φυσική συνένωση των σχέσεων που προκύπτουν μας δίνει ακριβώς την αρχική σχέση (χωρίς επιπρόσθετες πλειάδες) 3. Αποφυγή Επανάληψης Πληροφορίας
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 4 Σχεδιασμός Σχεσιακών Σχημάτων Κανονική Μορφή Boyce-Codd Ένα σχεσιακό σχήμα R είναι σε BCNF σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R Δηλαδή το αριστερό μέρος κάθε μη τετριμμένης ΣΕ πρέπει να περιέχει ένα κλειδί
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 5 Σχεδιασμός Σχεσιακών Σχημάτων Κανονική Μορφή Boyce-Codd (συνέχεια) Αλγόριθμος Αποσύνθεσης σε BCNF Βρες μια μη τετριμμένη ΣΕ που παραβιάζει τον BCNF ορισμό, έστω X Y και Χ Υ = Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα R 1 με γνωρίσματα Χ Y R 2 με γνωρίσματα R - Y Ευριστικός: στα δεξιά όσο το δυνατόν περισσότερα γνωρίσματα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 6 Σχεδιασμός Σχεσιακών Σχημάτων Τρίτη Κανονική Μορφή Ένα σχεσιακό σχήμα R είναι σε τρίτη κανονική μορφή (3ΝF) σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R -- κάθε γνώρισμα Α του Υ - Χ περιέχεται σε κάποιο υποψήφιο κλειδί
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 7 Σχεδιασμός Σχεσιακών Σχημάτων Τρίτη Κανονική Μορφή (συνέχεια) Αλγόριθμος Αποσύνθεσης σε 3NF Υπολόγισε το ελάχιστο κάλυμμα F c της F Για κάθε ΣΕ Χ Υ της F c αν κανένα από τα R i δεν περιέχει τα Χ, Υ νέα σχέση με γνωρίσματα Χ Y Αν καμία από τις σχέσεις που προέκυψαν δεν περιέχει κάποιο υποψήφιο κλειδί του R δημιούργησε μια νέα σχέση με γνωρίσματα τα γνωρίσματα του κλειδιού
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 8 Σχεδιασμός Σχεσιακών Σχημάτων Αποφυγή επανάληψης πληροφορίας ναι όχι πάντα Αποσύνθεση χωρίς απώλειες στη συνένωση ναι ναι Διατήρηση εξαρτήσεων όχι πάντα ναι BCNF 3NF
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 9 Σχεδιασμός Σχεσιακών Σχημάτων Πλειότιμες Εξαρτήσεις Προκύπτουν όταν δυο γνωρίσματα είναι ανεξάρτητα το ένα από το άλλο Παράδειγμα Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Σημείωση: Για κάθε ηθοποιό είναι πιθανόν να υπάρχουν πολλές διευθύνσεις Το σχήμα είναι σε BCNF αλλά υπάρχει επανάληψη πληροφορίας που δεν οφείλεται όμως σε συναρτησιακές εξαρτήσεις Κανένα από τα 5 γνωρίσματα δεν εξαρτάται συναρτησιακά από τα άλλα τέσσερα δεν υπάρχουν μη μη τετριμμένες εξαρτήσεις κλειδί π.χ., Όνομα Οδός Τίτλος Έτος Πόλη δεν ισχύει
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 10 Σχεδιασμός Σχεσιακών Σχημάτων Πλειότιμες Εξαρτήσεις (συνέχεια) Για κάθε ζεύγος πλειάδων t 1 και t 2 της σχέσης R που συμφωνούν σε όλα τα γνωρίσματα του X μπορούμε να βρούμε στο R δυο πλειάδες t 3 και t 4 τέτοιες ώστε και οι δυo συμφωνούν με τις t 1 και t 2 στο X: t 1 [X] = t 2 [X] = t 3 [X] = T 4 [X] η t 3 συμφωνεί με την t 1 στο Υ: t 3 [Y] = t 1 [Y] η t 3 συμφωνεί με την t 2 στο R - X - Y: t 3 [R- X - Y] = t 2 [R - X - Y] η t 4 συμφωνεί με την t 1 στο R - X - Y: t 4 [R- X - Y] = t 1 [R - X - Y] η t 4 συμφωνεί με την t 2 στο Υ: t 3 [Y] = t 2 [Y] X Y
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 11 Σχεδιασμός Σχεσιακών Σχημάτων Πλειότιμες Εξαρτήσεις (συνέχεια) A 1 A 2 … A n B 1 B 2 … B m A 1 A 2 … A n B 1 B 2 … B m C 1 C 2 … C k a 1 a 2 … a n b 1 b 2 … b m c 1 c 2 … c k a 1 a 2 … a n b’ 1 b’ 2 … b’ m c’ 1 c’ 2 … c’ k t1t1 t2t2 t3t3 t4t4
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 12 Σχεδιασμός Σχεσιακών Σχημάτων Πλειότιμες Εξαρτήσεις (συνέχεια) Παράδειγμα Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όνομα Οδός Πόλη Όνομα Οδός Πόλη Τίτλος Έτος C. Fisher 123 Mapple Str Hollywood Star Wars 1977 C. Fisher 5 Locust Ln Malibu Empire Strikes Back 1980
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 13 Σχεδιασμός Σχεσιακών Σχημάτων Κανόνες Συμπερασμού για Πλειότιμες Εξαρτήσεις 1. Ανακλαστικός κανόνας Αν Χ Υ, τότε X Y 3. Μεταβατικός κανόνας Αν X Y και Υ Z τότε Χ Z 2. Επαυξητικός κανόνας Αν X Y τότε ΧΖ YZ 4. Συμπληρωματικός κανόνας για ΠΕ Αν X Y τότε Χ R - X - Y 5. Επαυξητικός κανόνας για ΠΕ Αν X Y και Z W τότε WΧ YZ 6. Μεταβατικός κανόνας για ΠΕ Αν X Y και Υ Z τότε Χ Z - Y 7. Κανόνας αντιγραφής Αν X Y, τότε Χ Y 8. Κανόνας συγχώνευσης Αν X Y, Ζ Y και W τέτοιο ώστε: (α) W Y = και (β) W Z τότε Χ Z
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 14 Σχεδιασμός Σχεσιακών Σχημάτων Κανόνες Συμπερασμού για Πλειότιμες Εξαρτήσεις (συνέχεια) βάσιμοι (sound) δε δίνουν λανθασμένες εξαρτήσεις και πλήρεις (complete) μας δίνουν όλο το D + Απόδειξη του κανόνας αντιγραφής (Αν X Y, τότε Χ Y ) δηλαδή κάθε συναρτησιακή εξάρτηση είναι και πλειότιμη Παράδειγμα συμπληρωματικού κανόνα Αν X Y τότε Χ R - X - Y Όνομα Οδός ΠόληΌνομα Τίτλος Έτος Απόδειξη του συμπληρωματικού κανόνα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 15 Σχεδιασμός Σχεσιακών Σχημάτων Τέταρτη Κανονική Μορφή (4NF) Ένα σχεσιακό σχήμα R είναι σε 4NF σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ και ΠΕ της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΠΕ ή -- X είναι υπερκλειδί του σχήματος R τετριμμένη ΠΕ; αν (α) το Y X ή (β) Χ Y = R BCNF ? 3NF;
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 16 Σχεδιασμός Σχεσιακών Σχημάτων Τέταρτη Κανονική Μορφή (συνέχεια) Αλγόριθμος Αποσύνθεσης σε 4NF Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα R 1 με γνωρίσματα Χ Y R 2 με γνωρίσματα R - Y παρόμοιος με την BCNF αποσύνθεση Βρες μια μη τετριμμένη ΠΕ που παραβιάζει τον 4NF ορισμό, έστω X Y και Χ Υ =
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 17 Σχεδιασμός Σχεσιακών Σχημάτων Πλειότιμες Εξαρτήσεις (συνέχεια) Παράδειγμα Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όνομα Οδός Πόλη Ηθοποιός1(Όνομα, Οδός, Πόλη) Ηθοποιός2(Όνομα, Τίτλος. Έτος)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 18 Σχεδιασμός Σχεσιακών Σχημάτων 3NF BCNF 4NF Αποφυγή επανάληψης πληροφορίας λόγω ΣΕ συνήθως ναι ναι Αποφυγή επανάληψης πληροφορίας λόγω ΠΕ όχι όχιναι Διατήρηση ΣΕ ναι ίσωςίσως Διατήρηση ΠΕ ίσως ίσωςίσως Χωρίς απώλειες στη συνένωση ναι ναι ναι
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 19 Σχεδιασμός Σχεσιακών Σχημάτων Πρώτη Κανονική Μορφή (1ΝF) Δεν επιτρέπονται πλειότιμα ή σύνθετα γνωρίσματα ΕΡΓ_ΕΡΓΟ(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ, {ΕΡΓΑ(ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ)}) Παράδειγμα με σύνθετα (εμφωλευόμενες σχέσεις) ΕΡΓ_ΕΡΓΟ(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ, ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ) ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑΑΡ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ Αποσύνθεση (unnesting) σε ΕΡΓ_ΕΡΓΟ1(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ) ΕΡΓ_ΕΡΓΟ2(ΑΡ_ΤΑΥΤ, ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 20 Σχεδιασμός Σχεσιακών Σχημάτων Πρώτη Κανονική Μορφή (συνέχεια) ΤΜΗΜΑ(Τ_ΟΝΟΜΑ, ΚΩΔ_ΤΜΗΜ, ΔΙΕΥΘΥΝΤΗΣ_ΤΜΗΜ, ΤΟΠΟΘΕΣΙΕΣ) Παράδειγμα με πλειότιμα Αποσύνθεση σε ΤΜΗΜΑ1(ΚΩΔ_ΤΜΗΜΑΤΟΣ, ΤΟΠΟΘΕΣΙΕΣ) ΤΜΗΜΑ2(Τ_ΟΝΟΜΑ, ΚΩΔ_ΤΜΗΜ, ΔΙΕΥΘΥΝΤΗΣ_ΤΜΗΜ) Ένα τμήμα σε πολλές τοποθεσίες. Κλειδί; ΚΩΔ_ΤΜΗΜΑΤΟΣ ΤΟΠΟΘΕΣΙΕΣ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 21 Σχεδιασμός Σχεσιακών Σχημάτων Δεύτερη Κανονική Μορφή (2NF) Μια συναρτησιακή εξάρτηση Χ Υ είναι πλήρης συναρτησιακή εξάρτηση αν για κάθε Α Χ, δεν ισχύει (Χ - {Α}) Υ δηλαδή η αφαίρεση οποιουδήποτε γνωρίσματος Α από το Χ σημαίνει ότι η εξάρτηση δεν ισχύει πλέον δεν έχει περιττά γνωρίσματα στο αριστερό μέρος Μερική εξάρτηση αν όχι πλήρης
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 22 Σχεδιασμός Σχεσιακών Σχημάτων Δεύτερη Κανονική Μορφή (συνέχεια) Ένα σχήμα σχέσης είναι σε 2NF αν κάθε μη πρωτεύον γνώρισμα Α (δηλαδή γνώρισμα που δεν εμφανίζεται σε κανένα υποψήφιο κλειδί) του R είναι πλήρως συναρτησιακά εξαρτώμενο από οποιοδήποτε κλειδί του R. ΕΡΓ_ΕΡΓΟ(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ, ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ) ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ ΑΡ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ Παράδειγμα παραβίασης της 2NF
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 23 Σχεδιασμός Σχεσιακών Σχημάτων Τρίτη Κανονική Μορφή - Εναλλακτικός Ορισμός Ένα σχήμα σχέσης είναι σε 3NF αν κάθε μη πρωτεύον γνώρισμα Α του R είναι -- πλήρως συναρτησιακά εξαρτώμενο από κάθε κλειδί του R και -- μη μεταβατικά εξαρτώμενο από κάθε κλειδί του R Μια συναρτησιακή εξάρτηση Χ Υ σε ένα σχήμα σχέσης R είναι μια μεταβατική εξάρτηση αν υπάρχει ένα σύνολο γνωρισμάτων Z που δεν είναι υποσύνολο οποιουδήποτε κλειδιού της R τέτοιο ώστε να ισχύουν Χ Ζ και Ζ Υ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 24 Σχεδιασμός Σχεσιακών Σχημάτων Η Διαδικασία Σχεδιασμού 1. Συλλογή και ανάλυση απαιτήσεων 2. Εννοιολογικός σχεδιασμός 3. Επιλογή ΣΔΒΔ 4. Απεικόνιση στο μοντέλο δεδομένων (λογικός σχεδιασμός) 5. Φυσικός σχεδιασμός 6. Υλοποίηση