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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Lecture 22: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

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

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

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

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

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

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

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

2 n N: 0, 1,..., n A n + 1 A

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

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

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

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

Εισαγωγή στην πληροφορική

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


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

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο


Σειρά Προβλημάτων 1 Λύσεις

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

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

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

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

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

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

i) Για να δείξουμε την επιθυμητή ισότητα, δείχνουμε πως A B {A x : x B} και πως {A x : x B} A B. Για τον πρώτο εγκλεισμό, έστω a A B, δηλάδη a A και a

Επεξεργασία Ερωτήσεων

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

Κεφάλαιο 8. ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization) Ι.Β Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση Σελίδα 4.1

Η SQL ως γλώσσα τροποποίησης Δεδομένων

Transcript:

Συναρτησιακές Εξαρτήσεις Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Θεωρία για το πότε ένας σχεδιασμός είναι «καλός» Η θεωρία βασίζεται στις Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Τι είναι; Συμβολισμός Εξαρτήσεις ανάμεσα σε σύνολα από γνωρίσματα S1 S2 (όπου S1, S2 σύνολα γνωρισμάτων) Τι σημαίνει: Αν ίδιες τιμές στα γνωρίσματα του S1 ίδιες τιμές στα γνωρίσματα του S2 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 1

Συναρτησιακές Εξαρτήσεις Παράδειγμα: Σχήμα Σχέσης R(A, B, C, D) (Υπενθύμιση συμβολισμού) Στιγμιότυπο, r(r) Α Β C D r1 a 1 b 1 c 1 d 1 Συμβολισμός r1[a] = a 1 r2 r3 r4 a 1 b 2 c 1 d 2 a 2 b 3 c 2 d 3 a 3 b 3 c 2 d 4 r2[bc] = b 2 c 1 Έστω ένα σχήμα σχέσης R(Α 1, Α 2,, Α n ). Θα συμβολίζουμε με R = {Α 1, Α 2,, Α n } το σύνολο των γνωρισμάτων της R. Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 3 Έστω X R και Y R, ΟΡΙΣΜΟΣ Συναρτησιακές Εξαρτήσεις μια συναρτησιακή εξάρτηση Χ Υ ισχύει στο σχήμα R αν για κάθε σχέση r(r), για κάθε ζεύγος πλειάδων t 1 και t 2 της r, τέτοιες ώστε t 1 [X] = t 2 [X] t 1 [Y] = t 2 [Y] If t 1 [X] = t 2 [X] then t 1 [Y] = t 2 [Y] Με απλά λόγια, μια συναρτησιακή εξάρτηση X Y μαςλέειότι αν οποιεσδήποτε δυο πλειάδες μιας σχέσης της R συμφωνούν (έχουν την ίδια τιμή) σε κάποια γνωρίσματα Χ R τότε συμφωνούν (έχουν την ίδια τιμή) και σε κάποια γνωρίσματα Y R. Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 4 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 2

Αντί {Α 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 a 3 b 3 c 2 d 4 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 5 Συναρτησιακές Εξαρτήσεις To Y εξαρτάται συναρτησιακά από το X Γιατί καλούνται συναρτησιακές Κ R κλειδί της R ανν K? Υπενθύμιση: R είναι το σύνολο των γνωρισμάτων του σχήματος Μια γενίκευση της έννοιας του κλειδιού Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 6 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 3

Συναρτησιακές Εξαρτήσεις Παρατήρηση Α 1 Α 2 Α n Β 1 και Α 1 Α 2 Α n Β 2 Α 1 Α 2 Α n Β 1 Β 2 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 7 Παράδειγμα φυσικής σημασίας εξαρτήσεων Όπως και τα κλειδιά, οι συναρτησιακές εξαρτήσεις προκύπτουν από τη φυσική περιγραφή του προβλήματος από τον πραγματικό κόσμο Έστω το παρακάτω σχεσιακό σχήμα: Εγγραφή(Μάθημα, Φοιτητής, Ώρα&Μέρα, Αίθουσα, Βαθμός) (συντομογραφία) Ε(Μ, Φ, Ω, Α, Β) 1. Τα μαθήματα προσφέρονται μόνο μια φορά [σε μια συγκεκριμένη ώρα&μέρα και αίθουσα]. 2. Οι φοιτητές δεν μπορούν να είναι σε δυο διαφορετικά μέρη ταυτόχρονα 3. ε γίνεται να έχουμε δυο μαθήματα ταυτόχρονα (την ίδια ώρα) στην ίδια αίθουσα 4. Ένας φοιτητής παίρνει μόνο ένα βαθμό σε κάθε μάθημα Ποιες συναρτησιακές εξαρτήσεις εκφράζουν αυτές τις συνθήκες. Ποιο (ποια) είναι το κλειδί αν ισχύουν τα (1) έως (4) 5. Τι σημαίνει Φ Μ, ΜΒ Φ Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 8 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 4

Συναρτησιακές Εξαρτήσεις Παράδειγμα: Θεωρούμε ότι ένας λογαριασμός μπορεί να ανήκει σε παραπάνω από έναν πελάτη και ένας πελάτης μπορεί να έχει πολλούς λογαριασμούς. Ποιες άλλες (εκτός του κλειδιού) συναρτησιακές εξαρτήσεις μπορεί να ισχύουν αλλά δε φαίνονται στο παρακάτω σχήμα; Λογαριασμός Όνομα-Υποκαταστήματος Αριθμός-Λογαριασμού Πελάτης Ποσό Όνομα-Πελάτη Παράδειγμα: Ένας Πελάτης πολλά δάνεια και ένα άνειο από παραπάνω από έναν πελάτη Όνομα-Πελάτη Οδός Πόλη Αριθμός-Δανείου Διεύθυνση πελάτη Σημείωση: Στα παραπάνω σχεσιακά μοντέλα, με τα κλειδιά εκφράζεται μόνο ένα υποσύνολο των περιορισμών ιαισθητικά, οι δύο παραπάνω σχεδιασμοί δεν είναι «καλοί», γιατί; Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 9 Συναρτησιακές Εξαρτήσεις Τετριμμένες εξαρτήσεις (ισχύουν για όλα τα σχήματα) Παράδειγμα: Α Α ή ΑΒ Β Γενικά, Χ Υ τετριμμένη, όταν Y X Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 10 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 5

Συναρτησιακές Εξαρτήσεις Οι συναρτησιακές εξαρτήσεις ορίζονται στο σχήμα μιας σχέσης Ένα σύνολο από συναρτησιακές εξαρτήσεις F ισχύει σε ένα σχήμα Έλεγχος αν μια σχέση ικανοποιεί το σύνολο F Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 11 Κανόνες Συμπερασμού Συνάγουμε νέες εξαρτήσεις από ένα δεδομένο σύνολο εξαρτήσεων F = X Y : ησυναρτησιακήεξάρτησηx Y συνάγεται από το σύνολο εξαρτήσεων F Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 12 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 6

Κανόνες Συμπερασμού F + : κλειστότητα του F: σύνολο όλων των συναρτησιακών εξαρτήσεων που συνάγονται από το F Κανόνες Συμπερασμού- γιατησυναγωγήεξαρτήσεων Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 13 Κανόνες Συμπερασμού Κανόνες Συμπερασμού (Inference Rules) 1. Ανακλαστικός Κανόνας Αν Χ Υ, τότε X Y 2. Επαυξητικός Κανόνας {X Y} = ΧΖ YZ 3. Μεταβατικός Κανόνας {X Y, Υ Z } = Χ Z Κανόνες του Amstrong: βάσιμοι (sound) δε δίνουν λανθασμένες εξαρτήσεις και πλήρεις (complete) μας δίνουν όλο το F + Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 14 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 7

Κανόνες Συμπερασμού {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) Απόδειξη των 3 κανόνων Από (5) και (6), t1[υz] = t2[υz] Άτοπο! με βάση τον ορισμό Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 15 Επιπρόσθετοι κανόνες 4. Ενωτικός Κανόνας {X Y, Χ Z } = Χ YZ 5. ιασπαστικός Κανόνας {X YZ } = Χ Y 6. Ψευδομεταβατικός Κανόνας {X Y, ΥΖ W } = ΧZ W Κανόνες Συμπερασμού Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 16 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 8

Κανόνες Συμπερασμού Ενωτικός Κανόνας {X Y (1), Χ Z (2)} = Χ YZ Απόδειξη (με χρήση των κανόνων του Amstrong) (2) + Επαυξ. ΧY YZ (3) (1) + Επαυξ. X XY (4) (3) (4) Μεταβ. Χ YZ Απόδειξη των επιπλέον κανόνων με βάση τον ορισμό ή/και των κανόνων του Amstrong Ανακλαστικός Κανόνας Αν Χ Υ, τότε X Y Επαυξητικός Κανόνας {X Y} = ΧΖ YZ Μεταβατικός Κανόνας {X Y, Υ Z } = Χ Z Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 17 Κανόνες Συμπερασμού 1. Ανακλαστικός Κανόνας Αν Χ Υ, τότε X Y 2. Επαυξητικός Κανόνας {X Y} συνάγει ΧΖ YZ 3. Μεταβατικός Κανόνας {X Y, Υ Z} συνάγει Χ Z 4. Ενωτικός Κανόνας {X Y, Χ Z} συνάγει Χ YZ 5. ιασπαστικός Κανόνας {X YZ } συνάγει Χ Y 6. Ψευδομεταβατικός Κανόνας {X Y, ΥΖ W} συνάγει ΧZ W Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 18 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 9

Κανόνες Συμπερασμού Έστω R = {A, B, C, G, H, I} και F = {A B, A C, CG H, CG I, B H} Παραδείγματα συναρτησιακών εξαρτήσεων που συνάγονται από το F Α Η CG ΗI ΑG I (α) Υπάρχει τρόπος/αλγόριθμος να τις υπολογίσουμε όλες; (β) Πως μπορούμε να υπολογίσουμε το κλειδί; Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 19 Κλειστότητα Χ + : κλειστότητα (εγκλεισμός) (closure) ενός συνόλου X από γνωρίσματα aπό το F σύνολο όλων των γνωρισμάτων που εξαρτώνται συναρτησιακά από το X μέσω του F Υπολογισμός του Χ + Result := Χ while (αλλαγή στο Result) Για κάθε συναρτησιακή εξάρτηση: Υ Ζ F Αν Υ Result, Result := Result Z Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 20 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 10

Κλειστότητα Παράδειγμα Έστω R = {A, B, C, G, H, I} και F = {A B, A C, CG H, CG I, B H} Υπολογισμός του {Α} +, {Β} +, {A, G} + Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 21 Κλειστότητα Είναι ο αλγόριθμος σωστός (α) Για κάθε Y Result, ισχύει Υ Χ + (β) Για κάθε Υ Χ +, ισχύει Υ Result Πολυπλοκότητα χειρότερης περίπτωσης Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 22 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 11

Κλειστότητα Μπορούμε να χρησιμοποιήσουμε τον αλγόριθμο (πως;) για να: 1. είξουμε αν μια συναρτησιακή εξάρτηση ισχύει 2. Υπολογίσουμε τα κλειδιά ενός σχήματος σχέσης 3. Υπολογίσουμε το F + Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 23 Παράδειγμα I R(A, B, C, D) F = {AB C, C D, D A} 1. είξουμε αν μια συναρτησιακή εξάρτηση ισχύει C A? A D? AB D? Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 24 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 12

Παράδειγμα I R(A, B, C, D) F = {AB C, C D, D A} 2. Υπολογίσουμε τα κλειδιά ενός σχήματος σχέσης Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 25 Παράδειγμα I R(A, B, C, D) F = {AB C, C D, D A} 3. Υπολογίσουμε το F + Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 26 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 13

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

Κάλυμμα Πως μπορούμε να υπολογίσουμε αν ένα σύνολο F καλύπτει ένα σύνολο E; Πως μπορούμε να υπολογίσουμε αν ένα σύνολο F είναι ισοδύναμο με ένα σύνολο E; Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 29 Παράδειγμα F1 = {A C, B C} F2 = {A B, A C} F3 = {A B, AB C} F1 καλύπτει το F3; F3 καλύπτει το F1; F1 ισοδύναμο του F3; F2 καλύπτει το F3; Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 30 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 15

Παράδειγμα R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} 1. Ισχύει DC E? 2. Υπολογίστε τα Α+, Β+, C+, D+, E+ 3. Υποψήφια κλειδιά; 4. ώστε ένα στιγμιότυπο που να παραβιάζει μόνο την A ΒC Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 31 Ελάχιστο Κάλυμμα Ελάχιστο κάλυμμα F min της F: ελάχιστο σύνολο από ΣΕ που είναι ισοδύναμο με την F Ένα σύνολο F συναρτησιακών εξαρτήσεων είναι ελάχιστο αν: 1. κάθε ΣΕ στο F έχει ένα μόνο γνώρισμα στο δεξιό της μέρος 2. δε μπορούμε να αντικαταστήσουμε μια ΣΕ Χ ΖαπότοF με μια ΣΕ Υ Z τέτοια ώστε Y X και να πάρουμε ένα σύνολο ισοδύναμο του F(δεν υπάρχει περιττό γνώρισμα στο α.μ της συναρτησιακής εξάρτησης) 3. δε μπορούμε να αφαιρέσουμε μια ΣΕ από το F και να πάρουμε ένα σύνολο ισοδύναμο του F(ηΣΕείναιπεριττή) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 32 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 16

Ελάχιστο Κάλυμμα Αλγόριθμος υπολογισμού ελάχιστου καλύμματος 1. Αντικατέστησε τις συναρτησιακές εξαρτήσεις Χ 1 Υ 1 Υ 2 με Χ 1 Υ 1 και Χ 1 Υ 2. 2.Για κάθε ΣΕ (i) Βρες τα περιττά γνωρίσματα στο α.μ., αφαίρεσε τα (ii) Έλεγξε αν είναι περιττή, αν ναι αφαίρεσέ τη Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 33 Παράδειγμα R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} Ποιο είναι το ελάχιστο κάλυμμα της F?? Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 34 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 17

Ελάχιστο Κάλυμμα Περιττά γνωρίσματα: γνωρίσματα που αν αφαιρεθούν δεν επηρεάζουν το κλείσιμο (δηλαδή προκύπτει ισοδύναμο σύνολο) Για παράδειγμα: το γνώρισμα ΑΒ C το Α είναι περιττό στην εξάρτηση ανν F ισοδύναμο (F - {ΑΒ C}) {B C} Προφανώς το F καλύπτει το F, άρα αρκεί να ελέγξουμε αν το F καλύπτει το F F Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 35 Γενικεύοντας: Ελάχιστο Κάλυμμα Έστω ένα σύνολο F συναρτησιακών εξαρτήσεων και η ΣΕ Χ Υ F Το γνώρισμα Α Χείναιπεριττό στο Χ αν F καλύπτει (F - {Χ Υ}) {(Χ - A) Υ} Πως θα υπολογίσουμε αν ένα γνώρισμα στο α.μ. μιας ΣΕ είναι περιττό; Θα πρέπει να δείξουμε ότι οι ΣΕ του F ανήκουν στο F +, δηλαδή: Υπολόγισε το (Χ - {Α}) + με βάση τις ΣΕ του συνόλου F, δηλαδή: Το Α είναι περιττό αν το Υ ανήκει στο (Χ -{Α}) + Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 36 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 18

Ελάχιστο Κάλυμμα Πως θα υπολογίσουμε αν μια ΣΕ Χ Β (μεέναγνώρισμαστοδ.μ.) είναι περιττή; Υπολογίζουμε το (Χ) + χρησιμοποιώντας το F {Χ Β} Περιττό αν το Β ανήκει στο (Χ) + Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 37 Ελάχιστο Κάλυμμα Αλγόριθμος υπολογισμού ελάχιστου καλύμματος 1. Αντικατέστησε τις συναρτησιακές εξαρτήσεις Χ 1 Υ 1 Υ 2 με Χ 1 Υ 1 και Χ 1 Υ 2. 2.Για κάθε ΣΕ (i) Βρες τα περιττά γνωρίσματα στο α.μ. Α περιττό στο Χ (Χ Υ): υπολόγισε το (Χ-{Α}) + (ii) Έλεγξε αν είναι περιττή, αν ναι αφαίρεσε τη Εξάρτηση Χ Βπεριττή: υπολόγισε το Χ + Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 38 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 19

Ελάχιστο Κάλυμμα Παράδειγμα Έστω R(A, B, C) και F = {A BC, B C, A B, AB C}. Βρείτε το F min. Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 39 Ελάχιστο Κάλυμμ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} Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 40 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 20

Ελάχιστο Κάλυμμa Παρατηρήσεις Το ελάχιστο κάλυμμα δεν είναι μοναδικό Το βήμα (i) πρέπει να προηγηθεί του βήματος (ii), δηλαδή πρέπει πρώτα να βρούμε τα περιττά γνωρίσματα στο α.μ. και μετά τις περιττές εξαρτήσεις Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 41 Συναρτησιακές Εξαρτήσεις (σύνοψη) Ανακεφαλαίωση Συναρτησιακή εξάρτηση Κανόνες συμπερασμού συναρτησιακών εξαρτήσεων Κλειστότητα γνωρίσματος Ισοδυναμία συνόλου εξαρτήσεων Ελάχιστο κάλυμμα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 42 Βάσεις Δεδομένων 2010-2011: Συναρτησιακές Εξαρτήσεις 21