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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Lecture 22: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

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

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

Σχεσιακή Άλγεβρα. Προγράμματα που απαντούν σε επερωτήσεις για τον τρέχον στιγμιότυπο της βάσης δεδομένων (querying)

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

Συναρτησιακές Εξαρτήσεις Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Θεωρία για το πότε ένας σχεδιασμός είναι «καλός» Η θεωρία βασίζεται στις Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Τι είναι; Συμβολισμός Εξαρτήσεις ανάμεσα σε σύνολα από γνωρίσματα S1 S2 (όπου S1, S2 σύνολα γνωρισμάτων) Τι σημαίνει: Αν ίδιες τιμές στα γνωρίσματα του S1 ίδιες τιμές στα γνωρίσματα του S2 Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 2 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 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. Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 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] Με απλά λόγια, μια συναρτησιακή εξάρτηση X Y μαςλέειότι αν οποιεσδήποτε δυο πλειάδες μιας σχέσης της R συμφωνούν (έχουν την ίδια τιμή) σε κάποια γνωρίσματα Χ R τότε συμφωνούν (έχουν την ίδια τιμή) και σε κάποια γνωρίσματα Y R. Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 4 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 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 Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 5 Συναρτησιακές Εξαρτήσεις To Y εξαρτάται συναρτησιακά από το X Γιατί καλούνται συναρτησιακές Κ R υπερκλειδί της R ανν K? Υπενθύμιση: R είναι το σύνολο των γνωρισμάτων του σχήματος Μια γενίκευση της έννοιας του κλειδιού Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 6 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 3

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

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

Συναρτησιακές Εξαρτήσεις Τετριμμένες εξαρτήσεις (ισχύουν για όλα τα σχήματα) Παράδειγμα: Α Α ή ΑΒ Β Γενικά, Χ Υ τετριμμένη, όταν Y X Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 11 Συναρτησιακές Εξαρτήσεις Οι συναρτησιακές εξαρτήσεις ορίζονται στο σχήμα μιας σχέσης Ένα σύνολο από συναρτησιακές εξαρτήσεις F ισχύει σε ένα σχήμα Έλεγχος αν μια σχέση ικανοποιεί το σύνολο F Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 12 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 6

Κανόνες Συμπερασμού Συνάγουμε νέες εξαρτήσεις από ένα δεδομένο σύνολο εξαρτήσεων F = X Y : ησυναρτησιακήεξάρτησηx Y συνάγεται από το σύνολο εξαρτήσεων F Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 13 Κανόνες Συμπερασμού F + : κλειστότητα του F: σύνολο όλων των συναρτησιακών εξαρτήσεων που συνάγονται από το F Κανόνες Συμπερασμού- γιατησυναγωγήεξαρτήσεων Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 14 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 7

Κανόνες Συμπερασμού Κανόνες Συμπερασμού (Inference Rules) 1. Ανακλαστικός Κανόνας Αν Χ Υ, τότε X Y 2. Επαυξητικός Κανόνας {X Y} = ΧΖ YZ 3. Μεταβατικός Κανόνας {X Y, Υ Z } = Χ Z Κανόνες του Amstrong: βάσιμοι (sound) δε δίνουν λανθασμένες εξαρτήσεις και πλήρεις (complete) μας δίνουν όλο το F + Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 15 Κανόνες Συμπερασμού {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] Άτοπο! με βάση τον ορισμό Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 16 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 8

Κανόνες Συμπερασμού Επιπρόσθετοι κανόνες 4. Ενωτικός Κανόνας {X Y, Χ Z } = Χ YZ 5. ιασπαστικός Κανόνας {X YZ } = Χ Y 6. Ψευδομεταβατικός Κανόνας {X Y, ΥΖ W } = ΧZ W Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 17 Ενωτικός Κανόνας {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 Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 18 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 9

Κανόνες Συμπερασμού 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 Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 19 Κανόνες Συμπερασμού Έστω R = {A, B, C, G, H, I} και F = {A B, A C, CG H, CG I, B H} Παραδείγματα συναρτησιακών εξαρτήσεων που συνάγονται από το F Α Η CG ΗI ΑG I (α) Υπάρχει τρόπος/αλγόριθμος να τις υπολογίσουμε όλες; (β) Πως μπορούμε να υπολογίσουμε το κλειδί; Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 20 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 10

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

Κλειστότητα Είναι ο αλγόριθμος σωστός (α) Για κάθε Y Result, ισχύει Υ Χ + (β) Για κάθε Υ Χ +, ισχύει Υ Result Πολυπλοκότητα χειρότερης περίπτωσης Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 23 Κλειστότητα Μπορούμε να χρησιμοποιήσουμε τον αλγόριθμο (πως;) για να: 1. είξουμε αν μια συναρτησιακή εξάρτηση ισχύει 2. Υπολογίσουμε τα κλειδιά ενός σχήματος σχέσης 3. Υπολογίσουμε το F + Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 24 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 12

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

Παράδειγμα I R(A, B, C, D) F = {AB C, C D, D A} 3. Υπολογίσουμε το F + Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 27 Παράδειγμα II R(A, B, C, D, Ε) F = {A ΒC, C ΑD, Β ΕD, AD E} 1. Υπολογίστε το Α +, Β +,C +, D +, E + 2. Υποψήφια κλειδιά; Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 28 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 14

Κάλυμμα Απλοποίηση ενός δοσμένου συνόλου συναρτησιακών εξαρτήσεων χωρίς να μεταβάλλουμε την κλειστότητά του Έστω δυο σύνολα συναρτησιακών εξαρτήσεων E και F Λέμε ότι το F καλύπτει το E (ή τοεκαλύπτεταιαπότοf), αν κάθε ΣΕ στο Ε, ανήκει στο F + (δηλαδή, συνάγεται από το F) (αλλιώς, Ε F + ) υο σύνολα συναρτησιακών εξαρτήσεων E και F είναι ισοδύναμα ανν E + = F +. (δηλαδή, αν το Ε καλύπτει το F και το F καλύπτει το Ε) Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 29 Κάλυμμα Πως μπορούμε να υπολογίσουμε αν ένα σύνολο F καλύπτει ένα σύνολο E; Πως μπορούμε να υπολογίσουμε αν ένα σύνολο F είναι ισοδύναμο με ένα σύνολο E; Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 30 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 15

Παράδειγμα F1 = {A C, B C} F2 = {A B, A C} F3 = {A B, AB C} F1 καλύπτει το F3; F3 καλύπτει το F1; F1 ισοδύναμο του F3; F2 καλύπτει το F3; Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 31 Ελάχιστο Κάλυμμα Ελάχιστο κάλυμμα F min της F: ελάχιστο σύνολο από ΣΕ που είναι ισοδύναμο με την F Ένα σύνολο F συναρτησιακών εξαρτήσεων είναι ελάχιστο αν: 1. κάθε ΣΕ στο F έχει ένα μόνο γνώρισμα στο δεξιό της μέρος 2. δε μπορούμε να αντικαταστήσουμε μια ΣΕ Χ ΖαπότοF με μια ΣΕ Υ Z τέτοια ώστε Y X και να πάρουμε ένα σύνολο ισοδύναμο του F(δεν υπάρχει περιττό γνώρισμα στο α.μ της συναρτησιακής εξάρτησης) 3. δε μπορούμε να αφαιρέσουμε μια ΣΕ από το F και να πάρουμε ένα σύνολο ισοδύναμο του F(ηΣΕείναιπεριττή) Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 32 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 16

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

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

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

Ελάχιστο Κάλυμμ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} Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 39 Ελάχιστο Κάλυμμa Παρατηρήσεις Το ελάχιστο κάλυμμα δεν είναι μοναδικό Το βήμα (i) πρέπει να προηγηθεί του βήματος (ii), δηλαδή πρέπει πρώτα να βρούμε τα περιττά γνωρίσματα στο α.μ. και μετά τις περιττές εξαρτήσεις Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 40 Βάσεις Δεδομένων 2009-2010: Συναρτησιακές Εξαρτήσεις 20

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