Συναρτησιακές Εξαρτήσεις

Σχετικά έγγραφα
Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις

Συναρτησιακές και Πλειότιµες Εξαρτήσεις

Συναρτησιακές Εξαρτήσεις Σχεδιασμός Βάσεων Δεδομένων

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

καλών σχεσιακών σχημάτων

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης.

ΗΥ360 Αρχεία και Βάσεις Δεδομένων

καλών σχεσιακών σχημάτων

Βάσεις Δεδομένων Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασμός Βάσεων Δεδομένων και Κανονικοποίηση

Βάσεις Δεδομένων : Λογικός Σχεδιασμός 1. καλών σχεσιακών σχημάτων. Λογικός Σχεδιασμός Σχεσιακών Σχημάτων. Γενικές Κατευθύνσεις.

Κανονικές Μορφές. Συνενώσεις Άνευ Απωλειών. Προσοχή με τις τιμές null στην αποσύνθεση

Lecture 22: Functional Dependencies and Normalization


Κανονικοποίηση Σχήµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Διδάσκων: Παναγιώτης Ανδρέου

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Κανονικές Μορφές. Τι συμβαίνει με το (πρωτεύον) κλειδί και τις συναρτησιακές εξαρτήσεις; Παράδειγμα 1. Παράδειγμα 2

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση

Κανονικοποίηση. Σημασιολογία Γνωρισμάτων. Άτυπες Οδηγίες. Παράδειγμα. Αξιολόγηση Σχεσιακών Σχημάτων ΒΔ. Περιττές Τιμές και Ανωμαλίες Ενημέρωσης

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Βάσεις εδοµένων. Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασµός Βάσεων εδοµένων και. Κανονικοποίηση.

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα

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

Κανονικοποίηση. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Κανονικοποίηση 1

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Κανονικές Μορφές Σχεδιασµός Σχεσιακών Σχηµάτων

2η ΔΙΑΛΕΞΗ Συναρτησιακές εξαρτήσεις

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση

Κανονικοποίηση. Άτυπες Οδηγίες. Παράδειγµα. Αξιολόγηση Σχεσιακών Σχηµάτων Β. Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης

Κλείσιμο Συνόλου Γνωρισμάτων

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Σχεδιασμός μιας Β : Βήματα

Κανονικοποίηση Σχήµατος

Σχεδιασµός Σχεσιακών Σχηµάτων

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

Κανονικές Μορφές. Αποσύνθεση (decomposition)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Αρχεία και Βάσεις Δεδομένων

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση, ίαυλος

Σχεδίαση Β.Δ. (Database Design)

Εισαγωγή. Σχεδιασµός µιας Β

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

Θέματα ανακεφαλαίωσης

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Σχεδιασµός Σχεσιακών Σχηµάτων

f(t) = (1 t)a + tb. f(n) =

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων


Μοντέλο Οντοτήτων-Συσχετίσεων

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Αρχεία και Βάσεις Δεδομένων

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Κανονικές Μορφές (Normal Forms)

Βάσεις δεδομένων. (9 ο μάθημα) Ηρακλής Βαρλάμης

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Σχέσεις. ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Θεωρία Κανονικοποίησης

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Μοντέλο Οντοτήτων-Συσχετίσεων

ιµελής Σχέση ιατεταγµένο ζεύγος (α, β): ύο αντικείµενα (όχι κατ ανάγκη διαφορετικά) σε καθορισµένη σειρά. Γενίκευση: διατεταγµένη τριάδα (α, β, γ), δι

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 1

Μοντέλο Οντοτήτων-Συσχετίσεων


ΗΥ118: Διακριτά Μαθηματικά Εαρινό εξάμηνο 2016 Λύσεις ασκήσεων προόδου

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (ΗΥ-119)

Βάσεις Δεδομένων Ενότητα 7

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης

Μοντέλο Οντοτήτων-Συσχετίσεων

Αρχεία και Βάσεις Δεδομένων

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση

Εφαρμοσμένα Μαθηματικά ΙΙ 9ο Σετ Ασκήσεων (Λύσεις) Διανυσματικοί Χώροι

Σχεσιακός Λογισμός. Σχεσιακός Λογισμός Πλειάδων. σχεσιακά πλήρης γλώσσα

ΗΥ118: Διακριτά Μαθηματικά - Εαρινό Εξάμηνο 2016 Τελική Εξέταση Ιουνίου - Τετάρτη, 15/06/2016 Λύσεις Θεμάτων

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1


Εφαρμοσμένα Μαθηματικά

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

(ii) X P(X). (iii) X X. (iii) = (i):

Transcript:

Εισαγωγή Θεωρία για το πότε ένας σχεδιασμός είναι «καλός» Η θεωρία βασίζεται στις (Functional Dependencies) Τι είναι; Εξαρτήσεις ανάμεσα σε σύνολα από γνωρίσματα Συμβολισμός S1 S2 (όπου S1, S2 σύνολα γνωρισμάτων) Τι σημαίνει: Αν ίδιες τιμές στα γνωρίσματα του S1 ίδιες τιμές στα γνωρίσματα του S2 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 2 Παράδειγμα: Σχήμα Σχέσης R(A, B, C, D) (Υπενθύμιση συμβολισμού) Στιγμιότυπο, r(r) Α Β C D Συμβολισμός r1 a 1 b 1 c 1 d 1 r1[a] = a 1 r2 a 1 b 2 c 1 d 2 r2[bc] = b 2 c 1 r3 a 2 b 3 c 2 d 3 r4 a 3 b 3 c 2 d 4 Έστω ένα σχήμα σχέσης R(Α 1, Α 2,, Α n ). Θα συμβολίζουμε με R = {Α 1, Α 2,, Α n } το σύνολο των γνωρισμάτων της R. ΟΡΙΣΜΟΣ Έστω X R και Y R, μια συναρτησιακή εξάρτηση Χ Υ ισχύει στο σχήμα R αν για κάθε σχέση r(r), για κάθε ζεύγος πλειάδων t 1 και t 2 της r, τέτοιες ώστε t 1 [X] = t 2 [X] t 1 [Y] = t 2 [Y] Με απλά λόγια, μια συναρτησιακή εξάρτηση X Y μας λέει ότι αν δυο πλειάδες μιας σχέσης της R συμφωνούν (έχουν την ίδια τιμή) σε κάποια γνωρίσματα Χ R τότε συμφωνούν (έχουν την ίδια τιμή) και σε κάποια γνωρίσματα Y R. Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 3 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 4 Αντί {Α 1, Α 2,, Αn} {Β 1, Β 2,, Β m } γράφουμε Α 1 Α 2 Α n Β 1 Β 2 Β m Ισχύουν στο σχήμα - δηλαδή για όλες τις πιθανές σχέσεις (πλειάδες) Παράδειγμα: Ποιες (μη τετριμμένες) συναρτησιακές εξαρτήσεις ικανοποιεί η παρακάτω σχέση δεν ξέρουμε αν ισχύουν στο σχήμα Μπορούμε όμως να πούμε ποιες δεν ισχύουν Α Β C D a 1 b 1 c 1 d 1 a 1 b 2 c 1 d 2 a 2 b 3 c 2 d 3 To Y εξαρτάται συναρτησιακά από το X Γιατί καλούνται συναρτησιακές Κ R υπερκλειδί της R ανν K? Υπενθύμιση: R είναι το σύνολο των γνωρισμάτων του σχήματος Μια γενίκευση της έννοιας του κλειδιού a 3 b 3 c 2 d 4 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 5 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 6 Βάσεις Δεδομένων 2007-2008: 1

Παράδειγμα φυσικής σημασίας εξαρτήσεων Παρατήρηση Α 1 Α 2 Α n Β 1 και Α 1 Α 2 Α n Β 2 Α 1 Α 2 Α n Β 1 Β 2 Έστω το παρακάτω σχεσιακό σχήμα: Εγγραφή(Μάθημα, Φοιτητής, Ώρα, Αίθουσα, Βαθμός) (συντομογραφία) Ε(Μ, Φ, Ω, Α, Β) 1. Τα μαθήματα προσφέρονται μόνο μια φορά (σε μια συγκεκριμένη ώρα και αίθουσα). 2. Οι φοιτητές δεν μπορούν να είναι σε δυο διαφορετικά μέρη ταυτόχρονα 3. ε γίνεται να έχουμε δυο μαθήματα ταυτόχρονα στην ίδια αίθουσα 4. Ένας φοιτητής παίρνει μόνο ένα βαθμό σε κάθε μάθημα Ποιες συναρτησιακές εξαρτήσεις εκφράζουν αυτές τις συνθήκες. Ποιο είναι το κλειδί αν ισχύουν τα (1) έως (4) 5. Τι σημαίνει Φ Μ, ΜΩ Α Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 7 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 8 Λογαριασμός Παράδειγμα: Στο παρακάτω σχήμα ένας λογαριασμός μπορεί να ανήκει σε παραπάνω από έναν πελάτη και ένας πελάτης πολλούς λογαριασμούς. Ποιες άλλες (εκτός του κλειδιού) συναρτησιακές εξαρτήσεις μπορεί να ισχύουν αλλά δε φαίνονται στο παρακάτω σχήμα; Όνομα-Υποκαταστήματος Αριθμός-Λογαριασμού Ποσό Όνομα-Πελάτη Στο παρακάτω σχήμα, υπάρχει κάποιος περιορισμός που δεν εκφράζεται από τα κλειδιά; Ταινία Τίτλος Έτος Διάρκεια Είδος Παράδειγμα: Ένας Πελάτης πολλά δάνεια και ένα άνειο από παραπάνω από έναν πελάτη Πελάτης Όνομα-Πελάτη Οδός Πόλη Αριθμός-Δανείου Σημείωση: Στα παραπάνω σχεσιακά μοντέλα, με τα κλειδιά εκφράζεται μόνο ένα υποσύνολο των περιορισμών Οι δύο παραπάνω σχεδιασμοί δεν είναι «καλοί», γιατί; Ηθοποιός Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 9 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 10 Τετριμμένες εξαρτήσεις (ισχύουν για όλα τα σχήματα) Παράδειγμα: Α Α ή ΑΒ Β Γενικά, Χ Υ τετριμμένη, όταν Y X Οι συναρτησιακές εξαρτήσεις ορίζονται στο σχήμα μιας σχέσης Ένα σύνολο από συναρτησιακές εξαρτήσεις F ισχύει σε ένα σχήμα Έλεγχος αν μια σχέση ικανοποιεί το σύνολο F Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 11 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 12 Βάσεις Δεδομένων 2007-2008: 2

Συνάγουμε νέες εξαρτήσεις από ένα δεδομένο σύνολο εξαρτήσεων F = X Y : η συναρτησιακή εξάρτηση X Y συνάγεται από το σύνολο εξαρτήσεων F F + : κλειστότητα του F: σύνολο όλων των συναρτησιακών εξαρτήσεων που συνάγονται από το F - γιατησυναγωγήεξαρτήσεων Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 13 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 14 (Inference Rules) 1. Ανακλαστικός Κανόνας Αν Χ Υ, τότε X Y 2. Επαυξητικός Κανόνας {X Y} = ΧΖ YZ 3. Μεταβατικός Κανόνας {X Y, Υ Z } = Χ Z Κανόνες του Amstrong: βάσιμοι (sound) δε δίνουν λανθασμένες εξαρτήσεις και πλήρεις (complete) μας δίνουν όλο το F + {X Y} = ΧΖ YZ Επαυξητικός Κανόνας Απόδειξη (με επαγωγή σε άτοπο:) έστω ότι σε κάποιο στιγμιότυπο της r ισχύει X Y (1) αλλά όχι ΧΖ YZ (2) Από (2 & ορισμό), υπάρχουν δυο πλειάδες t1[xz] = t2[xz] (3) και t1[yz] t2[yz] Από (3), t1[x] = t2[x] (4) και t1[z] = t2[z] (5) Από (1) και (4), t1[y] = t2[υ] (6) Από (5) και (6), t1[υz] = t2[υz] Άτοπο! Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 15 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 16 Επιπρόσθετοι κανόνες 4. Ενωτικός Κανόνας {X Y, Χ Z } = Χ YZ 5. ιασπαστικός Κανόνας {X YZ } = Χ Y 6. Ψευδομεταβατικός Κανόνας {X Y, ΥΖ W } = ΧZ W Ενωτικός Κανόνας {X Y (1), Χ Z (2)} = Χ YZ Απόδειξη (με χρήση των κανόνων του Amstrong) (2) + Επαυξ. ΧY YZ (3) (1) + Επαυξ. X XY (4) (3) (4) Μεταβ. Χ YZ Ανακλαστικός Κανόνας Αν Χ Υ, τότε X Y Επαυξητικός Κανόνας {X Y} = ΧΖ YZ Μεταβατικός Κανόνας {X Y, Υ Z } = Χ Z Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 17 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 18 Βάσεις Δεδομένων 2007-2008: 3

1. Ανακλαστικός Κανόνας Αν Χ Υ, τότε X Y 2. Επαυξητικός Κανόνας {X Y} συνάγει ΧΖ YZ 3. Μεταβατικός Κανόνας {X Y, Υ Z} συνάγει Χ Z Έστω R = {A, B, C, G, H, I} και F = {A B, A C, CG H, CG I, B H} Παραδείγματα συναρτησιακών εξαρτήσεων που συνάγονται από το F 4. Ενωτικός Κανόνας {X Y, Χ Z} συνάγει Χ YZ 5. ιασπαστικός Κανόνας {X YZ } συνάγει Χ Y 6. Ψευδομεταβατικός Κανόνας {X Y, ΥΖ W} συνάγει ΧZ W Α Η CG ΗI ΑG I (α) Υπάρχει τρόπος/αλγόριθμος να τις υπολογίσουμε όλες; (β) Πως μπορούμε να υπολογίσουμε το κλειδί; Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 19 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 20 Χ + : κλειστότητα (closure) ενός συνόλου X από γνωρίσματα υπό το F σύνολο όλων των γνωρισμάτων που εξαρτώνται συναρτησιακά από το X μέσω του F Υπολογισμός του Χ + Result := Χ while (αλλαγή στο Result) Για κάθε συναρτησιακή εξάρτηση: Υ Ζ F Αν Υ Result, Result := Result Z Παράδειγμα Έστω R = {A, B, C, G, H, I} και F = {A B, A C, CG H, CG I, B H} Υπολογισμός του {A, G} + Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 21 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 22 Είναι ο αλγόριθμος σωστός (α) Για κάθε Y Result, ισχύει Υ Χ + (β) Για κάθε Υ Χ +, ισχύει Υ Result Πολυπλοκότητα χειρότερης περίπτωσης Μπορούμε να χρησιμοποιήσουμε τον αλγόριθμο (πως;) για να: 1. είξουμε αν μια συναρτησιακή εξάρτηση ισχύει 2. Υπολογίσουμε τα κλειδιά ενός σχήματος σχέσης 3. Υπολογίσουμε το F + Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 23 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 24 Βάσεις Δεδομένων 2007-2008: 4

Παράδειγμα I Παράδειγμα I R(A, B, C, D) F = {AB C, C D, D A} 1. είξουμε αν μια συναρτησιακή εξάρτηση ισχύει C A? A D? AB D? R(A, B, C, D) F = {AB C, C D, D A} 2. Υπολογίσουμε τα κλειδιά ενόςσχήματοςσχέσης Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 25 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 26 Παράδειγμα I Παράδειγμα II R(A, B, C, D) F = {AB C, C D, D A} 3. Υπολογίσουμε το F + R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} 1. Υπολογίστε το Α +, Β +,C +, D +, E + 2. Υποψήφια κλειδιά; Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 27 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 28 Κάλυμμα Κάλυμμα Απλοποίηση ενός δοσμένου συνόλου συναρτησιακών εξαρτήσεων χωρίς να μεταβάλλουμε το κλειστότητά του Έστω δυο σύνολα συναρτησιακών εξαρτήσεων E και F Λέμε ότι το F καλύπτει το E (ή το Ε καλύπτεται από το F), αν κάθε ΣΕ στο Ε, ανήκει στο F + (δηλαδή, συνάγεται από το F) (αλλιώς, Ε F + ) υο σύνολα συναρτησιακών εξαρτήσεων E και F είναι ισοδύναμα ανν E + = F +. (δηλαδή, αν το Ε καλύπτει το F και το F καλύπτει το Ε) Πως μπορούμε να υπολογίσουμε αν ένα σύνολο F καλύπτει ένα σύνολο E; Πως μπορούμε να υπολογίσουμε αν ένα σύνολο F είναι ισοδύναμο με ένα σύνολο E; Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 29 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 30 Βάσεις Δεδομένων 2007-2008: 5

Παράδειγμα F1 = {A C, B C} F2 = {A B, A C} F3 = {A B, AB C} F1 καλύπτει το F3; F3 καλύπτει το F1; F1 ισοδύναμο του F3; F2 καλύπτει το F3; Ελάχιστο κάλυμμα F min της F: ελάχιστο σύνολο από ΣΕ που είναι ισοδύναμο με την F Ένα σύνολο F συναρτησιακών εξαρτήσεων είναι ελάχιστο αν: 1. κάθε ΣΕ στο F έχει ένα μόνο γνώρισμα στο δεξιό της μέρος 2. δε μπορούμε να αντικαταστήσουμε μια ΣΕ Χ ΖαπότοF με μια ΣΕ Υ Z τέτοια ώστε Y X και να πάρουμε ένα σύνολο ισοδύναμο του F(δεν υπάρχει περιττό γνώρισμα στο α.μ της συναρτησιακής εξάρτησης) 3. δε μπορούμε να αφαιρέσουμε μια ΣΕ από το F και να πάρουμε ένα σύνολο ισοδύναμο του F(η ΣΕ είναι περιττή) Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 31 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 32 Αλγόριθμος υπολογισμού ελάχιστου καλύμματος 1. Αντικατέστησε τις συναρτησιακές εξαρτήσεις Χ 1 Υ 1 Υ 2 με Χ 1 Υ 1 και Χ 1 Υ 2. 2.Για κάθε ΣΕ (i) Βρες τα περιττά γνωρίσματα στο α.μ., αφαίρεσε τα (ii) Έλεγξε αν είναι περιττή, αν ναι αφαίρεσέ τη Περιττά γνωρίσματα: γνωρίσματα που αν αφαιρεθούν δεν επηρεάζουν το κλείσιμο (δηλαδή προκύπτει ισοδύναμο σύνολο) Για παράδειγμα: το γνώρισμα ΑΒ C το Α είναι περιττό στην εξάρτηση ανν F ισοδύναμο (F - {ΑΒ C}) {B C} F Προφανώς το F καλύπτει το F, άρα αρκεί να ελέγξουμε αν το F καλύπτει το F Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 33 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 34 Γενικεύοντας: Έστω ένα σύνολο F συναρτησιακών εξαρτήσεων και η ΣΕ Χ Υ F Το γνώρισμα Α Χείναιπεριττό στο Χ αν F καλύπτει (F - {Χ Υ}) {(Χ -A) Υ} Πως θα υπολογίσουμε αν ένα γνώρισμα στο α.μ. μιας ΣΕ είναι περιττό; Θα πρέπει να δείξουμε ότι οι ΣΕ του F ανήκουν στο F +, δηλαδή: Πως θα υπολογίσουμε αν μια ΣΕ Χ Β (με ένα γνώρισμα στο δ.μ.) είναι περιττή; Υπολογίζουμε το (Χ) + χρησιμοποιώντας το F {Χ Β} Περιττό αν το Β ανήκει στο (Χ) + Υπολόγισε το (Χ -{Α}) + με βάση τις ΣΕ του συνόλου F. Το Α είναι περιττό αν το Υ ανήκει στο (Χ -{Α}) + Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 35 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 36 Βάσεις Δεδομένων 2007-2008: 6

Αλγόριθμος υπολογισμού ελάχιστου καλύμματος 1. Αντικατέστησε τις συναρτησιακές εξαρτήσεις Χ 1 Υ 1 Υ 2 με Χ 1 Υ 1 και Χ 1 Υ 2. 2.Για κάθε ΣΕ (i) Βρες τα περιττά γνωρίσματα στο α.μ. Α περιττό στο Χ (Χ Υ): υπολόγισε το (Χ-{Α}) + (ii) Έλεγξε αν είναι περιττή, αν ναι αφαίρεσε τη Εξάρτηση Χ Β περιττή: υπολόγισε το Χ + Παράδειγμα Έστω R(A, B, C) και F = {A BC, B C, A B, AB C}. Βρείτε το F min. Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 37 Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 38 Ελάχιστο Κάλυμμa Ελάχιστο Κάλυμμa Παράδειγμα Έστω R(A, B, C) και F = {A BC, B C, A B, AB C}. Βρείτε το F min. Μετά το βήμα 1: {A B, A C, B C, Α C, AB C} Βήμα 2: Εξέταση αν το Α είναι περιττό στο AB C, υπολογίζοντας το (Β) + είναι περιττό Νέο σύνολο: {A B, A C, B C, B C} Βήμα 3: Εξέταση αν η ΣΕ A B είναι περιττή όχι Εξέταση αν η ΣΕ A C είναι περιττή ναι Νέο σύνολο: {A B, B C} Εξέταση αν η ΣΕ Β C είναι περιττή όχι Αποτέλεσμα: {A B, B C} Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 39 Παρατηρήσεις Το ελάχιστο κάλυμμα δεν είναι μοναδικό Το βήμα (i) πρέπει να προηγηθεί του βήματος (ii), δηλαδή πρέπει πρώτα να βρούμε τα περιττά γνωρίσματα στο α.μ. και μετά τις περιττές εξαρτήσεις Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 40 (σύνοψη) Ανακεφαλαίωση Συναρτησιακή εξάρτηση Κανόνες συμπερασμού συναρτησιακών εξαρτήσεων γνωρίσματος Ισοδυναμία συνόλου εξαρτήσεων Ελάχιστο κάλυμμα Βάσεις Δεδομένων 2007-2008 Ευαγγελία Πιτουρά 41 Βάσεις Δεδομένων 2007-2008: 7