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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Lecture 22: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος

ιδασκοντες: x R y x y Q x y Q = x z Q = x z y z Q := x + Q Τετάρτη 10 Οκτωβρίου 2012

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

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

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

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

1 Ορισµός ακολουθίας πραγµατικών αριθµών

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

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

HY118- ιακριτά Μαθηµατικά

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

Μερικές διατάξεις. HY118- ιακριτά Μαθηµατικά. Μερικές διατάξεις, παράδειγµα. ιαγράµµατα Hasse: Αναπαράσταση σχέσεων µερικής διάταξης

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

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

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

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

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

1. στο σύνολο Σ έχει ορισθεί η πράξη της πρόσθεσης ως προς την οποία το Σ είναι αβελιανή οµάδα, δηλαδή

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

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

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

HY118- ιακριτά Μαθηµατικά. Μαθηµατική επαγωγή. 11 Επαγωγή

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

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

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

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

Αλγόριθµοι και Πολυπλοκότητα

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

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

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

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

(GNU-Linux, FreeBSD, MacOsX, QNX

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 8

11. Η έννοια του διανύσµατος 22. Πρόσθεση & αφαίρεση διανυσµάτων 33. Βαθµωτός πολλαπλασιασµός 44. Συντεταγµένες 55. Εσωτερικό γινόµενο

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές:

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

HY118- ιακριτά Μαθηµατικά

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 3

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

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

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

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Φυλλαδιο 4. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :


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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

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

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

Εισαγωγή στην Τοπολογία

Transcript:

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

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

Συναρτησιακές Εξαρτήσεις Παράδειγµα: Σχήµα Σχέσης R(A, B, C, D) (Υπενθύµιση συµβολισµού) Στιγµιότυπο, r(r) r1 Α Β C D 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. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 3

Συναρτησιακές Εξαρτήσεις Έστω X R και Y R, µια συναρτησιακή εξάρτηση (functional dependency) Χ Υ ισχύει στο σχήµα 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. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 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 a 3 b 3 c 2 d 4 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 5

Συναρτησιακές Εξαρτήσεις To Y εξαρτάται συναρτησιακά από το X Γιατί καλούνται συναρτησιακές Κ R κλειδί της R ανν K? Υπενθύµιση: R είναι το σύνολο των γνωρισµάτων του σχήµατος Μια γενίκευση της έννοιας του κλειδιού Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 6

Συναρτησιακές Εξαρτήσεις Παρατήρηση Α 1 Α 2 Α n Β 1 και Α 1 Α 2 Α n Β 2 Α 1 Α 2 Α n Β 1 Β 2 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 7

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

Συναρτησιακές Εξαρτήσεις Παράδειγµα: Στο παρακάτω σχήµα Λογαριασµός θεωρούµε ότι ένας λογαριασµός µπορεί να ανήκει σε παραπάνω από έναν πελάτη και ένας πελάτης µπορεί να έχει πολλούς λογαριασµούς. Ποιες άλλες (εκτός του κλειδιού) συναρτησιακές εξαρτήσεις µπορεί να ισχύουν αλλά δε φαίνονται στο παρακάτω σχήµα; Λογαριασµός Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Ποσό Όνοµα-Πελάτη Παράδειγµα: Όµοια στο παρακάτω σχήµα, ένας Πελάτης πολλά δάνεια και ένα Δάνειο από παραπάνω από έναν πελάτη και ένας πελάτης δίνει µόνο µια διεύθυνση Πελάτης Όνοµα-Πελάτη Οδός Πόλη Αριθµός- ανείου ιεύθυνση πελάτη Σηµείωση: Στα παραπάνω σχεσιακά µοντέλα, µε τα κλειδιά εκφράζεται µόνο ένα υποσύνολο των περιορισµών Διαισθητικά, οι δύο παραπάνω σχεδιασµοί δεν είναι «καλοί», γιατί; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 9

Συναρτησιακές Εξαρτήσεις Τετριµµένες εξαρτήσεις (ισχύουν για όλα τα σχήµατα) Παράδειγµα: Α Α ή ΑΒ Β Γενικά, Χ Υ τετριµµένη, όταν Y X Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 10

Συναρτησιακές Εξαρτήσεις Οι συναρτησιακές εξαρτήσεις ορίζονται στο σχήµα µιας σχέσης Ένα σύνολο από συναρτησιακές εξαρτήσεις F ισχύει σε ένα σχήµα Έλεγχος αν µια σχέση ικανοποιεί το σύνολο F Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 11

Κανόνες Συµπερασµού Συνάγουµε νέες εξαρτήσεις από ένα δεδοµένο σύνολο εξαρτήσεων = F X Y : η συναρτησιακή εξάρτηση X Y συνάγεται από το σύνολο εξαρτήσεων F Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 12

Κανόνες Συµπερασµού F + : κλειστότητα του F: σύνολο όλων των συναρτησιακών εξαρτήσεων που συνάγονται από το F Κανόνες Συµπερασµού- για τη συναγωγή εξαρτήσεων Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 13

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

Κανόνες Συµπερασµού {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] Άτοπο! Απόδειξη των 3 κανόνων µε βάση τον ορισµό Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 15

Κανόνες Συµπερασµού Επιπρόσθετοι κανόνες 4. Ενωτικός Κανόνας {X Y, Χ Z } = Χ YZ 5. Διασπαστικός Κανόνας {X YZ } = Χ Y 6. Ψευδοµεταβατικός Κανόνας {X Y, ΥΖ W } = ΧZ W Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 16

Κανόνες Συµπερασµού Ενωτικός Κανόνας {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 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 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 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 18

Κανόνες Συµπερασµού Έστω R = {A, B, C, G, H, I} και F = {A B, A C, CG H, CG I, B H} Παραδείγµατα συναρτησιακών εξαρτήσεων που συνάγονται από το F Α Η CG ΗI ΑG I (α) Υπάρχει τρόπος/αλγόριθµος να τις υπολογίσουµε όλες; (β) Πως µπορούµε να υπολογίσουµε το κλειδί; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 19

Κλειστότητα Χ + : κλειστότητα (εγκλεισµός) (closure) ενός συνόλου X από γνωρίσµατα aπό το F σύνολο όλων των γνωρισµάτων που εξαρτώνται συναρτησιακά από το X µέσω του F Υπολογισµός του Χ + Result := Χ while (αλλαγή στο Result) Για κάθε συναρτησιακή εξάρτηση: Υ Ζ F Αν Υ Result, Result := Result Z Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 20

Κλειστότητα Παράδειγµα Έστω R = {A, B, C, G, H, I} και F = {A B, A C, CG H, CG I, B H} Υπολογισµός του {Α} +, {Β} +, {A, G} + Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 21

Κλειστότητα Είναι ο αλγόριθµος σωστός (α) Για κάθε Y Result, ισχύει Υ Χ + (β) Για κάθε Υ Χ +, ισχύει Υ Result Πολυπλοκότητα χειρότερης περίπτωσης Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 22

Κλειστότητα Μπορούµε να χρησιµοποιήσουµε τον αλγόριθµο (πως;) για να: 1. Δείξουµε αν µια συναρτησιακή εξάρτηση ισχύει 2. Υπολογίσουµε τα κλειδιά ενός σχήµατος σχέσης 3. Υπολογίσουµε το F + Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 23

Παράδειγµα I R(A, B, C, D) F = {AB C, C D, D A} 1. Δείξουµε αν µια συναρτησιακή εξάρτηση ισχύει C A? A D? AB D? Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 24

Παράδειγµα I R(A, B, C, D) F = {AB C, C D, D A} 2. Υπολογίσουµε τα κλειδιά ενός σχήµατος σχέσης Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 25

Παράδειγµα I R(A, B, C, D) F = {AB C, C D, D A} 3. Υπολογίσουµε το F + Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 26

Παράδειγµα II R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} 1. Υπολογίστε το Α +, Β +, C +, D +, E + 2. Υποψήφια κλειδιά; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 27

Κάλυµµα Απλοποίηση ενός δοσµένου συνόλου συναρτησιακών εξαρτήσεων χωρίς να µεταβάλλουµε την κλειστότητά του Έστω δυο σύνολα συναρτησιακών εξαρτήσεων E και F Λέµε ότι το F καλύπτει το E (ή το Ε καλύπτεται από το F), αν κάθε ΣΕ στο Ε, ανήκει στο F + (δηλαδή, συνάγεται από το F) (αλλιώς, Ε F + ) Δυο σύνολα συναρτησιακών εξαρτήσεων E και F είναι ισοδύναµα ανν E + = F +. (δηλαδή, αν το Ε καλύπτει το F και το F καλύπτει το Ε) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 28

Κάλυµµα Πως µπορούµε να υπολογίσουµε αν ένα σύνολο F καλύπτει ένα σύνολο E; Πως µπορούµε να υπολογίσουµε αν ένα σύνολο F είναι ισοδύναµο µε ένα σύνολο E; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 29

Παράδειγµα F1 = {A C, B C} F2 = {A B, A C} F3 = {A B, AB C} F1 καλύπτει το F3; F3 καλύπτει το F1; F1 ισοδύναµο του F3; F2 καλύπτει το F3; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 30

Παράδειγµα R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} 1. Ισχύει DC E? 2. Υπολογίστε τα Α+, Β+, C+, D+, E+ 3. Υποψήφια κλειδιά; 4. Δώστε ένα στιγµιότυπο που να παραβιάζει µόνο την A ΒC Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 31

Ελάχιστο Κάλυµµα Ελάχιστο κάλυµµα F min της F: ελάχιστο σύνολο από ΣΕ που είναι ισοδύναµο µε την F Ένα σύνολο F συναρτησιακών εξαρτήσεων είναι ελάχιστο αν: 1. κάθε ΣΕ στο F έχει ένα µόνο γνώρισµα στο δεξιό της µέρος 2. δε µπορούµε να αντικαταστήσουµε µια ΣΕ Χ Ζ από το F µε µια ΣΕ Υ Z τέτοια ώστε Y X και να πάρουµε ένα σύνολο ισοδύναµο του F (δεν υπάρχει περιττό γνώρισµα στο α.µ της συναρτησιακής εξάρτησης) 3. δε µπορούµε να αφαιρέσουµε µια ΣΕ από το F και να πάρουµε ένα σύνολο ισοδύναµο του F (η ΣΕ είναι περιττή) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 32

Ελάχιστο Κάλυµµα Αλγόριθµος υπολογισµού ελάχιστου καλύµµατος 1. Αντικατέστησε τις συναρτησιακές εξαρτήσεις Χ 1 Υ 1 Υ 2 µε Χ 1 Υ 1 και Χ 1 Υ 2. 2.Για κάθε ΣΕ (i) Βρες τα περιττά γνωρίσµατα στο α.µ., αφαίρεσε τα (ii) Έλεγξε αν είναι περιττή, αν ναι αφαίρεσέ τη Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 33

Παράδειγµα R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} Ποιο είναι το ελάχιστο κάλυµµα της F; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 34

Ελάχιστο Κάλυµµα Περιττά γνωρίσµατα: γνωρίσµατα που αν αφαιρεθούν δεν επηρεάζουν το κλείσιµο (δηλαδή προκύπτει ισοδύναµο σύνολο) Για παράδειγµα: το γνώρισµα ΑΒ C το Α είναι περιττό στην εξάρτηση ανν F ισοδύναµο (F - {ΑΒ C}) {B C} Δηλαδή, αν αφαιρέσουµε το Α από την ΣΕ, το σύνολο F που προκύπτει είναι ισοδύναµο µε το αρχικό σύνολο F Προφανώς το F καλύπτει το F, άρα αρκεί να ελέγξουµε αν το F καλύπτει το F F Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 35

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

Παράδειγµα R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} Είναι κάποιο γνώρισµα της AD E περιττό; Α περιττό αν D Ε F + D περιττό αν A Ε F + Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 37

Ελάχιστο Κάλυµµα Πως θα υπολογίσουµε αν µια ΣΕ Χ Β (µε ένα γνώρισµα στο δ.µ.) είναι περιττή; Υπολογίζουµε το (Χ) + χρησιµοποιώντας το F {Χ Β} Περιττό αν το Β ανήκει στο (Χ) + Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 38

Ελάχιστο Κάλυµµα Αλγόριθµος υπολογισµού ελάχιστου καλύµµατος 1. Αντικατέστησε τις συναρτησιακές εξαρτήσεις Χ 1 Υ 1 Υ 2 µε Χ 1 Υ 1 και Χ 1 Υ 2. 2.Για κάθε ΣΕ (i) Βρες τα περιττά γνωρίσµατα στο α.µ. Α περιττό στο Χ (Χ Υ): υπολόγισε το (Χ-{Α}) + (ii) Έλεγξε αν είναι περιττή, αν ναι αφαίρεσε τη Εξάρτηση Χ Β περιττή: υπολόγισε το Χ + Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 39

Ελάχιστο Κάλυµµα Παράδειγµα Έστω R(A, B, C) και F = {A BC, B C, A B, AB C}. Βρείτε το F min. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 40

Ελάχιστο Κάλυµµa Παράδειγµα Έστω R(A, B, C) και F = {A BC, B C, A B, AB C}. Βρείτε το F min. Μετά το βήµα 1: {A B, A C, B C, Α B, 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} Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 41

Ελάχιστο Κάλυµµa Παρατηρήσεις Το ελάχιστο κάλυµµα δεν είναι µοναδικό Το βήµα (i) πρέπει να προηγηθεί του βήµατος (ii), δηλαδή πρέπει πρώτα να βρούµε τα περιττά γνωρίσµατα στο α.µ. και µετά τις περιττές εξαρτήσεις Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 42

Συναρτησιακές Εξαρτήσεις (σύνοψη) Ανακεφαλαίωση Συναρτησιακή εξάρτηση Κανόνες συµπερασµού συναρτησιακών εξαρτήσεων Κλειστότητα γνωρίσµατος Ισοδυναµία συνόλου εξαρτήσεων Ελάχιστο κάλυµµα Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 43