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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Lecture 22: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

x < A y f(x) < B f(y).

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

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. Σχεσιακός Λογισμός

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

Lecture 23: Functional Dependencies and Normalization

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

Transcript:

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

Συναρτησιακές Εξαρτήσεις Παράδειγμα: Σχήμα Σχέσης 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. Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 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] thent 1 [Y] = t 2 [Y] Μεαπλάλόγια,μιασυναρτησιακήεξάρτηση X Yμαςλέειότι αν οποιεσδήποτε δυο πλειάδες μιας σχέσης της R συμφωνούν (έχουν την ίδια τιμή) στα γνωρίσματαχ Rτότεσυμφωνούν(έχουντηνίδιατιμή)καισταγνωρίσματαY R. Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 4 Βάσεις εδοµένων2012-2013: Συναρτησιακές Εξαρτήσεις 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 Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 5 Συναρτησιακές Εξαρτήσεις ToYεξαρτάταισυναρτησιακάαπότοX Γιατί καλούνται συναρτησιακές; Κ R κλειδίτηςrανν K? Υπενθύμιση: R είναι το σύνολο των γνωρισμάτων του σχήματος Μια γενίκευση της έννοιας του κλειδιού Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 6 Βάσεις εδοµένων2012-2013: Συναρτησιακές Εξαρτήσεις 3

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

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

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

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

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

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

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

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

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

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

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

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

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

Παράδειγµα Παράδειγμα περιττό γνώρισμα στο α.μ. R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} Είναι κάποιο γνώρισμα της AD Eπεριττό; --Α περιττό? F = {A ΒC, C ΑD, Β ΕD, D E} F ισοδύναμο με F, F καλύπτει F και F καλύπτει F προφανώς, F καλύπτει F (επαυξητικός κανόνας) F καλύπτει F αν D Ε F + --Dπεριττό αν A Ε F + Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 35 Γενικεύοντας: Ελάχιστο Κάλυµµα Έστω ένα σύνολο F συναρτησιακών εξαρτήσεων και η ΣΕ Χ Υ F Το γνώρισμα Α Χ είναι περιττό στο Χαν F καλύπτει (F -{Χ Υ}) {(Χ -A) Υ} Πωςθαυπολογίσουμεανέναγνώρισμα στοα.μ.μιαςσεείναιπεριττό;θα πρέπειναδείξουμεότιοισετουf ανήκουνστοf +,δηλαδή: Υπολόγισετο(Χ-{Α}) + μεβάσητιςσετουσυνόλουf,δηλαδή: ΤοΑείναιπεριττόαντοΥανήκειστο(Χ-{Α}) + Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 36 Βάσεις εδοµένων2012-2013: Συναρτησιακές Εξαρτήσεις 18

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

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

Παράδειγµα R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} Ποιο είναι το ελάχιστο κάλυμμα της F; Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 41 Ελάχιστο Κάλυµµa Παρατηρήσεις Το ελάχιστο κάλυμμα δεν είναι μοναδικό Το βήμα (i) πρέπει να προηγηθεί του βήματος (ii), δηλαδή πρέπει πρώτα να βρούμε τα περιττά γνωρίσματα στο α.μ. και μετά τις περιττές εξαρτήσεις Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 42 Βάσεις εδοµένων2012-2013: Συναρτησιακές Εξαρτήσεις 21

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