Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 Σχεδιασµός Σχεσιακών Σχηµάτων Σχεδιασµός καλών σχεσιακών σχηµάτων Μη τυπικές - γενικές κατευθύνσεις Θεωρία κανονικών µορφών που θα βασίζεται στις συναρτησιακές εξαρτήσεις Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 2 2. Ελάττωση πλεονασµού 3. Ελάττωση τιµών null 4. Μη πλασµατικές πλειάδες Εύκολη η εξήγηση της σηµασίας του Αποφυγή συνδυασµού γνωρισµάτων από πολλές οντότητες και συσχετίσεις στην ίδια σχέση Τίτλος Έτος ιάρκεια Είδος Παίζει Όνοµα Τίτλος Έτος Ηθοποιός Όνοµα ιεύθυνση Έτος-Γέννησης Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 3 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 4 2. Πλεονασµός (επανάληψη πληροφορίας) Εισαγωγή Για την εισαγωγή µιας νέας ταινίας πρέπει να εισάγουµε τουλάχιστον έναν ηθοποιό (τιµή null;) Για την εισαγωγή ενός ηθοποιού στην ταινία πρέπει να επαναλάβουµε τα της ταινίας ιαγραφή Τι γίνεται αν διαγράψουµε και τον τελευταίο ηθοποιό ιαγραφή µιας ταινίας; Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 5 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 6
Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 7 Τροποποίηση Τι γίνεται αν θελήσουµε να τροποποιήσουµε τη διάρκεια µιας ταινίας; Σηµείωση: Χρήση όψεων για το γρήγορο υπολογισµό συνενώσεων 3. Αποφυγή τιµών null Ηθοποιός Όνοµα ιεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός Όνοµα ιεύθυνση Έτος-Γέννησης Ζευγάρι-Ηθοποιών Όνοµα Σύζυγος-Ηθοποιού Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 8 Αλγόριθµος Σχεδιασµού 4. Αποφυγή δηµιουργίας πλασµατικών πλειάδων (αδυναµία αναπαράστασης συγκεκριµένης πληροφορίας) Τίτλος Έτος ιάρκεια Είδος Παίζει Τίτλος Όνοµα-Ηθοποιού Χάνουµε πληροφορία δεν µπορούµε να βρούµε ποιος ηθοποιός σε ποια ταινία (decomposition) Αλγόριθµος σχεδιασµού Αρχικά ένα καθολικό σχήµα σχέσης που περιέχει όλα τα Προσδιορισµός των συναρτησιακών εξαρτήσεων ιάσπαση σε ένα σύνολο από σχήµατα που ικανοποιούν κάποιες ιδιότητες Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 9 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 10 Αλγόριθµος Σχεδιασµού Αρχικά ένα καθολικό σχήµα R = {A 1, A 2,, A n } αποσύνθεση (decomposition) σε δύο σχήµατα R 1 = {B 1, B 2,, B m } και R 2 = {C 1, C 2,, C k } τέτοια ώστε 1. {A 1, A 2,, A n } = {B 1, B 2,, B m } {C 1, C 2,, C k } (διατήρηση γνωρισµάτων) 2. Οι πλειάδες της r 1 (R 1 ) είναι η προβολή των πλειάδων της r(r) στα {B 1, B 2,, B m } πλειάδες 3. Οι πλειάδες της r 2 (R 2 ) είναι η προβολή των πλειάδων της r(r) στα {C 1, C 2,, C k } πλειάδες R = {Τίτλος, Έτος, ιάρκεια, Είδος, Όνοµα-Ηθοποιού, ιεύθυνση, Έτος-Γέννησης} Τίτλος Έτος ιάρκεια Τίτλος Έτος Είδος Όνοµα Ηθοποιού ιεύθυνση Όνοµα-Ηθοποιού Έτος Γέννησης R 1 = {Τίτλος, Έτος, ιάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνοµα- Ηθοποιού, ιεύθυνση, Έτος- Γέννησης} Πως µπορούµε να πάρουµε την αρχική σχέση; Μπορούµε να διασπάσουµε την R 2 µε τον ίδιο τρόπο. Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 11 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 12
Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 13 Έστω ένα σχεσιακό σχήµα R. Ένα σύνολο από σχεσιακά σχήµατα {R 1, R 2,.., R n } είναι µια αποσύνθεση του R αν R = R 1, R 2,, R n ηλαδή, i = 1,..,n R i R στιγµιότυπα Έστω r(r) και r i = π Ri (r), i = 1,..,n r * * r n Έστω r(r) και r i = π Ri (r), i = 1,..,n ---- r Α B C r 1 A B r 2 B C 1 2 2 3 4 2 2 5 εν µπορούµε να πάρουµε την αρχική σχέση r από τα r 1 και r 2 r r 1 * r2 * * r n Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 14 Επιθυµητές Ιδιότητες ς Επιθυµητές Ιδιότητες για την 1. Έστω C το σύνολο περιορισµών. Μια αποσύνθεση του R σε {R 1, R 2,.., R n } είναι µια αποσύνθεση άνευ απωλειών στη συνένωση (lossless join decomposition) αν για όλες τις σχέσεις r(r) που είναι νόµιµες στο C ισχύει r Α B C r 1 A B r 2 B C 1 2 2 3 4 2 2 5 r = π R1 (r) * π R2 (r) * π Rn (r) r 1 A C r 2 B C 1 3 2 3 4 5 2 5 r 1 * r 2 = ; Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 15 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 16 Θεώρηµα Έστω R ένα σχεσιακό σχήµα και F ένα σύνολο από συναρτησιακές εξαρτήσεις στο R. Έστω R 1 και R 2 µια αποσύνθεση του R. Αν µια τουλάχιστον από τις ΣΕ R 1 R 2 R 1 ή R 1 R 2 R 2 ανήκει στο F + τότε η διάσπαση είναι χωρίς απώλειες στη συνένωση. ηλαδή τα κοινά των δύο σχηµάτων είναι κλειδί για τουλάχιστον ένα από τα δύο r Α B C r 1 A B r 2 B C 1 2 2 3 4 2 2 5 r 1 A C r 2 B C R 1 R 2 = Β 1 3 2 3 r 1 * r 2 = ; R 1 R 2 = C 4 5 2 5 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 17 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 18
Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 19 Επιθυµητές Ιδιότητες ς : R = {Τίτλος, Έτος, ιάρκεια, Είδος, Όνοµα- Ηθοποιού, ιεύθυνση, Έτος-Γέννησης} Επιθυµητές Ιδιότητες για την Τίτλος Έτος ιάρκεια Τίτλος Έτος Είδος Όνοµα Ηθοποιού ιεύθυνση Όνοµα-Ηθοποιού Έτος Γέννησης R 1 = {Τίτλος, Έτος, ιάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνοµα- Ηθοποιού, ιεύθυνση, Έτος- Γέννησης} 2. Στόχος: Έλεγχος διατήρησης εξαρτήσεων όταν γίνονται τροποποιήσεις χωρίς να υπολογίζουµε τις αρχικές σχέσεις (αποφυγή των συνενώσεων) R 1 R 2 = {Τίτλος, Έτος} Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 20 Έστω F ένα σύνολο από ΣΕ στο σχήµα R και {R 1, R 2,.., R n } µια αποσύνθεση του R. Ο περιορισµός του F στο R i είναι το σύνολο F i όλων των συναρτησιακών εξαρτήσεων του F + που περιέχουν µόνο του R i. Έστω F = F 1 F 2... F n : Υπολογισµός του περιορισµού του F σε ένα σχήµα Εφαρµογή 1: Έστω R(A, B, C, D), F = {A B, B C}. Περιορισµός του F στο S(A, C) Εφαρµογή 2: Έστω R(A, B, C, D, E), F = {A D, B Ε, DE C}. Περιορισµός του F στο S(A, B, C) Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 21 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 22 Έστω F ένα σύνολο από ΣΕ στο σχήµα R και {R 1, R 2,.., R n } µια αποσύνθεση του R. Η αποσύνθεση είναι µια αποσύνθεση που διατηρεί τις εξαρτήσεις (dependency preserving) αν F + = F + : Πως δείχνουµε αν µια διάσπαση διατηρεί τις εξαρτήσεις Έστω R(A, B, C, D), F = {A C, B C, Β A}. Έστω η αποσύνθεση S(A, C) και Τ(Α, Β, D) Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 23 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 24
Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 25 Παραδείγµατα 1. Έστω R(A, B, C, D), F = {A C, B C, ΒD A}. Η αποσύνθεση του R σε S(A, C) και Τ(Α, Β, D) διατηρεί τις εξαρτήσεις ; 2. Έστω R(A, B, C, D, E), F = {A D, B Ε, DE C}. Η αποσύνθεση του R σε S(A, Β, C) και T(A, B, D, E) διατηρεί τις εξαρτήσεις ; - καθολικού σχήµατος Επιθυµητές ιδιότητες - διατήρηση εξαρτήσεων - όχι απώλειες στη συνένωση - όχι επανάληψη πληροφορίας λόγω ΣΕ - Συνέχεια: Κανονικές Μορφές BCNF 3NF Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 26 Σχεδιασµός καλών σχεσιακών σχηµάτων Μη τυπικές - γενικές κατευθύνσεις 2. Ελάττωση πλεονασµού 3. Ελάττωση τιµών null 4. Μη πλασµατικές πλειάδες Θεωρία κανονικών µορφών που θα βασίζεται στις συναρτησιακές εξαρτήσεις (decomposition) Αλγόριθµος σχεδιασµού Αρχικά ένα καθολικό σχήµα σχέσης που περιέχει όλα τα Προσδιορισµός των συναρτησιακών εξαρτήσεων ιάσπαση σε ένα σύνολο από σχήµατα που ικανοποιούν κάποιες ιδιότητες Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 27 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 28 Έστω ένα σχεσιακό σχήµα R. Ένα σύνολο από σχεσιακά σχήµατα {R 1, R 2,.., R n } είναι µια αποσύνθεση του R αν R = R 1, R 2,, R n Επιθυµητές Ιδιότητες ς 1. Η φυσική συνένωση των σχέσεων που προκύπτουν µας δίνει ακριβώς την αρχική σχέση (χωρίς επιπρόσθετες πλειάδες): r = π R1 (r) * π R2 (r) * π Rn (r) R1 R2 R1 ή R1 R2 R2 ανήκει στο F +, δηλαδή τα κοινά των δύο σχηµάτων είναι κλειδί για τουλάχιστον ένα από τα δύο ηλαδή, i = 1,..,n R i R Έστω r(r) και r i = π Ri (r), i = 1,..,n r r 1 * r2 * * r n πλειάδες 2. Στόχος: Έλεγχος διατήρησης εξαρτήσεων όταν γίνονται τροποποιήσεις χωρίς να υπολογίζουµε τις αρχικές σχέσεις (αποφυγή των συνενώσεων) F = F1 F2... Fn, πρέπει F + = F + 3. Αποφυγή Επανάληψης Πληροφορίας Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 29 Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 30