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

Σχετικά έγγραφα
Lecture 22: Functional Dependencies and Normalization

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

Lecture 23: Functional Dependencies and Normalization

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

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

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

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

Lecture 22: Functional Dependencies and Normalization

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

Lecture 21: Functional Dependencies and Normalization

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

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

Lecture 24: Functional Dependencies and Normalization IV

Principles of Database Systems

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

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

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


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

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων (Databases)

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

Ασκήσεις -Επανάληψη. Βάσεις Δεδομένων

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

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

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

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

Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσ

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

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

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

Βάσεις Δεδομένων (Databases)

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

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη

Βάσεις Δεδομένων (Databases)

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

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

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

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


x < y ή x = y ή y < x.

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

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

Lecture 14: SQL DML I

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

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

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

Εισαγωγή στις Βάσεις Δεδομζνων II

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

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

Σειρά Προβλημάτων 4 Λύσεις

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

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

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

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

Κεφάλαιο 4 Λογικός Σχεδιασµός Κανονικοποίηση

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

Σχέδιο Μαθήματος - "Ευθεία Απόδειξη"

Transcript:

Διάλεξη 21: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συναρτησιακές Εξαρτήσεις Κανόνες Συμπερασμού για Συναρτησιακές Ορισμοί Συναρτησιακών Εξαρτήσεων (FD) Διδάσκων: Παναγιώτης Ανδρέου EPL342: Databases Demetris Zeinalipour (University of Cyprus) 1

Περιεχόμενο Διάλεξης Συναρτησιακές Εξαρτήσεις (Functional Dependencies FD) Κανόνες Συμπερασμού για Συναρτησιακές Εξαρτήσεις(Inference Rules IR) Τα αξιώματα Armstrong Αποδείξεις με χρήση γνωστών κανόνων Ορισμοί Συναρτησιακών Εξαρτήσεων (FD): Κλειστότητες F + και X + (Closure) Ισοδυναμία F + =G + (Εquivalence) Κάλυψη FD (Cover) Ελάχιστη Κάλυψη FD (Minimal Cover) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 2

Συναρτησιακές Εξαρτήσ. (Functional Dependencies) Στην προηγούμενη διάλεξη καλύψαμε με άτυπο τρόπο κάποιες γενικές κατευθύνσεις στο σχεδιασμό ενός καλού σχεσιακού σχήματος. Σε αυτή την διάλεξη θα μελετήσουμε την έννοια των Συναρτησιακών Εξαρτήσεων (Functional Dependencies, FD) Με χρήση των FD θα μπορέσουμε να αποτιμήσουμε, στην ερχόμενη διάλεξη, με τυπικό τρόπο την χρηστότητα (goodness) ενός σχεσιακού σχήματος. Οι Συναρτησιακές Εξαρτήσεις αποτελούν το βασικό υπόβαθρο στο Relational Design Theory EPL342: Databases Demetris Zeinalipour (University of Cyprus) 3

Παραδείγματα Συναρτησιακών Εξαρτήσεων (FDs) To SSN προσδιορίζει το όνομα του Employee. SSN ENAME To PNUMBER προσδιορίζει το Project Name και Location PNUMBER {PNAME, PLOCATION} Το SSN και το PNumber προσδιορίζει τον αριθμό ορών που εργάζεται ένας employee σε ένα project. {SSN, PNUMBER} HOURS Φαινομενικά, τo αριστερό μέλος ενός FDs είναι κάποιο πρωτεύων κλειδί. Στην πραγματικότητα, μπορεί να είναι οποιοδήποτε/α key ή non key γνώρισμα/τα, π.χ., Credits Status ΝumberGrade LetterGrade CarModel Manfacturer {Author, Title} Publication Date Τα FDs ορίζουν εξαρτήσεις μεταξύ γνωρισμάτων, οι οποίες προκύπτουν ρητά από τις προδιαγραφές, και οι οποίες μπορεί να οδηγούν σε επανάληψη (redundancy) δεδομένων. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 4

Παραδείγματα Συναρτησιακών Εξαρτήσεων (FDs) H συναρτησιακή εξάρτηση TOWN ZIP στο ακόλουθο σχήμα προκαλεί την επανάληψη πληροφορίας (redundancy) Π.χ., θεωρώντας ότι οι διευθύνσεις στην ίδια περιοχή έχουν το ίδιο ταχυδρομικό κώδικα (zip) SSN Name Town Zip 1234 Joe Stony Brook 11790 4321 Mary Stony Brook 11790 5454 Tom Stony Brook 11790. Redundancy Κατ επέκταση, η πιο πάνω επανάληψη οδηγεί σε ανωμαλίες εισαγωγών, διαγραφών και ενημερώσεων για αυτό η επανάληψη δεδομένων πρέπει να ελαχιστοποιηθεί! EPL342: Databases Demetris Zeinalipour (University of Cyprus) 5

Συναρτησιακές Εξαρτήσεις FDs Μια Συναρτησιακή Εξάρτηση είναι ένας περιορισμός μεταξύ δυο ομάδων γνωρισμάτων μιας βάσης δεδομένων. Κάντε την παραδοχή ότι όλα τα γνωρίσματα μιας βάσης αποθηκεύονται σε ένα καθολικό πίνακα R(A 1, A 2,, A n ) Έστω ότι R=(A 1, A 2,, A n ) και ότι X R και Y R, τότε η Συναρτησιακή Εξάρτηση X Y, υποδηλώνει ότι μια ανάθεση τιμών στο σύνολο X προσδιορίζει μοναδικά το σύνολο Y. Δηλαδή, εάν t1[x]=t2[x], τότε t1[y]=t2[y] Επομένως είναι μια γενίκευση της έννοιας του κλειδιού. Θα αναφερόμαστε στα FDs ως ακολούθως: Το X προσδιορίζει συναρτησιακά το Y Το Y είναι συναρτησιακά εξαρτώμενο από το Χ EPL342: Databases Demetris Zeinalipour (University of Cyprus) 6

Χαρακτηριστικά FDs Tα FDs είναι ένας επιπλέον μηχανισμός χαρακτηρισμού των περιορισμών αναφορικής ακεραιότητας (IC) μεταξύ γνωρισμάτων μιας σχέσης Ωστόσο τα FDs ΔΕΝ δηλώνονται ρητά σε μια βάση, απλά χρησιμοποιούνται ως εργαλείο για Εκλέπτυνση του Σχήματος κατά την φάση της σχεδίασης. Για τα FDs υπάρχουν οι ακόλουθες περιπτώσεις: A) ΙΣΧΥΕΙ για KΑΘΕ στιγμιότυπο βάσης. π.χ., SSN Teacher (γενικά όλα τα FDs με αριστερό μέλος KEY ισχύουν ΠΑΝΤΑ.) Β) ΜΠΟΡΕΙ να Ισχύει (σε ΚΑΠΟΙΟ στιγμιότυπο βάσης: π.χ., στο πιο κάτω στιγμιότυπο τυγχάνει να ισχύει το TEXT COURSE C) ΔΕΝ Ισχύει σε ΚΑΠΟΙΟ στιγμιότυπο βάσης: Αρκεί να βρείτε ένα αντιπαράδειγμα π.χ., πιο κάτω ΤΕΑCHER / COURSE. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 7

Παραδείγματα FDs Βρείτε ποια FDs ισχύουν στο ακόλουθο στιγμιότυπο βάσης (ή ποια ΜΠΟΡΕΙ να ισχύουν στην ακόλουθη βάση) 1) 2) 3) 4) 5) A B C D a1 b1 c1 d1 a1 b2 c1 d2 a2 b2 c2 d2 a2 b2 c2 d3 a3 b3 c2 d4 A C; C A; B C; D B; AB D; YES (Maybe) NO (line 5) NO (line 3) YES(Maybe) NO (line 4) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 8

Κανόνες Συμπερασμού για FDs Κανόνες Συμπερασμού για FDs (Inference Rules, IR) Με βάση ένα σύνολο FDs F και τους κανόνες του Armstrong, μπορούμε να συμπεράνουμε (infer) επιπλέον FDs τα οποία ισχύουν όποτε ισχύει το F. Π.χ., Από το FD={SSN Dno, Dno >Dname} μπορούμε να συμπεράνουμε, με τους κανόνες Armstrong, ότι SSN Dname. Οι Κανόνες Συμπερασμού (IR) Armstrong : IR1 (Ανακλαστικός, Reflexive): Εάν X Y τότε X Y π.χ., Εάν {ssn,name} name τότε {ssn,name} name Είναι τετριμμένος κανόνας. IR2 (Επαυξητικός, Augmentation): Εάν X Y τότε XZ YZ π.χ., Εάν ssn name τότε {ssn,age} {name,age} * Το ΧΖ σημαίνει X U Z, επίσης Εάν X Y τότε XZ Y IR3 (Μεταβατικός, Transitive) Εάν X Y και Y Z τότε X Z π.χ., Εάν ssn Dno και Dno Dname τότε ssn Dname EPL342: Databases Demetris Zeinalipour (University of Cyprus) 9

Κανόνες Συμπερασμού για FDs Οι κανόνες Armstrong (IR1, IR2, IR3) είναι βάσιμοι (sound) και πλήρεις (complete). Βάσιμοι (Sound): Δηλαδή είναι ορθοί για κάθε στιγμιότυπο εισόδου (δείτε αποδείξεις ορθότητας στο βιβλίο) Πλήρεις (Complete): Με βάσει αυτούς μπορούμε να συνάγουμε ΟΛΟΥΣ τους άλλους κανόνες που μπορεί να συναχθούν. Στην επόμενη διαφάνεια δείχνουμε μερικούς άλλους Κανόνες IR, τους οποίους μπορούμε να συνάγουμε από τα αξιώματα Armstrong EPL342: Databases Demetris Zeinalipour (University of Cyprus) 10

Κανόνες Συμπερασμού για FDs Κανόνες που Συνάγονται από τα Αξιώματα Armstrong IR4 Διάσπαση (Decomposition): Εάν X YZ τότε X Y και X Z π.χ., Εάν ssn {name, age} τότε ssn name και ssn age Προσοχή: Μόνο το δεξί μέλος διασπάται όχι το αριστερό π.χ., Εάν {ssn,name} age ΔΕΝ ΣΗΜΑΙΝΕΙ ότι name age IR5 Ένωση (Union), [Αντίθετο της διάσπασης]: Εάν X Y και X Z, τότε X YZ π.χ., Εάν ssn >name και ssn >age τότε ssn >{name,age} Προσοχή: X A και Υ B ΔΕΝ ΣΗΜΑΙΝΕΙ ότι ΧΥ ΑΒ IR6 Ψευδομετάβαση (Pseudotransitivity): Εάν X Y και WY Z, τότε WX Z π.χ., Εάν isbn title και {author, title} pubdate τότε {author, isbn} pubdate EPL342: Databases Demetris Zeinalipour (University of Cyprus) 11

Αποδείξεις ΙR4 IR6 Οι κανόνες συμπερασμού IR1 IR3 αποδεικνύονται με μαθηματικές αποδείξεις (δείτε βιβλίο) ενώ οι κανόνες IR4 IR6 και άλλες ασκήσεις με τη χρήση των IR1 IR3. Απόδειξη IR4 (Διάσπαση): Εάν X YZ = X Y X Z 1) Χ ΥΖ (δεδομένο) 2) YZ Y (IR1:ανακλαστική, το ΥΖ Υ), αντίστοιχα και YZ Ζ από ΥΖ Ζ 3) Χ Υ (IR3:μετάβαση 1 2), αντίστοιχα με (2) ΥΖ Ζ και (1) έχουμε X Z Απόδειξη IR5 (Ένωση): (X Y X Z) = X YZ 1) Χ Υ (δεδομένο) 2) Χ Ζ (δεδομένο) 3) XX XY (IR2:επαύξηση 1 με X) 4) X XY (απλοποίηση 3, XX = X) 5) ΧY YZ (IR2:επαύξηση 2 με Y) 6) X YZ (IR3: μετάβαση 4 5) Απόδειξη IR6 (Ψευδομετάβαση): X Y WY Z = WX Z 1) Χ Υ (δεδομένο) 2) WY Ζ (δεδομένο) 3) WX WY (IR2:επαύξηση 1 με W) 4) WX Z (IR3: μετάβαση 2 3) EPL342: Databases Demetris Zeinalipour (University of Cyprus) 12

Κλειστότητες F + και X + F + : Κλειστότητα Συνόλου FD F: To σύνολο όλων των συναρτησιακών εξαρτήσεων που προσδιορίζεται από το F (με επαναληπτική εφαρμογή των κανόνων IR1 IR6) π.χ., Εάν F={Α Β, Β C} τότε F + ={A B, B C, A C} X + : Κλειστότητα Γνωρίσματος X: Το σύνολο όλων των γνωρισμάτων που εξαρτώνται συναρτησιακά από το X π.χ., Εάν F={Α Β, Β C} τότε A + ={A,B,C}, B + ={B,C} και C + ={C} X + είναι χρήσιμο εάν θέλουμε να βρούμε κατά πόσο μια FD Χ Υ ανήκει σε κάποιο F + (π.χ., βρες εάν το A C είναι στο F + C A +, άρα είναι! Εάν το Χ + περιέχει όλα τα γνωρίσματα μιας σχέσης τότε το Χ είναι Candidate Key. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 13

Αλγόριθμος Υπολογισμού του X + : F={Α Β, Β C} Αλγόριθμος Υπολογισμού του X + : 1) Χ + := X 2) repeat 3) old_x + := X + 4) for each FD Y Z in F do 5) if Y X + then X + :=X + Z 6) until (old_x + == X + ) Step-by-Step Execution: 1) A + :={A} 3) old_a + :={A} 4-5) A A +, so A + :={A,B} 4-5) Β A +, so A + :={A,B,C} (after next iteration) 6) Now A + ==old_a + so quit EPL342: Databases Demetris Zeinalipour (University of Cyprus) 14

Παράδειγμα Υπολογισμού του X + F= { SSN Ename, Pnumber {Pname, Plocation} {Ssn, Pnumber} Hours } 1) {Ssn} + ={Ssn, Ename} 2) {Pnumber} + = {Pnumber, Pname, Plocation} 3) {Ssn, Pnumber} + = {Ssn, Pnumber, Ename, Pname, Plocation, Hours} To {Ssn, Pnumber} είναι candidate key! EPL342: Databases Demetris Zeinalipour (University of Cyprus) 15

Ισοδυναμία Συνόλου FDs F + =G + Κάλυψη FDs (Cover): Ένα σύνολο FD F, καλύπτει ένα άλλο σύνολο G εάν G + F + Εναλλακτικά, το F καλύπτει το G εάν: Κάθε FD του G μπορεί να συμπεραθεί από το F. π.χ., {SSN} + ={SSN, NumGrade, LetterGrade} To FD SSN LetterGrade καλύπτεται από το SSN all Ισοδυναμία FDs (Equivalence): Δυο σύνολα FDs F και G είναι ισοδύναμα εάν το F + =G + Εναλλακτικά, τα F και G είναι ισοδύναμα εάν: ΚΆΘΕ FD του F μπορεί να συμπεραθεί από το G και ΚΆΘΕ FD του G μπορεί να συμπεραθεί από το F Συνεπώς, τα F και G είναι ισοδύναμα εάν: Το F καλύπτει το G και το G καλύπτει το F. F + G + EPL342: Databases Demetris Zeinalipour (University of Cyprus) 16

Παράδειγμα Κάλυψης Σας δίνεται το σύνολο Συναρτησιακών Εξαρτήσεων F. Βρείτε εάν τα AB E και D C καλύπτονται από το F X X + F: A D AB C D E AC B Καλύπτεται το AB E από το F; ΝΑΙ, επειδή το Ε {ΑΒ} +. Καλύπτεται το D C από το F; ΟΧΙ, επειδή το C D +. A {A, D, E} AB {A, B, C, D, E} (Επομένως AB είναι κλειδί) B {B} D {D, E} Συμπέρασμα: Το X + μας επιτρέπει να βρίσκουμε εάν η συναρτησιακή εξάρτηση της μορφής X Y καλύπτεται από το σύνολο FDs F. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 17

Παράδειγμα Απόδειξης Ισοδυναμίας Αποδείξτε ότι τα σύνολα FDs F και G είναι ισοδύναμα F= { SSN Ename, Pnumber {Pname, Plocation}, {Ssn, Pnumber} Hours } G= { SSN Ename, Pnumber {Pname, Plocation}, {Ssn, Pnumber} Ename,Pname, Plocation, Hours } Πρέπει να αποδείξουμε τις ακόλουθες δυο περιπτώσεις: a) Κάθε FD του G καλύπτεται από το F(δηλ., G + F + ) Τα πρώτα δυο FDs των συνόλων είναι τα ίδια. Για το τρίτο FD, υπολογίζουμε το {Ssn, Pnumber}+ (στo F) το οποίο είναι {Ssn, Pnumber, Ename, Pname, Plocation, Hours} Το {Ssn, Pnumber}+ (του F) καλύπτει τον τρίτο κανόνα του G εφόσον περιέχει όλα τα γνωρίσματα στο δεξί του μέλος (δηλ., Ename, Pname, Plocation, Hours) β) Κάθε FD του F καλύπτεται από το G(δηλ., F + G + ) Αντίστοιχα με το (a) βρίσκουμε ότι ο τρίτος κανόνας του F καλύπτεται από το {Ssn, Pnumber} + του G. Εφόσον το G καλύπτει το F και αντίστροφα, τα FDs είναι ισοδύναμα. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 18

Ελάχιστη Κάλυψη FDs F min Η Ελάχιστη Κάλυψη F min (Minimal Cover) ενός συνόλου εξαρτήσεων F, είναι iii) ένας Ελάχιστος αριθμός FDs, i) σε Κανονική Μορφή, και ii) Απλουστευμένη Μορφή I. Κανονική Μορφή : Κάθε εξάρτηση X {A 1,A 2,,A n } μετατρέπεται με IR4 (διάσπαση) σε X A 1,X A 2,, X A n π.χ., SSN {Name, Age} σε SSN Name και SSN Age. II. Απλουστευμένη Μορφή: Το αριστερό μέλος κάθε δυνατής εξάρτησης {Β 1,Β 2, Β n } X μετατρέπεται σε απλούστερη μορφή, π.χ., {B 1,B 2,,B n 1 } Χ ισοδύναμη με την αρχική III. π.χ., {SSN, Name} Age σε SSN Age Ελάχιστος Αριθμός: Οι περιττές εξαρτήσεις εξαλείφονται. Δηλαδή η X A εξαλείφεται εάν {F {X A}} + = F + O Αλγόριθμος 15.1 (Minimal Cover) στο βιβλίο, εφαρμόζει τα πιο πάνω τρία βήματα σε ένα σύνολο F για προσδιορισμό του F min EPL342: Databases Demetris Zeinalipour (University of Cyprus) 19

Παράδειγμα Ελάχιστης Κάλυψης Παράδειγμα: Βρείτε την ελάχιστη κάλυψη του συνόλου Συναρτησιακών Εξαρτήσεων E : {B A, D A, AB D}; Λύση Βήμα Ι (Κανονική Μορφή): Όλες οι FD είναι ήδη σε κανονική μορφή X A 1, X A 2,, X A n άρα δεν κάνουμε κάτι επιπλέον. Βήμα ΙΙ (Απλουστευμένη Μορφή): Η μόνη FD που έχει πάνω από 1 γνώρισμα στο αριστερό μέλος είναι η AB D. Επομένως πρέπει να δείξουμε ότι το E είναι ισοδύναμο είτε με το E : {B A, D A, B D} ή E : {B A, D A, A D}. Εμείς θα δείξουμε ότι E=E. 1. Μπορεί από το Β D να προκύψει το AB D(το καλύπτει); Αυτό ισχύει τετριμμένα λόγω της IR2 (επαυξητικής) 2. Μπορεί από το ΑΒ D να προκύψει το B D(το καλύπτει); Mε βάση το E={B A, D A, AB D}, προκύπτει ότι Β + ={B, A, D} το οποίο σημαίνει ότι το B D καλύπτεται από το Β + και κατ επέκταση από το Ε. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 20

Παράδειγμα Ελάχιστης Κάλυψης (συν.) Λύση (συνέχεια) Βήμα II: Ε : {B A, D A, B D} Βήμα ΙΙΙ (Ελάχιστος Αριθμός): Τώρα θα επιχειρήσουμε να βρούμε τις περιττές (redundant) FDs (αυτές που μπορούν να φύγουν χωρίς να αλλάξει η κλειστότητα E + ) Α) Διαγραφή του B A από το Ε : To B A μπορεί να εξαχθεί από τα B D και D A (μέσω μεταβατικής) συνεπώς είναι περιττό. Ενδιάμεσο Αποτέλεσμα: Ε : {D A, B D} B) Διαγραφή του D A από το Ε : To D A δεν μπορεί να εξαχθεί από το B D, άρα δεν μπορεί να διαγραφεί Γ) Διαγραφή του Β D από το Ε : To B D δεν μπορεί να εξαχθεί από το D A, άρα δεν μπορεί να διαγραφεί Επομένως η ελάχιστη κάλυψη του Ε είναι {D A, B D} EPL342: Databases Demetris Zeinalipour (University of Cyprus) 21

Ελάχιστο Σύνολο FDs Κάθε σύνολο από FDs έχει ένα ή περισσότερα ελάχιστα σύνολα (ανάλογα με ποια σειρά επιλέγουμε να κάνουμε την εκτέλεση) Π.χ., F MIN (E ): {D A, B D} και F MIN (E ): {B A, D A, A D} στο προηγούμενο παράδειγμα. Σημειώστε, ότι τα σύνολα αυτά έχουν διαφορετικό μέγεθος λόγω της διαφορετικής σειράς απλοποίησης που χρησιμοποιήθηκε. Επομένως, ένα σύνολο ονομάζεται Ελάχιστο ΟΧΙ επειδή περιέχει τον μικρότερο αριθμό από FDs αλλά επειδή ΔΕΝ μπορεί να απλοποιηθεί περαιτέρω. EPL342: Databases Demetris Zeinalipour (University of Cyprus) 22