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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

5.2 ΑΠΛΟΠΟΙΗΣΗ ΜΕ ΤΗΝ ΜΕΘΟΔΟ ΚΑΤΑΤΑΞΗΣ ΣΕ ΠΙΝΑΚΑ

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

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

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

Lecture 22: Functional Dependencies and Normalization

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

!! " &' ': " /.., c #$% & - & ' ()",..., * +,.. * ' + * - - * ()",...(.

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

Principles of Database Systems

Ο Αλγόριθμος FP-Growth

Ανάλυση Συσχέτισης IΙ

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

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

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

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

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

ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Εκπαιδευτικό Εργαλείο Κανονικοποίησης

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

2. Η πιθανότητα της αριθμήσιμης ένωσης ξένων μεταξύ τους ενδεχομένων είναι το άθροισμα των πιθανοτήτων των ενδεχομένων.

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

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

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

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

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

ΜΑΘΗΜΑΤΙΚΑ Θετικής & Τεχνολογικής Κατεύθυνσης Β ΜΕΡΟΣ (ΑΝΑΛΥΣΗ) ΚΕΦ 1 ο : Όριο Συνέχεια Συνάρτησης

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

Ψηφιακά Συστήματα. 5. Απλοποίηση με χάρτες Karnaugh

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Ψηφιακή Σχεδίαση Εργαστήριο Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜ. ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

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

Lecture 23: Functional Dependencies and Normalization

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

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

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

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

R ισούται με το μήκος του. ( πρβλ. την ιστορική σημείωση 3.27 στο τέλος

Κανονικοποίηση(Normalization) ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο2013. Κανονικές Μορφές. Πρώτη Κανονική Μορφή (1NF) Βάσεις Δεδομένων. Περικλής Α.

2. Η πιθανότητα της αριθμήσιμης ένωσης ξένων μεταξύ τους ενδεχομένων είναι το άθροισμα των πιθανοτήτων των ενδεχομένων.

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 1 η Ημερομηνία Αποστολής στον Φοιτητή: 17 Οκτωβρίου 2011

TID Items. Τ = {t 1, t 2,.., t N } ένα σύνολο από δοσοληψίες, όπου κάθε t i είναι ένα στοιχειοσύνολο


Εύρεση ν-στού πρώτου αριθμού

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

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

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

ΠΛΗ 12- Σχέση ισοδυναμίας, γραμμικά συστήματα και απαλοιφή Gauss

f(x) = και στην συνέχεια

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

Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ

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

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

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

1. Σε ένα τουρνουά με 8 παίκτες μπορεί οι παίκτες να συμμετείχαν σε: 6,5,4,4,4,3,1,1 αγώνες αντίστοιχα;

ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ

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

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

Ατομική Διπλωματική Εργασία ΜΕΘΟΔΟΙ ΠΡΟΤΑΣΙΑΚΗΣ ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑΣ ΣΕ ΓΕΝΙΚΕΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ ΕΠΙΧΕΙΡΗΜΑΤΟΛΟΓΙΑΣ. Νίκη Κουππή ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Transcript:

ΗΥ360 Αρχεία και Βάσεις Δεδομένων Φροντιστήριο Συναρτησιακές Εξαρτήσεις Αξιώματα Armstrong Ελάχιστη Κάλυψη

Συναρτησιακές Εξαρτήσεις Τι είναι : Οι Συναρτησιακές εξαρτήσεις είναι περιορισμοί ακεραιότητας πάνω σε σύνολα γνωρίσματων των σχέσεων ενός σχήματος. Συμβολισμός : S1 S2 : το S1 συναρτησιακά καθορίζει το S2 (όπου S1, S2 σύνολα γνωρισμάτων) Τι σημαίνει : Σε οποιαδήποτε σχέση R, αν S1 R και S2 R, η συναρτησιακή εξάρτηση S1 S2 καθορίζει ότι για οποιεσδήποτε δύο πλειάδες t1 και t2 της R : Αν t1[s1] = t2[s1], τότε t1[s2] = t2[s2]. Αν συμφωνούν (έχουν την ίδια τιμή) σε κάποια γνωρίσματα S1 R τότε συμφωνούν (έχουν την ίδια τιμή) και σε κάποια γνωρίσματα S2 R.

Συναρτησιακές Εξαρτήσεις Παράδειγμα 1 : Έστω μια αλυσίδα καταστημάτων. Κάθε τμήμα έχει έναν διευθυντή και κάθε διευθυντής δεν μπορεί να ανήκει σε παραπάνω από ένα τμήματα. Ένα τμήμα μπορεί να ανήκει σε πολλές πόλεις. Ισχύει η συναρτησιακή εξάρτηση : SupSSn DeptNo Δεν ισχύει : SupSSn City DeptNo City

Συναρτησιακές Εξαρτήσεις Παράδειγμα 2 : Έστω ότι ένας διευθυντής διευθύνει μόνο ένα τμήμα σε κάθε πόλη. Ισχύει η συναρτησιακή εξάρτηση : {City, DeptNo} SupSSN - To {City, DeptNo} προσδιορίζει συναρτησιακά το SupSSN. - To SupSSN εξαρτάται συναρτησιακά από το {City, DeptNo }. Δεν ισχύει : SupSSn {City, DeptNo} {SupSSn, DeptNo} City Γιατί?? Ένας άτυπος ορισμός είναι ότι αν γνωρίζεις το S1 τότε υπάρχει μόνο ένα S2 που του ταιριάζει.

Αξιώματα Armstrong Τα αξιώματα Armstrong είναι βάσιμα (sound) δηλ. δεν δίνουν λανθασμένες εξαρτήσεις και πλήρη (complete) δηλ. δίνουν όλες τις συναγόμενες συναρτησιακές συναρτήσεις. - Ανακλαστικότητα (Reflexivity) : Αν Β Α, τότε Α Β Παράδειγμα : ΧΥΖ ΧΥ - Προσαύξηση (Augmentation) : Αν Α Β, τότε ΑC ΒC. Παράδειγμα : ΧΥ Ζ και W, τότε ΧΥW ZW - Μεταβατικότητα ή Επαγωγή (Transitivity) : Αν Α Β και Β C, τότε Α C. Παράδειγμα : ΧΥ Ζ, Ζ WV, τότε ΧΥ WV

Συνέπειες Αξιώματων Επιπλέων Κανόνες - Ένωση (Union) : Αν Α Β και Α C, τότε Α ΒC - Διάσπαση (Decomposition) : Αν Α ΒC, τότε Α Β και Α C - Ψευδομεταβατικός Κανόνας (Pseudo-transitivity) : Αν Α Β και ΒC D, τότε AC D

Παραδείγματα Έστω R = (A,B,C,G,H,I) Και οι συναρτησιακές εξαρτήσεις: Α Β Α C CG H CG I B H Μέσω κανόνων Armstrong εξάγονται οι (µη τετριμμένες) : Α Η, από μεταβατικότητα µέσω Α Β, B H Α ΒC, από ένωση µέσω Α Β, Α C AG I, από ψευδοµεταβατικότητα µέσω Α C, CG I CG HI, από ένωση µέσω CG I, CG H

Παραδείγματα Δίνεται πίνακας R με τα χαρακτηριστικά W, U, V, X, Y, Z και οι συναρτησιακές εξαρτήσεις: W UV, U Y, VX YZ. Ζητείται να αποδειχθεί ότι ισχύει: WX Z. Λύση: 1. Mε διάσπαση από τη W UV προκύπτει W V. 2. Με επαύξηση προκύπτει WX VX. 3. Με μεταβατικότητα προκύπτει WX YZ. 4. Με διάσπαση προκύπτει WX Z.

Κάλυψη - Κλειστότητα Ένα σύνολο συναρτησιακών εξαρτήσεων F μιας σχέσης R, λέμε ότι καλύπτει ένα άλλο σύνολο συναρτησιακών εξαρτήσεων G της σχέσης R, αν το σύνολο G μπορεί να εξαχθεί από το F, µε την εφαρμογή κανόνων συνεπαγωγής. Άρα θέλουμε το G να είναι υποσύνολο του F+ Το σύνολο των συναρτησιακών εξαρτήσεων που μπορούν να παραχθούν από ένα σύνολο εξαρτήσεων F λέγεται κλειστότητα (closure) και συμβολίζεται με F +.

Κλειστότητα (Closure) Κλειστότητα (closure) ενός συνόλου συναρτησιακών εξαρτήσεων : όλες οι συναγόμενες συναρτησιακές εξαρτήσεις Παράδειγμα : - Έστω R = ( A, B, C, D) - Και ισχύει - Τότε Α Β Α C B D Α D A A (trivial) Αν έχουμε μια συναρτησιακή εξάρτηση όπου Α D όπου το D είναι ένα υποσύνολο του Α τότε η συγκεκριμένη συναρτησιακή εξάρτηση είναι τετριμμένη (trivial). Αν έχουμε ένα σύνολο από συναρτησιακές εξαρτήσεις F, τότε το σύνολο F όλων των συναρτησιακών εξαρτήσεων που συνεπάγονται λογικά καλείται κλείσιµο του F.

Υπολογισμός της Κλειστότητας Α+ Ουσιαστικά η κλειστότητα του Α+ είναι όλο το σύνολο των γνωρισμάτων που καθορίζονται (εξαρτώνται) από το Α.

Παράδειγμα 1 Έστω R = (A,B,C,G,H,I) Και οι συναρτησιακές εξαρτήσεις του F: Α Β Α C CG H CG I B H Ως AG+ ορίζεται : AG ABG, από Α Β ABCG, από Α C ABCGH, από CG H (ή από B H) ABCGHI, από CG I

Παράδειγμα 2 Έστω R = (A,B,C,D,E) Και οι συναρτησιακές εξαρτήσεις του F: Α Β Α C BC D D E B H Χ =Α 0. A = {A} 1. A = {A, B}, από A B 2. A = {A, B, C}, από A C 3. A = {A, B, C, D}, από BC D 4. A = {A, B, C, D, E}, από D E Χ = BC 0. BC = {B, C} 1. BC = {B, C, D}, από BC D 2. BC = {B, C, D, E}, από D E

Παράδειγμα 3 Έστω R = (A,B,C,D,E) Και οι συναρτησιακές εξαρτήσεις του F: Α D Α C BC D D E Τα αποτελέσματα του αλγορίθμου για μερικές περιπτώσεις του Χ. - Για το (A) : ACDE - Για το (B) : B - Για το (C) : C - Για το (D) : DE - Για το (E) : E - Για το (BC) : BCDE - Για το (AB) : ABCDE

Ελάχιστη Κάλυψη οθέντος ενός συνόλου F από συναρτησιακές εξαρτήσεις (ΣΕ), Fc (ελάχιστο κάλυμμα) ονομάζεται το ελάχιστο σύνολο ισοδύναμων συναρτησιακών εξαρτήσεων. Αλγόριθµος υπολογισµού της ελάχιστης κάλυψης ενός συνόλου ΣΕ - Δημιουργούμε ένα νέο σύνολο G ισοδύναμο του F όπου φροντίζουμε να έχουμε ΣΕ, µε µόνο ένα γνώρισα στο δεξιό µέλος της συνάρτησης. (Διάσπαση) - Αντικαθιστούμε τις ΣΕ µε άλλες, που έχουν λιγότερα γνωρίσματα στο αριστερό µέλος εφόσον δεν επηρεάζουν την κλειστότητα του G. - Αφαιρούμε από το G όλες τις ΣΕ που δεν επηρεάζουν την κλειστότητα του G αν αφαιρεθούν, (Πλεονάζουσες) - Συγχωνεύουμε τις ΣΕ που έχουν το ίδιο αριστερό µέλος, φροντίζοντας έτσι όλα τα αριστερά μέλη να είναι μοναδικά.

Παράδειγμα 1 Έστω R = (A,B,C,D) F= {A BC, B C, A B, AB C} - Αποσυνθέτουµε συναρτησιακές εξαρτήσεις Η A BC γίνεται, A B, A C G = {A B, A C, B C, A B, AB C} - Αφαιρώ τις πλεονάζουσες εν επηρεάζει την κλειστότητα η αφαίρεση µιας A B (υπάρχει δύο φορές) G = {A B, A C, B C, AB C} - Αφαιρώ την AB C αφού δεν επηρεάζει την κλειστότητα (συνεπάγεται από A C και B C) G = {A B, A C, B C} - Αφαιρώ την A C αφού δεν επηρεάζει την κλειστότητα (συνεπάγεται από A Β και B C) G = {A B, B C} Η ελάχιστη κάλυψη είναι{a B, B C}

Παράδειγμα 2 (1/5) Έστω R = (A,B,C,D,Ε,F) µε ΣΕ: F= {AΒ D, B C, AE B, A D, D EF} - Εφαρµόζω τον αλγόριθµο: G = {AΒ D, B C, AE B, A D, D EF} Βήµα 1: Αποσυνθέτουµε συναρτησιακές εξαρτήσεις G = {AΒ D, B C, AE B, A D, D E, D F}

Παράδειγμα 2 (2/5) Βήµα 2: Αφαιρώ τις ΣΕ που δεν επηρεάζουν το G Για την AΒ D, στο {B C, AE B, A D, D E, D F} βρίσκω ΑΒ+ = ABCDEF, που περιέχει το D, και την αφαιρώ - G = {B C, AE B, A D, D E, D F} Για την B C, στο {AE B, A D, D E, D F} βρίσκω Β+ = B, δεν περιέχει το C το G παραµένει - G = {B C, AE B, A D, D E, D F} Για την AE B, στο {B C, A D, D E, D F} βρίσκω ΑΕ+ = AEDF, δεν περιέχει το Β το G παραµένει - G = {B C, AE B, A D, D E, D F} Για την A D, στο {B C, AE B, D E, D F} βρίσκω Α+ = A, δεν περιέχει το D το G παραµένει - G = {B C, AE B, A D, D E, D F} Για την D E, στο {B C, AE B, A D, D F} βρίσκω D+ = DF, δεν περιέχει το E το G παραµένει - G = {B C, AE B, A D, D E, D F} Για την D F, στο {B C, AE B, A D, D E} βρίσκω D+ = DE, δεν περιέχει το F το G παραµένει - G = {B C, AE B, A D, D E, D F}

Παράδειγμα 2 (3/5) Βήμα 3: Αντικαθιστούμε ΣΕ με άλλες που έχουν λιγότερα γνωρίσματα στο αριστερό μέρος G = {B C, AE B, A D, D E, D F} Για την AE B στο G που είναι η μόνη με πολλαπλό αριστερό μέρος έχω: -- Για το A AE Υ:= AE {A} = E J:= ({B C, AE B, A D, D E, D F} { AE B } ) { E B } = ({B C, A D, D E, D F}) { E B } Υπολογίζω το Y+ για το J και το Y+ για το G. Ε+ = ΕΒC στο σύνολο J Ε+ = Ε στο σύνολο G Το Ε+ στο J δεν είναι ίδιο με το Ε+ στο G, άρα δεν διατηρώ την αντικατάσταση του AE B από το E B.

Παράδειγμα 2 (4/5) ( Συνέχεια βήματος 3) -- Για το Ε AE Υ:= AE {Ε} = Α J:= ({B C, AE B, A D, D E, D F} { AE B } ) { Α B } = ({B C, A D, D E, D F}) { Α B } Υπολογίζω το Y+ για το J και το Y+ για το G. Α+ = ΑΒCDEF στο σύνολο J Α+ = ABCDEF στο σύνολο G Το A+ στο J είναι ίδιο με το A+ στο G, άρα διατηρώ την αντικατάσταση του AE B από το A B. Άρα το συνολο που προκύπτει είναι το D F} G = {B C, Α Β,A D, D E,

Παράδειγμα 2 (5/5) Βήμα 4: Εφαρμόζουμε τον κανόνα της ένωσης στις ΣΕ με κοινό αριστερό μέρος. Άρα η G γίνεται: G = {B C, Α BD, D EF}

Εύρεση Κλειδιών Το κλείσιµο του συνόλου των γνωρισµάτων που αποτελεί κλειδί, είναι το σύνολο των γνωρισµάτων της σχέσης. Για να βρω τα κλειδιά µιας σχέσης - Ξεκινάω να ελέγξω το κλείσιµο ατοµικών γνωρισµάτων. Αν το κλείσιµο του µου δίνει το σύνολο των γνωρισµάτων της σχέσης αποτελεί κλειδί. - Αν κανένα ατοµικό γνώρισµα δεν είναι κλειδί δοκιµάζω µε το κλείσιµο ενός συνόλου µε δύο γνωρίσµατα. οκιµάζω όλα τα διµελή σύνολα µέχρι να βρω κλειδί. - Αν δεν έχω βρει κλειδί η διαδικασία συνεχίζεται µε τριµελή σύνολα κ.ο.κ. Μια βελτιστοποίηση που µπορούµε να κάνουµε είναι: - Εντοπίζω τα γνωρίσµατα που δεν βρίσκονται σε κανένα δεξί µέλος των εξαρτήσεων. Το σύνολο τους Χ θα είναι απαραίτητα µέρος του κλειδιού. Αν το σύνολο αυτό δεν είναι κενό, ξεκινάω για την εύρεση κλειδιού µε το κλείσιµο αυτού του συνόλου και όχι µε ατοµικά γνωρίσµατα. Αν το κλείσιµο του δεν είναι το σύνολο των γνωρισµάτων της σχέσης άρα δεν είναι κλειδί, τότε προσθέτω ένα ακόµα γνώρισµα στο σύνολο και συνεχίζω.

Παράδειγμα Έστω η σχέση R(A,B,C,D,E) και το σύνολο ΣΕ: F={A ->B, BC ->E, ED->A} - Στα δεξιά µέλη δεν έχω D ούτε C. Ξεκινάω µε το CD. - CD = CD, δεν είναι το σύνολο των γνωρισμάτων της σχέσης άρα συνεχίζω µε - Προσθέτω το A: ACD - Προσθέτω το Β: ΒCD = ACDBE, Το ACD είναι κλειδί = ΒCDEΑ, Το ΒCD είναι κλειδί - Προσθέτω το Ε: CDΕ = ACDBE, Το CDΕ είναι κλειδί Κλειδιά είναι τα ACD, BCD, CDE

Κλειδιά και Γνωρίσματα Τα γνωρίσµατα που είναι µέρη κλειδιών ονοµάζονται πρωτεύοντα (prime). - Στο προηγούµενο παράδειγµα µε κλειδιά τα ACD, BCD, CDE, πρωτεύοντα είναι τα γνωρίσµατα A, B, C, D, E, και δεν υπάρχουν µη-πρωτεύοντα γνωρίσµατα. - Στην σχέση R( A, B, C, D, E), αν κλειδιά είναι τα ΑΒ και ΒC τότε: Πρωτεύοντα(prime): A, B, C Μη πρωτεύοντα(non-prime): D, E