ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos CMU)
Επισκόπηση Τυπικές Γλώσσες Ερωτημάτων Σχεσιακή Άλγεβρα Εμπορικές Γλώσσες Ερωτημάτων SQL Περιορισμοί Ακεραιότητας Συναρτησιακές Εξαρτήσεις Κανονικοποίηση καλός σχεδιασμός ΒΔ
Επισκόπηση Πεδίο Ορισμού (περιορισμοί ακεραιότητας) Βεβαιώσεις (assertions) και σκανδάλες (triggers) Ασφάλεια Συναρτησιακές Εξαρτήσεις Γιατί; Ορισμός Τα αξιώματα Armstrong Κλειστότητα (closure) και κάλυψη (cover)
Συναρτησιακές Εξαρτήσεις Κίνητρο: καλοί πίνακες στη βάση Παίρνει 1 (ΑΦΜ, ΑΜ, Βαθμός, όνομα, διεύθυνση) Είναι καλό το παραπάνω παράδειγμα ή όχι;
Συναρτησιακές Εξαρτήσεις Παίρνει 1 (ΑΦΜ, ΑΜ, Βαθμός, όνομα, διεύθυνση) ΑΦΜ ΑΜ Βαθμός Όνομα Διεύθυνση 123 413 Α Τάτσης Αιόλου 123 415 Β Τάτσης Αιόλου 123 211 Α Τάτσης Αιόλου
Συναρτησιακές Εξαρτήσεις Γιατί δεν είναι καλό ; ΑΦΜ ΑΜ Βαθμός Όνομα Διεύθυνση 123 413 Α Τάτσης Αιόλου 123 415 Β Τάτσης Αιόλου 123 211 Α Τάτσης Αιόλου
Συναρτησιακές Εξαρτήσεις Πλεονασμός Χώρος αποθήκευσης Έλειψη συνέπειας Προβλήματα κατά την εισαγωγή και διαγραφή (...) Τι προκάλεσε το πρόβλημα;
Συναρτησιακές Εξαρτήσεις Το όνομα εξαρτάται από το ΑΦΜ Τι σημαίνει εξαρτάται; ΑΦΜ ΑΜ Βαθμός Όνομα Διεύθυνση 123 413 Α Τάτσης Αιόλου 123 415 Β Τάτσης Αιόλου 123 211 Α Τάτσης Αιόλου
Συναρτησιακές Εξαρτήσεις Ορισμός: a b a συναρτησιακά καθορίζει το b ΑΦΜ ΑΜ Βαθμός Όνομα Διεύθυνση 123 413 Α Τάτσης Αιόλου 123 415 Β Τάτσης Αιόλου 123 211 Α Τάτσης Αιόλου
Συναρτησιακές Εξαρτήσεις Άτυπος Ορισμός: αν γνωρίζεις το a τότε υπάρχει μόνο ένα b που του ταιριάζει ΑΦΜ ΑΜ Βαθμός Όνομα Διεύθυνση 123 413 Α Τάτσης Αιόλου 123 415 Β Τάτσης Αιόλου 123 211 Α Τάτσης Αιόλου
Συναρτησιακές Εξαρτήσεις Τυπικά: Y ( t1[ x] = t2[ x] t1[ y] = t2[ y]) Αν δύο πλειάδες συμφωνούν ως προς το γνώρισμα Χ, πρέπει να συμφωνούν και ως προς το γνώρισμα Υ (π.χ αν το ΑΦΜ είναι το ίδιο τότε ίδια πρέπει να είναι και η διεύθυνση) Μια συναρτησιακή εξάρτηση είναι μια γενίκευση της έννοιας του κλειδιού ΓΙΑΤΙ;
Συναρτησιακές Εξαρτήσεις Το Χ και το Υ είναι σύνολα γνωρισμάτων Άλλα παραδείγματα;;; ΑΦΜ ΑΜ Βαθμός Όνομα Διεύθυνση 123 413 Α Τάτσης Αιόλου 123 415 Β Τάτσης Αιόλου 123 211 Α Τάτσης Αιόλου
Συναρτησιακές Εξαρτήσεις ΑΦΜ όνομα, διεύθυνση ΑΦΜ, ΑΜ Βαθμός ΑΦΜ ΑΜ Βαθμός Όνομα Διεύθυνση 123 413 Α Τάτσης Αιόλου 123 415 Β Τάτσης Αιόλου 123 211 Α Τάτσης Αιόλου
Συναρτησιακές Εξαρτήσεις Το Κ είναι υπερκλειδί της σχέσης R iff (αν και μόνο αν) K R Το Κ είναι υποψήφιο κλειδί της σχέσης R iff (αν και μόνο αν) K R για κανένα a K, a R
Συναρτησιακές Εξαρτήσεις Κλειστότητα (closure) ενός συνόλου συναρτησιακών εξαρτήσεων: - για όλες τις υπονοούμενες συναρτησιακές εξαρτήσεις Παράδειγμα e.g.: ΑΦΜ όνομα, διεύθυνση ΑΦΜ, ΑΜ βαθμός Συνάγουν ότι: ΑΦΜ, ΑΜ βαθμός, όνομα, διεύθυνση ΑΦΜ, ΑΜ ΑΦΜ
Σ.Ε. - Τα αξιώματα Armstrong Κλειστότητα συνόλου συναρτησιακών εξαρτήσεων: - για όλες τις υπονοούμενες συναρτησιακές εξαρτήσεις Παράδειγμα ΑΦΜ όνομα, διεύθυνση ΑΦΜ, ΑΜ βαθμός Πώς θα βρούμε όλες τις υπονοούμενες συναρτησιακές εξαρτήσεις με συστηματικό τρόπο;
Σ.Ε. - Τα αξιώματα Armstrong Τα αξιώματα Armstrong s είναι βάσιμα (sound) δηλ. δε δίνουν λανθασμένες εξαρτήσεις και πλήρη (complete) : Y Y Ανακλαστικότητα (Reflexivity) π.χ. ΑΦΜ, όνομα ΑΦΜ Y W Επαυξητικότητα (Augmentation) (επαυξητικότητα): YW π.χ. ΑΦΜ όνομα τότε ΑΦΜ. Βαθμός ΑΦΜ, βαθμός
Σ.Ε. - Τα αξιώματα Armstrong Μεταβατικότητα (μεταβατικότητα) Y Y Z Z ΑΦΜ διεύθυνση διεύθυνση Νομός, Εφορία, Εισόδημα ΤΟΤΕ: ΑΦΜ Νομός, Εφορία, Εισόδημα
Σ.Ε. - Τα αξιώματα Armstrong Ανακλαστικότητα: Y Y Επαυξητικότητα: Μεταβατικότητα: Y Y Y Z W YW Z Αξιώματα Armstrong: Βάσιμοι και Πλήρεις Κανόνες Συμπερασμού
F + = F Σ.Ε. Πώς θα βρούμε την Κλειστότητα F + repeat for each συναρτησιακή εξάρτηση f στο F + εφάρμοσε τους κανόνες ανακλαστικότητας και επαυξητικότητας στο f πρόσθεσε τις προκύπτουσες Συναρτησιακές Εξαρτήσεις στο F + for each ζεύγος Συναρτησιακών Εξαρτήσεων f 1 και f 2 στο F + if f 1 και f 2 μπορούν να συνδυαστούν με τη χρήση της μεταβατικότητας then πρόσθεσε την προκύπτπυσα συναρτησιακή εξάρτηση στο F + until το F + δεν μεταβάλλεται άλλο Μπορούμε να απλοποιήσουμε τη χειρωνατική διαδικασία υπολογισμού του F + (κλειστότητα του F) χρησιμοποιώντας τους ακόλουθους κανόνες
Σ.Ε. - Τα αξιώματα Armstrong Επιπλέον κανόνες: Ενωτικός Κανόνας (Union) Διασπαστικός Κανόνας (Decomposition) YZ Y Z Y YZ Z Ψευδομεταβατικός Κανόνας (Pseudo-transitivity) YW Y Z W Z
Σ.Ε. - Τα αξιώματα Armstrong Απόδειξη του Ενωτικού Κανόνα (Union) Συμπερασμού με χρήση των αξιωμάτων του Armstrong Y? YZ Z
Σ.Ε. - Τα αξιώματα Armstrong Απόδειξη του Ενωτικού Κανόνα (Union) Συμπερασμού με χρήση των αξιωμάτων του Armstrong Y (1) Z (2) (1) + επαυξ. με / Z Z YZ (3) (2) + επαυξ με / Z (4) όμως είναι, επομένως (3) + (4) και μεταβ YZ
Σ.Ε. - Τα αξιώματα Armstrong Απόδειξη του Ψευδομεταβατικού Κανόνα (Pseudotransitivity) Συμπερασμού με χρήση των αξιωμάτων του Armstrong Y Y Y Y Z W Y YW Z YW? Y Z W Z
Σ.Ε. - Τα αξιώματα Armstrong Απόδειξη του Διασπαστικού Κανόνα (Decomposition) Συμπερασμού με χρήση των αξιωμάτων του Armstrong Z Z Y Y Y Y YW W Y Z Y YZ?
Σ.Ε. - Κλειστότητα F + Δοθέντος ενός συνόλου F από ένα σύνολο συναρτησιακών εξαρτήσεων (ΣΕ) το F + είναι το σύνολο όλων των συναγόμενων ΣΕ Παράδειγμα Παίρνει (ΑΦΜ, ΑΜ, βαθμός,όνομα, διεύθυνση) ΑΦΜ, ΑΜ βαθμός ΑΦΜ όνομα, διεύθυνση }F
Σ.Ε. - Κλειστότητα F + ΑΦΜ, ΑΜ βαθμός ΑΦΜ όνομα, διεύθυνση ΑΦΜ ΑΦΜ ΑΦΜ, ΑΜ διεύθυνση ΑΜ, διεύθυνση ΑΜ... F+
Σ.Ε. - Κλειστότητα F + R=(A,B,C,G,H,I) F= {A B A C CG H CG I B H} Ορισμένα μέλη του F+: A H AG I CG HI
Σ.Ε. - Κλειστότητα Α + Δοθέντος ενός συνόλου F από ένα σύνολο FD συναρτησιακών εξαρτήσεων το Α + είναι το σύνολο όλων των γνωρισμάτων που καθορίζονται (εξαρτώνται) απότοα Παράδειγμα Παίρνει (ΑΦΜ, ΑΜ, βαθμός,όνομα, διεύθυνση) ΑΦΜ, ΑΜ βαθμός ΑΦΜ όνομα, διεύθυνση {ΑΦΜ}+ =?? }F
Σ.Ε. - Κλειστότητα Α + Παίρνει (ΑΦΜ, ΑΜ, βαθμός, όνομα, διεύθυνση) ΑΦΜ, ΑΜ βαθμός ΑΦΜ όνομα, διεύθυνση }F {ΑΦΜ}+ ={ΑΦΜ, όνομα, διεύθυνση}
Σ.Ε. - Κλειστότητα Α + Παίρνει (ΑΦΜ, ΑΜ, βαθμός, όνομα, διεύθυνση) ΑΦΜ, ΑΜ βαθμός ΑΦΜ όνομα, διεύθυνση }F {ΑΜ}+ =??
Σ.Ε. - Κλειστότητα Α + Παίρνει (ΑΦΜ, ΑΜ, βαθμός, όνομα, διεύθυνση) ΑΦΜ, ΑΜ βαθμός ΑΦΜ όνομα, διεύθυνση }F {ΑΜ, ΑΦΜ}+ =??
Σ.Ε. - Κλειστότητα Α + Aν A+ = {όλα τα γνωρίσματα του πίνακα} τότε A υποψήφιο κλειδί
Σ.Ε. - Κλειστότητα Α + Αλγόριθμος υπολογισμού α +, την κλειστότητα του α στη συνάρτηση F αποτέλεσμα := α; while (υπάρχουν αλλαγές στο αποτέλεσμα) do for each β γστην F do begin if β του αποτελέσματος then αποτέλεσμα := αποτέλεσμα γ end
Σ.Ε. - Κλειστότητα Α + (παράδειγμα) R = (A, B, C, G, H, I) F = {A B, A C, CG H, CG I, B H} (AG) + 1. αποτέλεσμα = AG 2. αποτέλεσμα = ABCG (A C και A B) 3. αποτέλεσμα = ABCGH (CG H και CG AGBC) 4. αποτέλεσμα = ABCGHI (CG I και CG AGBCH) Είναι το AG υποψήφιο κλειδί; 1. Είναι το AG υπερκλειδί; 1. Ισχύει AG R? 2. Είναι οποιδήποτε υποσύνολο του AG υπερκλειδί; 1. Ισχύει A + R? 2. Ισχύει G + R?
Σ.Ε. - Κλειστότητα Α + Διαγράμματα AB C (1) A BC (2) B C (3) A B (4) A B C
Σ.Ε. - Ελάχιστο Κάλυμμα Δοθέντος ενός συνόλου F από συναρτησιακές εξαρτήσεις Fc (ελάχιστο κάλλυμα) είναι το ελάχιστο σύνολο ισοδύναμων συναρτησιακών εξαρτήσεων Παράδειγμα Παίρνει (ΑΦΜ, ΑΜ, βαθμός, όνομα, διεύθυνση) ΑΦΜ, ΑΜ βαθμός ΑΦΜ όνομα, διεύθυνση ΑΦΜ, όνομα όνομα, διεύθυνση ΑΦΜ, ΑΜ βαθμός, όνομα F
Σ.Ε. - Ελάχιστο Κάλυμμα Fc ΑΦΜ, ΑΜ βαθμός ΑΦΜ όνομα, διεύθυνση ΑΦΜ, όνομα όνομα, διεύθυνση ΑΦΜ, ΑΜ βαθμός, όνομα
Σ.Ε. - Ελάχιστο Κάλυμμα Γιατί το χρειαζόμαστε; Πώς θα το ορίσουμε; Πώς θα το υπολογίσουμε αποτελεσματικά;
Σ.Ε. - Ελάχιστο Κάλυμμα Γιατί το χρειαζόμαστε; Μας διευκολύνει στον υπολογισμό των υποψήφιων κλειδιών Πώς θα το ορίσουμε; Πώς θα το υπολογίσουμε αποτελεσματικά;
Σ.Ε. - Ελάχιστο Κάλυμμα Πώς θα το ορίσουμε; Κάθε ΣΕ a b δεν έχει περιττά γνωρίσματα στο αριστερό της μέλος Κάθε ΣΕ a b δεν έχει περιττά γνωρίσματα στο δεξιό της μέλος Όλαταστοιχείατουαριστερούμέλουςείναι μοναδικά
Σ.Ε. - Ελάχιστο Κάλυμμα Πότε ένα γνώρισμα είναι περιττό; (i) αν ισχύει η κλειστότητα τόσο πριν όσο και μετά την απαλοιφή του γνωρίσματος (ii) αν η συνάρτηση F-πριν συνάγει ό,τι και η συνάρτηση F-μετά και αντίστροφα ή
Σ.Ε. - Ελάχιστο Κάλυμμα ΑΦΜ, ΑΜ βαθμός ΑΦΜ όνομα, διεύθυνση ΑΦΜ, όνομα όνομα, διεύθυνση ΑΦΜ, ΑΜ βαθμός, όνομα F
Σ.Ε. - Ελάχιστο Κάλυμμα ΑΛΓΟΡΙΘΜΟΣ Εξέτασε κάθε ΣΕ, αφαίρεσε τα περιττά γνωρίσματα στο αριστερό και στο δεξιό μέλος της συνάρτησης Συγχώνευσε τις ΣΕ που έχουν το ίδιο αριστερό μέλος Επανέλαβε τα παραπάνω μέχρι να μην υπάρχει αλλαγή στο αποτέλεσμα
Σ.Ε. - Ελάχιστο Κάλυμμα Αλγόριθμος Υπολογισμού AB C (1) A BC (2) B C (3) A B (4)
Σ.Ε. - Ελάχιστο Κάλυμμα Αλγόριθμος Υπολογισμού AB C (1) A BC (2) B C (3) A B (4) Συγχωνεύονται τα (4) και (2) AB C (1) A BC (2) B C (3)
Σ.Ε. - Ελάχιστο Κάλυμμα AB C (1) A BC (2) B C (3) AB C (1) A B (2 ) B C (3) Στο (2): το C είναι περιττό
Σ.Ε. - Ελάχιστο Κάλυμμα AB C (1) A B (2 ) B C (3) B C (1 ) A B (2 ) B C (3) Στο (1): το A είναι περιττό
Σ.Ε. - Ελάχιστο Κάλυμμα B C (1 ) A B (2 ) B C (3) A B (2 ) B C (3) Τίποτα δεν είναι περιττό! Συγχωνεύονται τα (1 ) και (3)
Σ.Ε. - Ελάχιστο Κάλυμμα ΠΡΙΝ AB C (1) A BC (2) B C (3) A B (4) ΜΕΤΑ A B (2 ) B C (3)
Επισκόπηση -συμπεράσματα Πεδίο, Περιορισμοί αναφορικής ακεραιότητας Βεβαιώσεις και Σκανδάλες Συναρτησιακές Εξαρτήσεις Γιατί Ορισμός Τα Αξιώματα του Armstrong Κλειστότητα και Κάλυμμα