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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 Συνοπτική ϑεωρία. 1.1 Νόµοι του Προτασιακού Λογισµού. p p p. p p. ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

ιαιρετότητα Στοιχεία Θεωρίας Αριθµών «Ο Αλγόριθµος της ιαίρεσης» Αριθµητική Υπολοίπων 0 r < d και a = d q +r

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

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

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

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


Αρχεία και Βάσεις Δεδομένων Φροντιστήριο Κανονικές Μορφές

Principles of Database Systems

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

f (x) = l R, τότε f (x 0 ) = l. = lim (0) = lim f(x) = f(x) f(0) = xf (ξ x ). = l. Εστω ε > 0. Αφού lim f (x) = l R, υπάρχει δ > 0

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

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

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

Γραµµική Αλγεβρα. Ενότητα 2 : Επίλυση Γραµµικών Εξισώσεων. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

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

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

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

ΚΕΦΑΛΑΙΟ 2ο: ΣΥΝΑΡΤΗΣΕΙΣ ΑΛΓΕΒΡΑ Β ΛΥΚΕΙΟΥ

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

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

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

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

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

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

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

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

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

Lecture 23: Functional Dependencies and Normalization

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

Transcript:

ΗΥ-360 Αρχεια και Βασεις εδοµενων, Τµηµα Επιστηµης Υπολογιστων, Πανεπιστηµιο Κρητης Συναρτησιακές Εξαρτήσεις Βάρσος Κωνσταντίνος 24 Νοεµβρίου 2017 Ορισµός 1. Μια συναρτησιακή εξάρτηση µεταξύ X και Y συµβολίζεται µε X Y και ορίζει έναν περιορισµό ως προς τις τιµές των χαρακτηριστικών. Σε αυτή την περίπτωση το σύνολο χαρακτηριστικών Y λέγεται συναρτησιακά εξαρτώµενο ( functional dependent) από το σύνολο X. Αν δύο πλειάδες έχουν τις ίδιες τιµές στα χαρακτηριστικά του συνόλου X, τότε ϑα έχουν ίδιες τιµές και στα χαρακτηριστικά του συνόλου Y. Σε οποιαδήποτε σχέση R, αν S 1 R και S 2 R, η συναρτησιακή εξάρτηση S 1 S 2 καθορίζει ότι για οποιεσδήποτε δύο πλειάδες t 1 και t 2 της R ισχύει Αν t 1 [S 1 ] = t 2 [S 1 ], τότε t 1 [S 2 ] = t 2 [S 2 ] Σε ένα σύνολο χαρακτηριστικών µπορεί να υπάρχουν τετριµµένες (trivial) συναρτησιακές εξαρτήσεις αλλά και άλλες που µπορούν να συναχθούν. 1) Εστω µια αλυσίδα καταστηµάτων. Κάθε τµήµα έχει έναν διευθυντή και κάθε διευθυντής δεν µπορεί να ανήκει σε παραπάνω από ένα τµήµα. Ενα τµήµα µπορεί σε πολλές πόλεις. Ισχύει η συναρτησιακή εξάρτηση, SupSS DeptNo εν ισχύουν SupSS City DeptNo City 2) Εστω ότι ένας διευθυντής διευθύνει µόνο ένα τµήµα σε κάθε πόλη. Ισχύει η συναρτησιακή εξάρτηση, {City, DeptNo} SupSS εν ισχύουν SupSS {City, DeptNo} {SupSS, DeptNo} City 1

Αξιώµατα Armstrong Είναι ϐάσιµα καθώς δεν δίνουν λανθασµένες εξαρτήσεις και πλήρη καθώς δίνουν όλες τις συναγόµενες συναρτησιακές εξαρτήσεις. Ανακλαστικότητα (Reflexivity): Προσαύξηση (Augmentation): Μεταβατικότητα (Transitivity): Αν B A, τότε A B Αν A B, τότε AC BC Αν A B και B C, τότε A C Συνέπειες αξιωµάτων Ενωση (Union): ιάσπαση (Decomposition): Αν A B και A C, τότε A BC Αν A CB, τότε A B και A C Ψευδοµεταβατικός κανόνας (Pseudo-transitivity): Αν A B και BC D, τότε AC D 1) Εστω R = (A, B, C, G, H, I) και οι συναρτησιακές εξαρτήσεις A B, A C, CG H, CG I, B H Μέσω των κανόνων Armstrong εξάγονται οι, A H, A BC, AG I, CG HI 2) ίνεται πίνακας R µε τα χαρακτηριστικά W, U, V, X, Y, Z και οι συναρτησιακές εξαρτήσεις : Ζητείται να αποδειξθεί ότι ισχύει W X Z. W UV, U Y, V X Y Z Λύση i) Με διάσπαση από την W UV προκύπτει W V. ii) Με επαύξηση προκύπτει W X V X. iii) Με µεταβατικότητα προκύπτει W X UZ. iv) Με διάσπαση προκύπτει W X Z. Ορισµός 2. Το σύνολο των συναρτησιακών εξαρτήσεων που µπορούν να παραχθούν από ένα σύνολο εξαρτήσεων F λέγεται κλειστότητα (closure) και συµβολίζεται µε F +. 2

Εστω R = {A, B, C, D} και ισχύει A B, A C B D Αν έχουµε µια συναρτησιακή εξάρτηση όπου A D όπου D είναι ένα υποσύνολο του A τότε η συγκεκρι- µένη συναρτησιακή εξάρτηση είναι τετριµµένη A D, A A(trivial) Αν έχουµε ένα σύνολο από συναρτησιακές εξαρτήσεις F, τότε το σύνολο F + όλων των συναρτησιακών εξαρτήσεων, που συνεπάγονται λογικά καλείται κλείσιµο του F. Ορισµός 3. Το K είναι υποψήφιο κλειδί της σχέσης R ανν K R για κανένα α K, α R. Συνεχίζοντας το προηγούµενο παράδειγµα, ϐρήκαµε ότι CD ABCDE, A ABCDE, E ABCDE. Άρα τα υποψήφια κλειδιά για την σχέση R είναι A, E, CD Ο προσδιορισµός του συνόλου κλειστότητας F + είναι δαπανηρός αλγοριθµικά ακόµη και για µικρό σύνολο εξαρτήσεων F. Ορισµός 4. Κλειστότητα του συνόλου χαρακτηριστικών X( attribute closure), ως προς το σύνολο των χαρακτηριστικών εξαρτήσεων F, είναι το σύνολο των χαρακτηριστικών που είναι συναρτησιακά εξαρτώµενα από το σύνολο των χαρακτηριστικών X και το συµβολίζουµε µε X +. Στη σχέση R = (ΑΦΜ, ΑΜ, ϐαθµός, όνοµα, διεύθυνση) και (ΣΕ) ΑΦΜ, ΑΜ ϐαθµός, ΑΦΜ όνοµα, διεύθυνση Παίρνουµε ότι {ΑΦΜ} + = ΑΦΜ, όνοµα, διεύθυνση. Σηµείωση 1. Αν το X + είναι το σύνολο όλων των γνωρισµάτων του πίνακα τότε το X είναι υποψήφιο κλειδί. Υπολογισµός κλειστότητας A + : Αλγόριθµος υπολογισµού A + της κλεισότητας του A κάτω από το σύνολο F αποτέλεσµα := A while (υπάρχουν αλλαγές στο αποτέλεσµα) do for each β γ στο F do begin if β αποτέλεσµα then αποτέλεσµα := αποτέλεσµα γ end 1) Εστω R = {A, B, C, G, H, I} και οι συναρτησιακές εξαρτήσεις του F : Να υπολογιστεί το {A, C} +. I B, A H, B G, C G, CG I 3

. α {A, C} + = AC 1.. ϐ {A, C} + = AC H, από A {A, C} + και A H.. γ {A, C} + = ACH G, από C G.. δ {A, C} + = ACHG I, από CG I.. ε {A, C} + = ACHGI B, από I B. Άρα {A, C} + = ACHGIB. 2) Εστω R = {A, B, C, G, H, I} και οι συναρτησιακές εξαρτήσεις του F : A B, A C, CG H, CG I, B H Ως AG + ορίζεται :. α AG + = {AG},. ϐ AG + = {ABG},από A B.. γ AG + = {ABCG}, από A C.. δ AG + = {ABCGH}, από CG H ή B H.. ε AG + = {ABCGHI}, από CG I. 3) Εστω R = {A, B, C, D, E} και οι συναρτησιακές εξαρτήσεις του F : A B, A C, BC D, D E, B H Ως X + = A + ορίζεται :. α A + = {A}.. ϐ A + = {A, B}, από A B.. γ A + = {A, B, C}, από A C.. δ A + = {A, B, C, D}, από BC D.. ε A + = {A, B, C, D, E}, από D E. Ως X + = BC + ορίζεται :. α BC + = {B, C}.. ϐ BC + = {B, C, D}, από DC D.. γ BC + = {B, C, D}, από DC D. 4) ίνεται ο πίνακας R = {V, Y, Z, W } και το Να ϐρεθεί η κλειστότητα του χαρακτηριστικού V. F + = {V Z, V Z W, W Y, V Y W } Λύση Βήµα 1ο : X = V. Βήµα 2ο : X = V Z, λόγω της V Z. Βήµα 3ο : X = V ZW, λόγω της V Z W. Βήµα 3ο : X = V ZW Y, λόγω της W Y. Βήµα 3ο : εν µπορούν να γίνουν άλλες αλλαγές. 1 Εναλλακτικά αντί για {A, C} + γράφουµε AC + ή (AC) + 4

5) ίνεται ο πίνακας R = {V, Y, Z, W } και το Να ϐρεθεί η κλειστότητα του χαρακτηριστικού V. Λύση F + = {V Y, W Y, V W } Βήµα 1ο : X = V. Βήµα 2ο : X = V Y, λόγω της V Y. Βήµα 3ο : X = V Y W, λόγω της V W. Βήµα 3ο : εν µπορούν να γίνουν άλλες αλλαγές. 6) Εστω R = (A, B, C, D, E) και οι συναρτησιακές εξαρτήσεις του F : A D, A C, BC D, D E Αποτελέσµατα του αλγορίθµου για µερικές περιπτώσεις του X. Για το (A) + : ACDE. Για το (B) + : B. Για το (C) + : C. Για το (D) + : DE. Για το (E) + : E. Για το (BC) + : BC. Για το (AB) + : ABCDE. 7) Θεωρείστε το σχήµα R = {A, B, C, D, E} και το ακόλουθο σύνολο συναρτησιακών εξαρτήσεων F : A BC, CD E, B D, E B Με ϐάση τα παραπάνω, µπορεί να ϑεωρηθεί ο συνδυασµός γνωρισµάτων CD, ως υποψήφιο κλειδί; ικαιολογήστε την απάντηση σας. Βρίσκω την CD + και εάν περιλαµβάνει όλα τα γνωρίσµατα του σχήµατος, τότε CD υποψήφιο κλειδί.. α {CD} + = CD.. ϐ {CD} + = CD E.. γ {CD} + = CDE B.. δ {CD} + = CDEB. Το {CD} + δεν περιλαµβάνει όλα τα γνωρίσµατα του σχήµατος. Άρα το CD δεν αποτελεί υποψήφιο κλειδί. Ορισµός 5. Εστω δύο σύνολα εξαρτήσεων E και F. Λέµε ότι το F καλύπτει το E αν κάθε εξάρτηση στο E ανήκει στο F +, εναλλακτικά γράφουµε E F +. Ορισµός 6. οθέντος ενός F από συναρτησιακές εξαρτήσεις (ΣΕ) ελάχιστη κάλυψη, F c, ονοµάζεται το ελάχιστο σύνολο ισοδύναµων συναρτησιακών εξαρτήσεων. Η διαφορά µεταξύ της κανονικής κάλυψης και της ελάχιστης κάλυψης είναι ότι στην πρώτη επιτρέπεται να έχουµε παραπάνω από ένα χαρακτηριστικά στο αριστερό µέλος ενώ στην δεύτερη επιτρέπεται αυστήρα ένα. Προσοχή στην ϐιβλιογραφία δεν χρησιµοποιείται πάντοτε αυτή η διάκριση. Οπου δεν διακρίνονται οι όροι χρησιµοποιούνται κατά το δοκούν. 5

Ορισµός 7. Λέµε ότι δύο σύνολα συναρτησιακών εξαρτήσεων E και F είναι ισοδύναµα ανν E + = F +. Ορισµός 8. Μια ιδιότητα, σύνολο γνωρισµάτων, µια συναρτησιακής εξάρτησης λέγεται εξωτερική ή (πλεονάζουσα) αν µπορούµε να την αφαιρέσουµε χωρίς να αλλάξουµε το κλείσιµο του σύνολου των εξαρτήσεων. Εστω F και εξάρτηση α β στο F. Η ιδιότητα A είναι εξωτερική στο α αν το A α και το F συνεπάγεται λογικά (F {α β}) {(α A) β}. Η ιδιότητα A είναι εξωτερική στο β αν το A beta και το σύνολο των εξαρτήσεων (F {α β}) {α (A β)} συνεπάγεται λογικά το F. Η κάλυψη F c για το F είναι ένα σύνολο από εξαρτήσεις έτσι ώστε το F να συνεπάγεται λογικά όλες τις εξαρτήσεις στο F c και το F c να συνεπάγεται λογικά όλες τις εξαρτήσεις στο F. Το F c πρέπει να έχει τις παρακάτω ιδιότητες, Καµία εξάρτηση του F c δεν περιέχει µια εξωτερική ιδιότητα, Κάθε αριστερή πλευρά µιας εξάρτησης στο F c είναι µοναδική. εν υπάρχουν δύο εξαρτήσεις α 1 β 1 και α 2 β 2 στο F c έτσι ώστε α 1 = α 2. Αλγόριθµος υπολογισµού της ελάχιστης κάλυψης ενός συνόλου ΣΕ ( ιάσπαση) ηµιουργούµε ένα νέο σύνολο G ισοδύνοµο του F όπου ϕροντίζουµε να έχουµε (ΣΕ), µε µόνο ένα γνώρισµα στο δεξιό µέλος της συνάρτησης. Αντικαθιστούµε τις (ΣΕ) µε άλλες, που έχουν άλλα γνωρίσµατα στο αριστερό µέλος εφόσον δεν επηρεάζουν την κλειστότητα του G. (Πλεονάζουσες) Αφαιρούµε από το G όλες τις (ΣΕ) που δεν επηρεάζουν στην κλειστότητα του G αν αφαι- ϱεθούν. Συγχωνεύουµε τις (ΣΕ) που έχουν το ίδιο αριστερό µέλος, ϕροντίζοντας έτσι όλα τα αριστερά µέλη να είναι µοναδικά. 1) Εστω A = (A, B, C, D) µε ΣΕ : F = {A BC, B C, A B, AB C}, Αποσυνθέτουµε συναρτησιακές εξαρτήσεις (Η AB C γίνεται 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 αφού δεν επηρεάζει την κλειστότητα, G = {A B, A C, B C} Αφαιρούµε την A C αφού δεν επηρεάζει την κλειστότητα, G = {A B, B C} Συνεπώς η ελάχιστη κάλυψη είναι {A B, B C}. 2. Εστω A = {A, B, C, D, E, F } µε (ΣΕ): F = {AB D, B C, AE B, A D, D EF }. Εφαρ- µόζουµε τον αλγόριθµο για G = {AB D, B C, AE B, A D, D EF }. Βήµα 1. Αποσυνθέτουµε συναρτησιακές εξαρτήσεις G = {AB D, B C, AE B, A D, D E, D F } 6

Βήµα 2. Αφαιρούµε τις (ΣΕ) που δεν επηρεάζουν το G, Για την AB D, στο {B C, AE B, A D, D E, D F } ϐρίσκω AB + = ABCDEF που περιέχει το D και την αφαιρώ G = {B C, AE B, A D, D E, D F } Για την B C, G\{B C} ϐρίσκω B + = B, δεν περιέχει το C και το G µένει ως έχει. Για την AE B, G\{AE B} ϐρίσκω AE + = AEDF, δεν περιέχει το B και το G µένει ως έχει. Για την A D, G\{A D} ϐρίσκω A + = A, δεν περιέχει το D και το G µένει ως έχει. Για την D E, G\{D E} ϐρίσκω D + = DF, δεν περιέχει το E και το G µένει ως έχει. Για την D F, G\{D F } ϐρίσκω D + = DF, δεν περιέχει το F και το G µένει ως έχει. Βήµα 3. Αντικαθιστούµε τις (ΣΕ) µε άλλες που έχουν λιγότερα γνωρίσµατα στο αριστερό µέλος, G = {B C, AE B, A D, D E, D F } Για την AE B στο G που είναι η µόνη µε πολλαπλό αριστερό µέλος έχουµε Για το A AE Y := 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. E + = EBC στο σύνολο J, E + = E στο σύνολο G Για το E AE Y := AE {E} = A J := ({B C, AE B, A D, D E, D F } {AE B}) {A B} = {B C, A D, D E, D F } {A B}. Υπολογίζω το Y + για το σύνολο J και το U + για το G. A + = ABCDEF στο σύνολο J, A + = ABCDEF στο σύνολο G Το A + στο J είναι ίδιο µε το A + στο G, άρα διατηρώ την αντικατάσταση του AE B από το A B. Άρα το σύνολο που προκύπτει είναι το, G = {B C, A B, A D, D E, D F } Βήµα 4. Εφαρµόζουµε τον κανόνα της ένωσης στις (ΣΕ) µε κοινό αριστερό µέρος. Άρα η G γίνεται, G = {B C, A BD, D EF } Εύρεση υποψήφιων κλειδών δεδοµένου ενός πίνακα R και των εξαρτήσεων F + µεταξύ των πεδίων του. Βήµα 1ο : Βρες τα χαρακτηριστικά που δεν εµφανίζονται ούτε στην αριστερή αλλά ούτε και στην δεξιά πλευρά της συναρτησιακής εξάρτησης. Βήµα 2ο : Βρες τα χαρακτηριστικά που εµφανίζονται µόνο στη δεξιά πλευρά. Βήµα 3ο : Βρες τα χαρακτηριστικά που εµφανίζονται µόνο στην αριστερή πλευρά. 7

Βήµα 4ο : Συνδύασε τα χαρακτηριστικά του ϐήµατος 1 & 3. Βήµα 5ο : Βρες την κλειστότητα των χαρακτηριστικών του ϐήµατος 4. Αν σε αυτήν ανήκουν όλα τα υπόλοιπα χαρακτηριστικά τότε είναι υποψήφιο κλειδί. ιαφορετικά, επανέλαβε τα ϐήµατα 4 & 5 προσαρτώντας κάθε ϕορά ένα χαρακτηριστικό που δεν συµπεριλαµβάνεται στο ϐήµα 2 & 4. 1) Εστω R = {A, B, C, D, E, F, G} µια σχέση και F = {AB F, AD E, F G} ένα σύνολο εξαρτήσεων στη σχέση αυτή. Βρείτε ένα υποψήφιο κλειδί στην R. Λύση. Βήµα 1ο : C. Βήµα 2ο : EG. Βήµα 3ο : ABD. Βήµα 4ο : ABCD. Βήµα 5ο : Η κλειστότητα του συνόλου των χαρακτηριστικών του ϐήµατος 4 είναι ABCDEF G. Άρα το ABCD είναι υποψήφιο κλειδί. 2) Εστω R = {A, B, C, D} µια σχέση και F = {ABC D, D A} ένα σύνολο εξαρτήσεων στη σχέση αυτή. Βρείτε ένα υποψήφιο κλειδό στην R. Λύση. Βήµα 1ο :. Βήµα 2ο :. Βήµα 3ο : BC. Βήµα 4ο : BC. Βήµα 5ο : Η κλειστότητα του BC είναι το BC. Η κλειστότητα του ABC είναι το ABCD. Άρα το ABC είναι υποψήφιο κλειδί. 3) Εστω η σχέση R = (A, B, C, D, E) και το σύνολο (ΣΕ) F = {A B, BC E, ED A}. Στα δεξιά µέλη δεν έχω ούτε D ούτε C. Ξεκινάω µε CD. CD + = CD, δεν είναι το σύνολο των γνωρισµάτων της σχέσης άρα συνεχίζω µε, Προσθέτω το A: ACD + = ACDBE, το ACD είναι το κλειδί. Προσθέτω το B: BCD + = BCDEA, το BCD είναι το κλειδί. Προσθέτω το E: BCE + = ACDBE, το CDE είναι το κλειδί. Κλειδιά είναι τα ACD, BCD και CDE. Συχνά χρειάζεται να διασπάσουµε µια σχέση σχήµατος που έχει πολλές ιδιότητες σε διάφορα σχήµατα µε λιγότε- ϱες ιδιότητες. Μια τέτοια διάσπαση λέγεται αποσύνθεση. Η σχέση ABCD µπορεί να διασπαστεί σε ABC και CD. Ορισµός 9. Μια αποσύνθεση {R 1, R 2,..., R k } της σχέσης R µε συναρτησιακές εξαρτήσεις F λέγεται αποσύν- ϑεση χωρίς απώλεια πληροφορίας ( Lossless - join decomposition), αν ανεξάρτητα από το περιεχόµενο της R, οι συναρτησιακές εξαρτήσεις εξασφαλίζουν ότι R = R 1 R 2... R k 8

, δηλαδή αν ισχύει παραπάνω σχέση για όλες τις σχέσεις στο σχήµα R που ικανοποιούν όλους τους κανόνες ή περιορισµούς που έχουµε ϐάλει στην ϐάση δεδοµένων µας. Θεώρηµα 1. εδοµένης µιας σχέσης R και ενός συνόλου (ΣΕ) F οι οποίες πληρούνται στην R, µια αποσύνθεση της R στις σχέσεις R 1 και R 2 δεν πάσχει από απώλεια πληροφορίας αν τουλάχιστον µια από τις ακόλουθες (ΣΕ) είναι λογική συνέπεια των (ΣΕ) στο F. Head(R 1 ) Head(R 2 ) Head(R 1 ) Head(R 1 ) Head(R 2 ) Head(R 2 ), δηλαδή αν τα κοινά γνωρίσµατα των δύο σχέσεων R 1 R 2 σχηµατίζουν υπερκλειδί για τουλάχιστον ένα από τα σχήµατα R 1 ή R 2, τότε η αποσύνθεση του R είναι µια αποσύνθεση χωρίς απώλειες συνδέσµου. 1) Εστω ότι η (ΣΕ) B C ισχύει στη σχέση R(ABC). Η R αποσυντίθεται στις R 1 (AB) και R 2 (BC). Πάσχει από απώλεια πληροφορίας η αποσύνθεση αυτή; Λύση. Εχουµε Head(R 1 ) Head(R 2 ) = B. Πρέπει να δείξουµε ότι ισχύει µια εκ των (ΣΕ) 1) B AB 2) B BC Από την B C εξάγεται η B BC µε χρήση του κανόνα επαύξησης. Άρα η αποσύνθεση δεν πάσχει από απώλεια πληροφορίας. 2) Εστω R = {Τίτλος, Ετος, ιάρκεια, Είδος, Ονοµα Ηθοποιού, ιεύθυνση, Ετος Γέννησης}. Εχουµε τις (ΣΕ) Τίτλος Ετος ιάρκεια Τίτλος Ετος Είδος Ονοµα Ηθοποιού ιεύθυνση Ονοµα Ηθοποιού Ετος Γέννησης και τις σχέσεις R 1 = {Τίτλος, Ετος, ιάρκεια, Είδος } R 2 = {Τίτλος, Ετος, Ονοµα Ηθοποιού, ιεύθυνση, Ετος Γέννησης} Άρα R 1 R 2 = {Τίτλος, Ετος}. Γνωρίζουµε ότι ένα κλειδί K είναι υπερκλειδί µιας σχέσης R αν και µόνο αν ισχύει K R. Συνεπώς η R 1 R 2 είναι υπερκλειδί για την R 1, άρα και αποσύνθεση χωρίς απώλειες. 3) Υποθέτουµε ότι αποσυνθέτουµε το σχήµα R = {A, B, C, D, E} σε R 1 = {A, B, C} και R 2 = {A, E, D} και ισχύει το παρακάτω σύνολο από λειτουργικές εξαρτήσεις, F = {A BC, CD E, B D, E A} Βρίσκουµε ότι R 1 R 2 = A και λαµβάνοντας υπόψιν ότι ισχύει A BC, δηλαδή είναι κλειδί για το R 1, η αποσύνθεση γίνεται χωρίς απώλειες. 9