Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων."— Μεταγράφημα παρουσίασης:

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

2 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2 Σχεδιασμός Σχεσιακών Σχημάτων Σχεδιασμός καλών σχεσιακών σχημάτων Μη τυπικές - γενικές κατευθύνσεις Θεωρία κανονικών μορφών που θα βασίζεται στις συναρτησιακές εξαρτήσεις

3 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 3 Σχεδιασμός Σχεσιακών Σχημάτων Γενικές Κατευθύνσεις 1. Σημασιολογία 2. Ελάττωση πλεονασμού 3. Ελάττωση τιμών null 4. Μη πλασματικές πλειάδες

4 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 4 Γενικές Κατευθύνσεις 1. Σημασιολογία Ταινία Τίτλος Έτος Διάρκεια Είδος Παίζει Όνομα Τίτλος Έτος Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Εύκολη η εξήγηση της σημασίας του Αποφυγή συνδυασμού γνωρισμάτων από πολλές οντότητες και συσχετίσεις στην ίδια σχέση

5 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 5 Γενικές Κατευθύνσεις 2. Πλεονασμός (επανάληψη πληροφορίας) Ταινία Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού Εισαγωγή Για την εισαγωγή μιας νέας ταινίας πρέπει να εισάγουμε τουλάχιστον έναν ηθοποιό (τιμή null;) Για την εισαγωγή ενός ηθοποιού στην ταινία πρέπει να επαναλάβουμε τα γνωρίσματα της ταινίας

6 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 6 Γενικές Κατευθύνσεις Ταινία Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού Διαγραφή Τι γίνεται αν διαγράψουμε και τον τελευταίο ηθοποιό Διαγραφή μιας ταινίας;

7 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 7 Γενικές Κατευθύνσεις Ταινία Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού Τροποποίηση Τι γίνεται αν θελήσουμε να τροποποιήσουμε τη διάρκεια μιας ταινίας; Σημείωση: Χρήση όψεων για το γρήγορο υπολογισμό συνενώσεων

8 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 8 Γενικές Κατευθύνσεις 3. Αποφυγή τιμών null Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός Ζευγάρι-Ηθοποιών Όνομα Σύζυγος-Ηθοποιού Όνομα Διεύθυνση Έτος-Γέννησης

9 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 9 Γενικές Κατευθύνσεις 4. Αποφυγή δημιουργίας πλασματικών πλειάδων Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού Τίτλος Έτος Διάρκεια Είδος Τίτλος Όνομα-Ηθοποιού Ταινία Παίζει (αδυναμία αναπαράστασης συγκεκριμένης πληροφορίας) Χάνουμε πληροφορία δεν μπορούμε να βρούμε ποιος ηθοποιός σε ποια ταινία

10 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 10 Αλγόριθμος Σχεδιασμού Αλγόριθμος σχεδιασμού Αρχικά ένα καθολικό σχήμα σχέσης που περιέχει όλα τα γνωρίσματα Προσδιορισμός των συναρτησιακών εξαρτήσεων Διάσπαση σε ένα σύνολο από σχήματα που ικανοποιούν κάποιες ιδιότητες Αποσύνθεση (decomposition)

11 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 11 Αλγόριθμος Σχεδιασμού Αρχικά ένα καθολικό σχήμα 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 } πλειάδες

12 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 12 Αποσύνθεση R = {Τίτλος, Έτος, Διάρκεια, Είδος, Όνομα-Ηθοποιού, Διεύθυνση, Έτος-Γέννησης} Τίτλος Έτος  Διάρκεια Τίτλος Έτος  Είδος Όνομα Ηθοποιού  Διεύθυνση Όνομα-Ηθοποιού  Έτος Γέννησης Παράδειγμα R 1 = {Τίτλος, Έτος, Διάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνομα- Ηθοποιού, Διεύθυνση, Έτος- Γέννησης} Πως μπορούμε να πάρουμε την αρχική σχέση; Μπορούμε να διασπάσουμε την R 2 με τον ίδιο τρόπο.

13 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 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 = π R i (r),  i = 1,..,n r  r 1 * r 2 * … * r n γνωρίσματα στιγμιότυπα

14 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 14 Αποσύνθεση Έστω r(R) και r i = π R i (r),  i = 1,..,n ---- r  r 1 * r2 * … * r n Παράδειγμα Α B C r A B r1r1 r2r2 B C r 1 * r 2 A B C Δεν μπορούμε να πάρουμε την αρχική σχέση r από τα r 1 και r 2

15 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 15 Επιθυμητές Ιδιότητες Αποσύνθεσης Επιθυμητές Ιδιότητες για την Αποσύνθεση 1. Συνενώσεις Άνευ Απωλειών Έστω C το σύνολο περιορισμών. Μια αποσύνθεση του R σε {R 1, R 2,.., R n } είναι μια αποσύνθεση άνευ απωλειών στη συνένωση (lossless join decomposition) αν για όλες τις σχέσεις r(R) που είναι νόμιμες στο C ισχύει r = π R 1 (r) * π R 2 (r) * … π R n (r)

16 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 16 Συνενώσεις Άνευ Απωλειών Παράδειγμα Α B C r A B r1r1 r2r2 B C r 1 * r 2 A B C A C r’ 1 r’ 2 B C r’ 1 * r’ 2 = ;

17 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 17 Συνενώσεις Άνευ Απωλειών Έστω R ένα σχεσιακό σχήμα και F ένα σύνολο από συναρτησιακές εξαρτήσεις στο R. Έστω R 1 και R 2 μια αποσύνθεση του R. Αν μια τουλάχιστον από τις ΣΕ R 1  R 2  R 1 ή R 1  R 2  R 2 ανήκει στο F + τότε η διάσπαση είναι χωρίς απώλειες στη συνένωση. Θεώρημα Δηλαδή τα κοινά γνωρίσματα των δύο σχημάτων είναι κλειδί για τουλάχιστον ένα από τα δύο

18 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 18 Συνενώσεις Άνευ Απωλειών Παράδειγμα Α B C r A B r1r1 r2r2 B C r 1 * r 2 A B C A C r’ 1 r’ 2 B C r’ 1 * r’ 2 = ; R 1  R 2 = Β R 1  R 2 = C

19 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 19 Συνενώσεις Άνευ Απωλειών Παράδειγμα: R= {Τίτλος, Έτος, Διάρκεια, Είδος, Όνομα- Ηθοποιού, Διεύθυνση, Έτος-Γέννησης} Τίτλος Έτος  Διάρκεια Τίτλος Έτος  Είδος Όνομα Ηθοποιού  Διεύθυνση Όνομα-Ηθοποιού  Έτος Γέννησης R 1 = {Τίτλος, Έτος, Διάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνομα- Ηθοποιού, Διεύθυνση, Έτος- Γέννησης} R 1  R 2 = {Τίτλος, Έτος}

20 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 20 Επιθυμητές Ιδιότητες Αποσύνθεσης 2. Διατήρηση Εξαρτήσεων Στόχος: Έλεγχος διατήρησης εξαρτήσεων όταν γίνονται τροποποιήσεις χωρίς να υπολογίζουμε τις αρχικές σχέσεις (αποφυγή των συνενώσεων) Επιθυμητές Ιδιότητες για την Αποσύνθεση

21 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 21 Διατήρηση Εξαρτήσεων Ο περιορισμός του F στο R i είναι το σύνολο F i όλων των συναρτησιακών εξαρτήσεων του F + που περιέχουν μόνο γνωρίσματα του R i. Έστω F’ = F 1  F 2...  F n Έστω F ένα σύνολο από ΣΕ στο σχήμα R και {R 1, R 2,.., R n } μια αποσύνθεση του R.

22 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 22 Διατήρηση Εξαρτήσεων Παράδειγμα: Υπολογισμός του περιορισμού του 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)

23 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 23 Διατήρηση Εξαρτήσεων Η αποσύνθεση είναι μια αποσύνθεση που διατηρεί τις εξαρτήσεις (dependency preserving) αν F’ + = F + Έστω F ένα σύνολο από ΣΕ στο σχήμα R και {R 1, R 2,.., R n } μια αποσύνθεση του R.

24 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 24 Διατήρηση Εξαρτήσεων Παράδειγμα: Πως δείχνουμε αν μια διάσπαση διατηρεί τις εξαρτήσεις Έστω R(A, B, C, D), F = {A  C, B  C, Β  A}. Έστω η αποσύνθεση S(A, C) και Τ(Α, Β, D).

25 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 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) διατηρεί τις εξαρτήσεις ; Παραδείγματα

26 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 26 Σχεδιασμός Σχεσιακών Σχημάτων Ανακεφαλαίωση Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης Επιθυμητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ Απωλειών Διατήρηση Εξαρτήσεων Αποφυγή Επανάληψης Πληροφορίας

27 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 27 Boyce-Codd Κανονική Μορφή Ένα σχεσιακό σχήμα R είναι σε Κανονική Μορφή Boyce-Codd ( BCNF) σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X  Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X  Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R Δηλαδή το αριστερό μέρος κάθε μη τετριμμένης ΣΕ πρέπει να περιέχει ένα κλειδί Το σχήμα μιας ΒΔ είναι σε BCNF αν το σχήμα κάθε σχέσης της είναι σε BCNF.

28 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 28 Boyce-Codd Κανονική Μορφή Παράδειγμα 1 Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος, Εταιρεία-Παραγωγής, Όνομα- Ηθοποιού) Η σχέση Ταινία δεν είναι σε BCNF (υποψήφιο) κλειδί: {Τίτλος, Έτος, Όνομα-Ηθοποιού} Για παράδειγμα η ΣΕ Τίτλος Έτος  Εταιρεία-Παραγωγής

29 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 29 Boyce-Codd Κανονική Μορφή Παράδειγμα 2 Ταινία2 (Τίτλος, Έτος, Διάρκεια, Είδος, Εταιρεία-Παραγωγής) Η σχέση Ταινία2 είναι σε BCNF Παράδειγμα 3 Οποιαδήποτε σχέση με δύο γνωρίσματα είναι σε BCNF

30 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 30 Boyce-Codd Κανονική Μορφή Αλγόριθμος Αποσύνθεσης σε BCNF Βρες μια μη τετριμμένη ΣΕ που παραβιάζει τον BCNF ορισμό, έστω X  Y και Χ  Υ =  Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα R 1 με γνωρίσματα Χ  Y R 2 με γνωρίσματα R - Y Ευριστικός: στα δεξιά όσο το δυνατόν περισσότερα γνωρίσματα Αποσύνθεση χωρίς απώλειες;

31 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 31 Boyce-Codd Κανονική Μορφή Παράδειγμα 1 Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος, Εταιρεία-Παραγωγής, Όνομα- Ηθοποιού) Τίτλος Έτος  Διάρκεια Είδος Εταιρεία-Παραγωγής Ταινία1(Τίτλος, Έτος, Διάρκεια, Είδος, Εταιρεία-Παραγωγής) Ταινία2(Τίτλος, Έτος, Όνομα-Ηθοποιού)

32 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 32 Boyce-Codd Κανονική Μορφή Παράδειγμα 2 Ταινία-Εταιρεία1 (Εταιρεία-Παραγωγής, Διεύθυνση- Εταιρείας) Τίτλος Έτος  Εταιρεία-Παραγωγής Εταιρεία-Παραγωγής  Διεύθυνση-Εταιρείας Πρόβλημα: υπάρχει μια μεταβατική εξάρτηση Τίτλος Έτος  Διεύθυνση-Εταιρείας Ταινία-Εταιρεία2 (Τίτλος, Έτος, Διάρκεια, Είδος, Εταιρεία- Παραγωγής) Ταινία-Εταιρεία (Τίτλος, Έτος, Διάρκεια, Είδος, Εταιρεία- Παραγωγής, Διεύθυνση-Εταιρείας)

33 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 33 Boyce-Codd Κανονική Μορφή Μπορεί να χρειαστεί παραπάνω από μία αποσύνθεση Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα - R 1 με γνωρίσματα Χ  Y και R 2 με γνωρίσματα R - Y η R 2 μπορεί να μην είναι σε BCNF

34 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 34 Boyce-Codd Κανονική Μορφή Δεν είναι πάντα δυνατή η αποσύνθεση σε μια BCNF που να διατηρεί τις εξαρτήσεις Παράδειγμα Έστω η σχέση Παίζει(Έργο, Κινηματογράφος, Πόλη) με τους περιορισμούς ότι δεν υπάρχουν κινηματογράφοι με το ίδιο όνομα κάθε έργο παίζεται μόνο σε ένα κινηματογράφο σε κάθε πόλη και κάθε κινηματογράφος έχει πολλές αίθουσες (παίζει πολλά έργα) Κινηματογράφος  Πόλη Έργο Πόλη  Κινηματογράφος Κλειδιά; {Έργο, Πόλη} {Κινηματογράφος, Έργο}

35 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 35 Boyce-Codd Κανονική Μορφή Παίζει(Έργο, Κινηματογράφος, Πόλη) Κινηματογράφος  Πόλη Έργο Πόλη  Κινηματογράφος Κλειδιά {Έργο, Πόλη} {Κινηματογράφος, Έργο} Αποσύνθεση σε:{Κινηματογράφος, Πόλη} και {Κινηματογράφος, Έργο} Κινηματογράφος Πόλη Οντεόν Αθήνα Village Center Αθήνα Κινηματογράφος Έργο Οντεόν Safe Sex Village Center Safe Sex

36 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 36 Τρίτη Κανονική Μορφή Ένα σχεσιακό σχήμα R είναι σε τρίτη κανονική μορφή (3ΝF) σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X  Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X  Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R -- κάθε γνώρισμα Α του Υ - Χ περιέχεται σε κάποιο υποψήφιο κλειδί BCNF πιο περιοριστική -- αν σε BCNF  3NF

37 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 37 Τρίτη Κανονική Μορφή Παίζει(Έργο, Κινηματογράφος, Πόλη) Κινηματογράφος  Πόλη Έργο Πόλη  Κινηματογράφος Κλειδιά {Έργο, Πόλη} {Κινηματογράφος, Έργο} Η σχέση είναι σε 3NF Είδος ΣΕ: μοναδικά αντικείμενα ή με βάση πρακτικές Παράδειγμα

38 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 38 Τρίτη Κανονική Μορφή Αλγόριθμος Αποσύνθεσης σε 3NF Υπολόγισε το ελάχιστο κάλυμμα F c της F Για κάθε ΣΕ Χ  Υ της F c αν κανένα από τα R i δεν περιέχει τα Χ, Υ νέα σχέση με γνωρίσματα Χ  Y Αν καμία από τις σχέσεις που προέκυψαν δεν περιέχει κάποιο υποψήφιο κλειδί του R δημιούργησε μια νέα σχέση με γνωρίσματα τα γνωρίσματα του κλειδιού

39 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 39 Τρίτη Κανονική Μορφή Αλγόριθμος Αποσύνθεσης σε 3NF Απώλειες στη συνένωση; Διατήρηση εξαρτήσεων;

40 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 40 Τρίτη Κανονική Μορφή Παράδειγμα Τραπεζίτης(Όνομα-Υποκαταστήματος, Όνομα-Πελάτη, Όνομα-Τραπεζίτη, Αριθμός Γραφείου) Όνομα-Τραπεζίτη  Όνομα-Υποκαταστήματος Αριθμός-Γραφείου Όνομα-Πελάτη Όνομα-Υποκαταστήματος  Όνομα-Τραπεζίτη Κλειδιά {Όνομα-Πελάτη, Όνομα-Υποκαταστήματος} 3NF; Τραπεζίτης1(Όνομα-Τραπεζίτη, Όνομα-Υποκαταστήματος Αριθμός- Γραφείου) Τραπεζίτης2(Όνομα-Πελάτη, Όνομα-Υποκαταστήματος, Όνομα- Τραπεζίτη) BCNF;

41 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 41 Κανονικές Μορφές Αποφυγή επανάληψης πληροφορίας ναι όχι πάντα Αποσύνθεση χωρίς απώλειες στη συνένωση ναι ναι Διατήρηση εξαρτήσεων όχι πάντα ναι BCNF 3NF

42 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 42 Σχεδιασμός Σχεσιακών Σχημάτων Ανακεφαλαίωση - Αποσύνθεση καθολικού σχήματος Επιθυμητές ιδιότητες - διατήρηση εξαρτήσεων - όχι απώλειες στη συνένωση - επανάληψη πληροφορίας λόγω ΣΕ - Κανονικές Μορφές BCNF 3NF

43 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 43 Σχεδιασμός Σχεσιακών Σχημάτων - Επανάληψη Σχεδιασμός καλών σχεσιακών σχημάτων Μη τυπικές - γενικές κατευθύνσεις 1. Σημασιολογία 2. Ελάττωση πλεονασμού 3. Ελάττωση τιμών null 4. Μη πλασματικές πλειάδες Θεωρία κανονικών μορφών που θα βασίζεται στις συναρτησιακές εξαρτήσεις

44 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 44 Σχεδιασμός Σχεσιακών Σχημάτων - Επανάληψη Αλγόριθμος σχεδιασμού Αρχικά ένα καθολικό σχήμα σχέσης που περιέχει όλα τα γνωρίσματα Προσδιορισμός των συναρτησιακών εξαρτήσεων Διάσπαση σε ένα σύνολο από σχήματα που ικανοποιούν κάποιες ιδιότητες Αποσύνθεση (decomposition)

45 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 45 Σχεδιασμός Σχεσιακών Σχημάτων - Επανάληψη Έστω ένα σχεσιακό σχήμα 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 = π R i (r),  i = 1,..,n r  r 1 * r2 * … * r n πλειάδες γνωρίσματα

46 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 46 Σχεδιασμός Σχεσιακών Σχημάτων - Επανάληψη Επιθυμητές Ιδιότητες Αποσύνθεσης 2. Διατήρηση Εξαρτήσεων Στόχος: Έλεγχος διατήρησης εξαρτήσεων όταν γίνονται τροποποιήσεις χωρίς να υπολογίζουμε τις αρχικές σχέσεις (αποφυγή των συνενώσεων) F’ = F1  F2...  Fn, πρέπει F’ + = F + 1. Συνενώσεις Άνευ Απωλειών Η φυσική συνένωση των σχέσεων που προκύπτουν μας δίνει ακριβώς την αρχική σχέση (χωρίς επιπρόσθετες πλειάδες): r = π R1 (r) * π R2 (r) * … π Rn (r) R1  R2  R1 ή R1  R2  R2 ανήκει στο F +, δηλαδή τα κοινά γνωρίσματα των δύο σχημάτων είναι κλειδί για τουλάχιστον ένα από τα δύο 3. Αποφυγή Επανάληψης Πληροφορίας

47 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 47 Σχεδιασμός Σχεσιακών Σχημάτων -Επανάληψη Κανονική Μορφή Boyce-Codd Ένα σχεσιακό σχήμα R είναι σε BCNF σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X  Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X  Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R Τρίτη Κανονική Μορφή -- κάθε γνώρισμα Α του Υ - Χ περιέχεται σε κάποιο υποψήφιο κλειδί

48 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 48 Σχεδιασμός Σχεσιακών Σχημάτων -Επανάληψη Αποφυγή επανάληψης πληροφορίας ναι όχι πάντα Αποσύνθεση χωρίς απώλειες στη συνένωση ναι ναι Διατήρηση εξαρτήσεων όχι πάντα ναι BCNF 3NF

49 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 49 Πλειότιμες Εξαρτήσεις Προκύπτουν όταν δυο γνωρίσματα είναι ανεξάρτητα το ένα από το άλλο Παράδειγμα Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Σημείωση: Για κάθε ηθοποιό είναι πιθανόν να υπάρχουν πολλές διευθύνσεις Κανένα από τα 5 γνωρίσματα δεν εξαρτάται συναρτησιακά από τα άλλα τέσσερα  δεν υπάρχουν μη μη τετριμμένες εξαρτήσεις  κλειδί ? π.χ., Όνομα Οδός Τίτλος Έτος  Πόλη δεν ισχύει

50 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 50 Πλειότιμες Εξαρτήσεις Παράδειγμα (συνέχεια) Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Το σχήμα είναι σε BCNF αλλά υπάρχει επανάληψη πληροφορίας που δεν οφείλεται όμως σε συναρτησιακές εξαρτήσεις δεν υπάρχουν μη τετριμμένες εξαρτήσεις

51 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 51 Πλειότιμες Εξαρτήσεις Για κάθε ζεύγος πλειάδων t 1 και t 2 της σχέσης R που συμφωνούν σε όλα τα γνωρίσματα του X μπορούμε να βρούμε στο R δυο πλειάδες t 3 και t 4 τέτοιες ώστε και οι δυo συμφωνούν με τις t 1 και t 2 στο X: t 1 [X] = t 2 [X] = t3[X] = t 4 [X] η t 3 συμφωνεί με την t 1 στο Υ: t3[Y] = t 1 [Y] η t 3 συμφωνεί με την t 2 στο R - X - Y: t3[R- X - Y] = t2[R - X - Y] η t 4 συμφωνεί με την t 1 στο R - X - Y: t4[R- X - Y] = t 1 [R - X - Y] η t 4 συμφωνεί με την t 2 στο Υ: t4[Y] = t2[Y] X Y

52 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 52 Πλειότιμες Εξαρτήσεις 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

53 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 53 Πλειότιμες Εξαρτήσεις Παράδειγμα Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όνομα Οδός Πόλη Όνομα Οδός Πόλη Τίτλος Έτος C. Fisher 123 Mapple Str Hollywood Star Wars 1977 C. Fisher 5 Locust Ln Malibu Empire Strikes Back 1980 ?

54 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 54 Κανόνες Συμπερασμού για Πλειότιμες Εξαρτήσεις 1. Ανακλαστικός κανόνας Αν Υ  Χ, τότε X  Y 3. Μεταβατικός κανόνας Αν X  Y και Υ  Z τότε Χ  Z 2. Επαυξητικός κανόνας Αν X  Y τότε ΧΖ  YZ 4. Συμπληρωματικός κανόνας για ΠΕ Αν X Y τότε Χ R - X - Y 5. Επαυξητικός κανόνας για ΠΕ Αν X Y και Z  W τότε WΧ Z Y 6. Μεταβατικός κανόνας για ΠΕ Αν X Y και Υ Z τότε Χ Z - Y

55 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 55 Κανόνες Συμπερασμού για Πλειότιμες Εξαρτήσεις 7. Κανόνας αντιγραφής Αν X  Y, τότε Χ Y 8. Κανόνας συγχώνευσης Αν X Y, Ζ  Y και  W τέτοιο ώστε: (α) W  Y =  και (β) W  Z τότε Χ  Z

56 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 56 Κανόνες Συμπερασμού για Πλειότιμες Εξαρτήσεις τετριμμένη ΠΕ; αν (α) το Y  X ή (β) Χ  Y = R

57 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 57 Κανόνες Συμπερασμού για Πλειότιμες Εξαρτήσεις βάσιμοι (sound) δε δίνουν λανθασμένες εξαρτήσεις και πλήρεις (complete) μας δίνουν όλο το D + Απόδειξη του κανόνας αντιγραφής (Αν X  Y, τότε Χ Y ) δηλαδή κάθε συναρτησιακή εξάρτηση είναι και πλειότιμη Οποτεδήποτε t1[X] = t2[Χ], υπάρχουν... Το ανάποδο ισχύει;

58 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 58 Κανόνες Συμπερασμού για Πλειότιμες Εξαρτήσεις Παράδειγμα συμπληρωματικού κανόνα Αν X Y τότε Χ R - X - Y Όνομα Οδός Πόλη Όνομα Τίτλος Έτος Απόδειξη του συμπληρωματικού κανόνα

59 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 59 Τέταρτη Κανονική Μορφή Ένα σχεσιακό σχήμα R είναι σε Τέταρτη Κανονική Μορφή (4NF) σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ και ΠΕ της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΠΕ ή -- X είναι υπερκλειδί του σχήματος R BCNF; 3NF;

60 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 60 Τέταρτη Κανονική Μορφή Αλγόριθμος Αποσύνθεσης σε 4NF Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα R 1 με γνωρίσματα Χ  Y R 2 με γνωρίσματα R - Y (παρόμοιος με την BCNF αποσύνθεση) Βρες μια μη τετριμμένη ΠΕ που παραβιάζει τον 4NF ορισμό, έστω X Y και Χ  Υ = 

61 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 61 Τέταρτη Κανονική Μορφή Παράδειγμα Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όνομα Οδός Πόλη Ηθοποιός1(Όνομα, Οδός, Πόλη) Ηθοποιός2(Όνομα, Τίτλος. Έτος)

62 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 62 Κανονικές Μορφές 3NF BCNF 4NF Αποφυγή επανάληψης πληροφορίας λόγω ΣΕ συνήθως ναι ναι Αποφυγή επανάληψης πληροφορίας λόγω ΠΕ όχι όχιναι Διατήρηση ΣΕ ναι ίσωςίσως Διατήρηση ΠΕ ίσως ίσωςίσως Χωρίς απώλειες στη συνένωση ναι ναι ναι

63 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 63 Πρώτη Κανονική Μορφή Πρώτη Κανονική Μορφή (1ΝF) Δεν επιτρέπονται πλειότιμα ή σύνθετα γνωρίσματα ΕΡΓ_ΕΡΓΟ(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ, {ΕΡΓΑ(ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ)}) Παράδειγμα με σύνθετα (εμφωλευόμενες σχέσεις) ΕΡΓ_ΕΡΓΟ(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ, ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ) ΑΡ_ΤΑΥΤ  ΕΡ_ΟΝΟΜΑΑΡ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ  ΩΡΕΣ Αποσύνθεση (unnesting) σε ΕΡΓ_ΕΡΓΟ1(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ) ΕΡΓ_ΕΡΓΟ2(ΑΡ_ΤΑΥΤ, ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ)

64 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 64 Πρώτη Κανονική Μορφή ΤΜΗΜΑ(Τ_ΟΝΟΜΑ, ΚΩΔ_ΤΜΗΜ, ΔΙΕΥΘΥΝΤΗΣ_ΤΜΗΜ, ΤΟΠΟΘΕΣΙΕΣ) Παράδειγμα με πλειότιμα Αποσύνθεση σε ΤΜΗΜΑ1(ΚΩΔ_ΤΜΗΜΑΤΟΣ, ΤΟΠΟΘΕΣΙΕΣ) ΤΜΗΜΑ2(Τ_ΟΝΟΜΑ, ΚΩΔ_ΤΜΗΜ, ΔΙΕΥΘΥΝΤΗΣ_ΤΜΗΜ) Ένα τμήμα σε πολλές τοποθεσίες. Κλειδί; ΚΩΔ_ΤΜΗΜΑΤΟΣ ΤΟΠΟΘΕΣΙΕΣ

65 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 65 Δεύτερη Κανονική Μορφή Πλήρης Συναρτησιακή Εξάρτηση Μια συναρτησιακή εξάρτηση Χ  Υ είναι πλήρης συναρτησιακή εξάρτηση αν για κάθε Α  Χ, δεν ισχύει (Χ - {Α})  Υ δηλαδή η αφαίρεση οποιουδήποτε γνωρίσματος Α από το Χ σημαίνει ότι η εξάρτηση δεν ισχύει πλέον δεν έχει περιττά γνωρίσματα στο αριστερό μέρος Μερική εξάρτηση αν όχι πλήρης Πρωτεύον Γνώρισμα: Ένα γνώρισμα που είναι μέλος κάποιου υποψήφιου κλειδιού

66 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 66 Δεύτερη Κανονική Μορφή Ένα σχήμα σχέσης είναι σε Δεύτερη Κανονική Μορφή (2NF) αν κάθε μη πρωτεύον γνώρισμα Α (δηλαδή γνώρισμα που δεν εμφανίζεται σε κανένα υποψήφιο κλειδί) του R είναι πλήρως συναρτησιακά εξαρτώμενο από οποιοδήποτε κλειδί του R. ΕΡΓ_ΕΡΓΟ(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ, ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ) ΑΡ_ΤΑΥΤ  ΕΡ_ΟΝΟΜΑ ΑΡ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ  ΩΡΕΣ Παράδειγμα παραβίασης της 2NF

67 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 67 Τρίτη Κανονική Μορφή Μια συναρτησιακή εξάρτηση Χ  Υ σε ένα σχήμα σχέσης R είναι μια μεταβατική εξάρτηση αν υπάρχει ένα σύνολο γνωρισμάτων Z που δεν είναι υποσύνολο οποιουδήποτε κλειδιού της R τέτοιο ώστε να ισχύουν Χ  Ζ και Ζ  Υ.

68 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 68 Τρίτη Κανονική Μορφή Τρίτη Κανονική Μορφή - Εναλλακτικός Ορισμός Ένα σχήμα σχέσης είναι σε 3NF αν κάθε μη πρωτεύον γνώρισμα Α του R είναι -- πλήρως συναρτησιακά εξαρτώμενο από κάθε κλειδί του R και -- μη μεταβατικά εξαρτώμενο από κάθε κλειδί του R

69 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 69 2NF Κανονικές Μορφές 2NF ΟΛΕΣ οι ΣΧΕΣΕΙΣ 1NF 3NF BCNF 4NF 5NF 2NF

70 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 70 Ένας μεγάλος αριθμός από εμπορικά εργαλεία, δοθέντων ενός συνόλου Σχημάτων Σχέσεων/Γνωρισμάτων και ενός συνόλου συναρτησιακών εξαρτήσεων δημιουργούν αυτόματα σχήματα σχέσεων σε μορφή 3NF (σπάνια πάνε σε BCNF, 4NF και 5NF) Μια άλλη χρήση τέτοιων εργαλείων είναι να ελέγχουν το επίπεδο κανονικοποίησης μιας σχέσης - γενικά, η χρήση ως ευριστικό εργαλείο επιλογής ενός σχεδιασμού έναντι κάποιου άλλου Υπάρχουν πρακτικά αποτελέσματα της θεωρίας που επιτρέπουν σε έναν σχεδιαστή να κάνει ανάλυση της μορφής: Αν μια σχέση είναι σε 3NF και κάθε υποψήφιο κλειδί αποτελείται ακριβώς από ένα γνώρισμα, τότε είναι και σε 5NF (Fagin, 1991) Σχεδιασμός Σχεσιακών Σχημάτων

71 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 71  Η διαδικασία Κανονικοποίησης έχει και μειονεκτήματα: oΔεν είναι δημιουργική -- με στόχο τα κριτήρια που αναφέρθηκαν προηγουμένως, δεν υπάρχει τρόπος να δημιουργηθεί μια «καλή» βάση δεδομένων oΣυνήθως η κανονικοποίηση γίνεται αφού έχουμε κάποιο σχήμα (μας λέει αν είναι «καλό» ή «κακό») oΔεν προσφέρει ένα εννοιολογικό σχήμα (ασχολείται μόνο με σχέσεις και γνωρίσματα) Όμως, είναι μια αξιέπαινη και πρακτικά χρήσιμη προσπάθεια να γίνουν με τυπικό και συστηματικό τρόπο πράγματα που τα κάνουμε συνήθως διαισθητικά. Σχεδιασμός Σχεσιακών Σχημάτων

72 Βάσεις Δεδομένων Ευαγγελία Πιτουρά 72 Σχεδιασμός Σχεσιακών Σχημάτων Η Διαδικασία Σχεδιασμού 1. Συλλογή και ανάλυση απαιτήσεων 2. Εννοιολογικός σχεδιασμός 3. Επιλογή ΣΔΒΔ 4. Απεικόνιση στο μοντέλο δεδομένων (λογικός σχεδιασμός) 5. Φυσικός σχεδιασμός 6. Υλοποίηση


Κατέβασμα ppt "Βάσεις Δεδομένων 2001-2002 Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google