390 likes | 541 Views
8. Πλεονασμός δεδομένων Συναρτησιακές εξαρτήσεις Κλειστότητα συναρτησιακών εξαρτήσεων Κανονικές μορφές. Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση. Κεφάλαιο 8 : Συναρτησιακές εξαρτήσεις και κανονικοποίηση. Κανονικοποίηση ( normalization ).
E N D
8 • Πλεονασμός δεδομένων • Συναρτησιακές εξαρτήσεις • Κλειστότητα συναρτησιακών εξαρτήσεων • Κανονικές μορφές Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Κανονικοποίηση (normalization) • Με την κανονικοποίηση οι σχέσεις απλοποιούνται ώστε να εξαλειφθεί ο πλεονασμός των δεδομένων.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πλεονασμός δεδομένων • Ο πλεονασμός δεδομένων (data redundancy) ευθύνεται για τα εξής προβλήματα: • πρόβλημα ενημέρωσης δεδομένων, • πρόβλημα διαγραφής δεδομένων, και • πρόβλημα εισαγωγής δεδομένων. • Για την αποφυγή πλεονασμού οι πίνακες τεμαχίζονται.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Συναρτησιακές εξαρτήσεις • Μία συναρτησιακή εξάρτηση μεταξύ X και Y συμβολί-ζεται με XY και ορίζει έναν περιορισμό ως προς τις τιμές των χαρακτηριστικών. • Λέγεται ότι το σύνολο χαρακτηριστικών Y είναι συναρτησιακά εξαρτώμενο (functional dependent) από το σύνολο X.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Συναρτησιακές εξαρτήσεις • Αν δύο πλειάδες έχουν ίδιες τιμές στα χαρακτηριστικά του συνόλου X, τότε θα έχουν ίδιες τιμές και στα χαρακτηριστικά του συνόλου Y. • Σε ένα σύνολο χαρακτηριστικών μπορεί να υπάρχουν τετριμμένες (trivial) συναρτησιακές εξαρτήσεις(πχ. ΑΦΜ, Όνομα Όνομα) αλλά και άλλες που μπορούν να συναχθούν.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Αξιώματα Armstrong • ανακλαστικός (reflexive) κανόνας: • αν Y X , τότε XY. • επαυξητικός (augmentation) κανόνας: • αν XY, τότε XZYZ. • μεταβατικός (transitive) κανόνας: • αν XY και YZ , τότε XZ.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Άλλοι Κανόνες παραγωγής συναρτησιακών εξαρτήσεων 4. κανόνας ένωσης (union): αν XY και XZ , τότε XY Z. 5. κανόνας διάσπασης (decomposition): αν XYZ, τότε XY και XZ.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Παράδειγμα εφαρμογής κανόνων παραγωγής ΣΕ • Δίνεται πίνακας R με τα χαρακτηριστικά W, U, V, X, Y, Z και οι συναρτησιακές εξαρτήσεις: WUV, UY, VXYZ. • Ζητείται να αποδειχθεί ότι ισχύει: WXZ. • Λύση: • Mε διάσπασηαπό τη WUV προκύπτει WV. • Με επαύξηση προκύπτει WXVX. • Με μεταβατικότητα προκύπτει WXYZ. • Με διάσπαση προκύπτει WXZ.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Κλειστότητα συναρτησιακών εξαρτήσεων • Το σύνολο των συναρτησιακών εξαρτήσεων που μπορούν να παραχθούν από ένα σύνολο εξαρτήσεων F λέγεται κλειστότητα (closure)και συμβολίζεται με F+. • Ο προσδιορισμός του συνόλου κλειστότητας F+ είναι δαπανηρός αλγοριθμικά ακόμη και για μικρό σύνολο εξαρτήσεων F
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Κλειστότητα συνόλου χαρακτηριστικών • Κλειστότητα του συνόλου χαρακτηριστικών X (attribute closure), ως προς το σύνολο των συναρτη-σιακών εξαρτήσεων F, είναι το σύνολο των χαρακτη-ριστικών που είναι συναρτησιακά εξαρτώμενα από το σύνολο των χαρακτηριστικών X και το συμβολίζουμε με X+.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Αλγόριθμος εύρεσης κλειστότητας συνόλου χαρακτηριστικών X • Δίνεται πίνακαςRκαι οι συναρτησιακές εξαρτήσειςF+ μεταξύ των πεδίων του πίνακα. • Να βρεθεί η κλειστότητα του χαρακτηριστικού Α.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Παράδειγμα 1 • Δίνεται πίνακαςR (V, Y, Z, W)και το • F+ = {VZ, VZW, WY, VYW} • Να βρεθεί η κλειστότητα του χαρακτηριστικού VΛύση: • Βήμα 1ο: X=V. • Βήμα 2ο: X=VZ λόγω της VZ. • Βήμα 3ο: X=VZW λόγω της VZW. • Βήμα 3ο: X=VZWY λόγω της WY. • Βήμα 3ο: Δεν μπορούν να γίνουν άλλες επαναλήψεις.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Παράδειγμα 2 • Δίνεται πίνακαςR ( V, Y, Z, W) και το • F+ = {VΥ, WY, VW} • Να βρεθεί η κλειστότητα του χαρακτηριστικού V • Λύση: • Βήμα 1ο: X=V. • Βήμα 2ο: X=VY λόγω της VY. • Βήμα 3ο: X=VYW λόγω της VW. • Βήμα 3ο: Δεν μπορούν να γίνουν άλλες επαναλήψεις. • MΠΟΡΕΙ ΝΑ ΓΙΝΕΙ ΥΠΟΨΗΦΙΟ ΠΡΩΤΕΥΟΝ ΚΛΕΙΔΙ ΤΟ V?
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Έστω ότι μας δίνεται ένας πίνακαςRκαι οι εξαρτήσεις F+ μεταξύ των πεδίων του. Πώς βρίσκουμε τα υποψήφια κλειδιά? Βήμα 1ο: Βρες τα χαρακτηριστικά που δεν εμφανίζονται ούτε στην αριστερή, ούτε στην δεξιά πλευρά μιας συναρτησιακής εξάρτησης. Βήμα 2ο: Βρες τα χαρακτηριστικά που εμφανίζονται μόνο στη δεξιά πλευρά. Βήμα 3ο: Βρες τα χαρακτηριστικά που εμφανίζονται μόνο στην αριστερή πλευρά. Βήμα 4ο: Συνδύασε τα χαρακτηριστικά του βήματος 1 & 3. Βήμα 5ο: Βρες την κλειστότητα των χαρακτηριστικών του βήματος 4. Αν σε αυτήν ανήκουν όλα τα υπόλοιπα χαρακτηριστικά τότε είναι υποψήφιο κλειδί. Διαφορετικά, επανέλαβε τα βήματα 4 & 5 προσαρτώντας κάθε φορά ένα χαρακτηριστικό που δεν συμπεριλαμβάνεται στο βήμα 2 & 4.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Παράδειγμα 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 είναι το ABCDFΕG. Άρα το ABCD είναι υποψήφιο κλειδί.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Παράδειγμα 2 (Εύρεση υποψηφίων κλειδιών) • Έστω R=(A,B,C,D) μία σχέση και F={ABC-> D, • D -> A} ένα σύνολο εξαρτήσεων στη σχέση αυτή. Βρείτε ένα υποψήφιο κλειδί στην R. • Λύση: • Βήμα 1ο: -. • Βήμα 2ο: -. • Βήμα 3ο: BC. • Βήμα 4ο: BC. • Βήμα 5ο:Η κλειστότητα του BC είναι το BC. • H κλειστότητα του ABC είναι το ABCD. Άρα το ΑBC είναι υποψήφιο κλειδί.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Κανονικοποίηση • Η κανονικοποίηση(normalization) είναι μία διαδικασία όπου μη ικανοποιητικά σχήματα διασπώνται σε μικρότερα σχήματα με επιθυμητά χαρακτηριστικά. • Η κανονικοποίησηεπιτυγχάνεται η εξάλειψη των ανωμαλιών κατά την εισαγωγή, διαγραφή, ενημέρωση. • Οι κανονικές μορφές παρέχουν: • ένα μεθοδολογικό πλαίσιο για ανάλυση σχημάτων με βάση τα κλειδιά και τις συναρτησιακές εξαρτήσεις.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Κανονικές μορφές • Η πρώτηκανονική μορφή– 1KM(first normal form –1NF ) είναι κρίσιμη για το σχεσιακό μοντέλο, ενώ οι υπόλοιπες είναι προαιρετικές. • Αν ένας πίνακας βρίσκεται σε μια κανονική μορφή τότε βρίσκεται και σε όλες τις προηγούμενες.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Βασικά ζητήματα κανονικοποίησης • Η 2KM, η 3KM και η κανονική μορφή Boyce-Codd (BCNF) βασίζονται στις συναρτησιακές εξαρτήσεις μεταξύ των κλειδιών (πρωτεύοντα ή υποψήφια). • Οι ανώτερες κανονικές μορφές (4KM, 5KM) βασίζονται στις πλειονότιμες (multivalued) εξαρτήσεις και στις εξαρτήσεις σύνδεσης (join).
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πρώτη κανονική μορφή • Η 1ΚΝ θεωρείται τμήμα του τυπικού ορισμού μίας σχέσηςκαι ορίζει ότι τα χαρακτηριστικά περιλαμ-βάνουν μόνο ατομικές (απλές, αδιαίρετες) τιμές. • Κάθε εγγραφή πρέπει να είναι μοναδική. Αυτό το διασφαλίζει το πρωτεύον κλειδί. • Δεν υπάρχουν σύνθετα χαρακτηριστικά • Δεν υπάρχουν χαρακτηριστικά πολλαπλών τιμών.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πρώτη κανονική μορφή - Παράδειγμα • .
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πλήρης συναρτησιακή εξάρτηση • Μία συναρτησιακή εξάρτηση ΧΥ καλείται πλήρης (full) όταν Α X: X–{A}↛Y, αλλιώς καλείται μερική(partial). • Έστω το επόμενο σχήμα σε 1ΚΜ: όπου • Υπάρχουν προβλήματα κατά το χειρισμό.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Δεύτερη κανονική μορφή • Ένας πίνακας που είναι σε 1ΚΜ είναι και σε 2ΚΜ όταν ισχύει οποιοδήποτε από τα εξής: • το πρωτεύον κλειδί αποτελείται από ένα και μόνο χαρακτηριστικό, • ο πίνακας δεν έχει χαρακτηριστικά που δεν ανήκουν στο κλειδί (all-key relation), ή • κάθε χαρακτηριστικό που δεν είναι κλειδί, είναι πλήρως συναρτησιακά εξαρτώμενο από το πρωτεύον κλειδί.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Κανονικοποίηση σε 2ΚΜ • Με βάση τα προηγούμενα, το προηγούμενο σχήμα πρέπει να διασπασθεί σε απλούστερα σχήματα ως εξής: • Παρατηρούμε ότι ο πλεονασμός δεδομένων μειώθηκε αλλά δεν εξαλείφθηκε (πχ. επανάληψη του ονόματος ενός κτιρίου κάθε φορά που γίνεται ένα μάθημα).
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Μεταβατική εξάρτηση και 3ΚΜ • Μία συναρτησιακή εξάρτηση ΧΥ λέγεται μεταβατική (transitive) αν υπάρχει σύνολο χαρακτηριστικών Ζ που είναι εκτός κλειδιού της R και ισχύουν ΧΖ και ΖΥ. • Αν υπάρχει μεταβατική εξάρτηση, το εξαρτώμενο χαρακτηριστικό μεταφέρεται σε νέα σχέση μαζί με το χαρακτηριστικό που το προσδιορίζει συναρτησιακά.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Κανονικοποίηση σε 3ΚΜ • Στο προηγούμενο σχήμα έχουμε τις εξαρτήσεις: • αριθ_μαθήματος αριθ_κτιρίου, και • αριθ_κτιρίου όνομα_κτιρίου. που αποτελούν μία μεταβατική εξάρτηση. • Προκύπτει το νέο σχήμα:
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Κανονική μορφή Boyce-Codd • Η BCNF επιβάλλει σε κάθε εξάρτηση XY το σύνολο X να αποτελεί είτε πρωτεύον κλειδί είτε εναλλακτικό κλειδί. • Για να προσδιορίσουμε αν ένας πίνακας βρίσκεται σε BCNF αρκεί να εξετάσουμε όλες τις εξαρτήσεις XY ελέγχοντας αν το X αποτελεί πρωτεύον ή εναλλακτικό κλειδί του πίνακα. • Σε διαφορετική περίπτωση θα πρέπει να προχωρήσουμε σε διάσπαση του πίνακα έτσι ώστε να ικανοποιηθεί η συνθήκη της BCNF.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση BCNF - Παράδειγμα • Έστω η σχέση R(φοιτητής, μάθημα, διδάσκων) και η εξάρτηση (φοιτητής, μάθημα διδάσκων). • Έστω ότι κάθε διδάσκων διδάσκει μόνο ένα μάθημα. • Προκύπτει η εξάρτηση (διδάσκων μάθημα), όπου το αριστερό σκέλος δεν είναι κλειδί. • Η σχέση R δεν βρίσκεται σε BCNF και πρέπει να διασπασθεί.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση BCNF - Παράδειγμα • Η σχέση R(φοιτητής, μάθημα, διδάσκων) μπορεί να διασπασθεί ως εξής: • R1(Διδάσκων, Μάθημα) με κλειδί το διδάσκοντα • R2(Μάθημα, Φοιτητής) με κλειδί και τα δύο χαρακτηριστικά.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πλειονότιμες (multivalued) εξαρτήσεις • Οι πλειονότιμες εξαρτήσεις είναι απόρροια της 1ΚΜ, όπου δεν επιτρέπονται πλειονότιμα χαρακτηριστικά. • Δοθείσης σχέσης R και 3 συνόλων χαρακτηριστικών A,B,C ⊂R, λέγεται ότι ισχύει A↠B αν και μόνο αν το σύνολο των τιμών του συνόλου χαρακτηριστικών B εξαρτάται από την τιμή του συνόλου χαρακτηριστικών A και όχι του συνόλου χαρακτηριστικών C.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Τέταρτη κανονική μορφή • Ένας πίνακας R βρίσκεται στην 4ΚΜ όταν βρίσκεται σε BCNF και δεν περιέχει πλειονότιμες εξαρτήσεις. • Για το μετασχηματισμό στην 4ΚΜ ο πίνακας R διασπάται σε απλούστερους ώστε να καταργηθούν οι πλειονότιμες εξαρτήσεις. • Δεδομένης της πλειονότιμης εξάρτησης Χ↠Υ, διασπούμε την R σε δύο σχέσεις R1 και R2 όπου: • η R1 έχει χαρακτηριστικά τα XY, ενώ • η R2 έχει χαρακτηριστικά τα R–Y.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Τέταρτη κανονική μορφή - παράδειγμα
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Τέταρτη κανονική μορφή - παράδειγμα • Η προηγούμενη σχέση διασπάται σε δύο απλούστερα σχήματα που είναι σε 4ΚΜ.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Εξαρτήσεις σύνδεσης (join dependencies) • Έστω ένας πίνακας R και R1, R2, …, Rn υποσύνολα των χαρακτηριστικών του R, έτσι ώστε R = R1 U… URn.Ο πίνακας R περιέχει μία εξάρτηση σύνδεσης αν κάθε γραμμή του πίνακα ισούται με τη σύνδεση των προβο-λών στα χαρακτηριστικά των υποσυνόλων R1,R2,…,Rn. • Τυπικότερα, ο πίνακας R περιέχει εξάρτηση σύνδεσης αν ισχύει η σχέση: • Mία πλειονότιμη εξάρτηση είναι μερική περίπτωση της εξάρτησης σύνδεσης.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πέμπτη κανονική μορφή • Ένας πίνακας βρίσκεται στην 5KM ή κανονική μορφή προβολής-σύνδεσης (project-join normal form - PJNF) αν δεν περιέχει καμία εξάρτηση σύνδεσης. • Για την κατάργηση της εξάρτησης σύνδεσης ο αρχικός πίνακας πρέπει να διασπασθεί, ενώ η φυσική σύνδεση όλων των πινάκων που προκύπτουν από τη διάσπαση να δίνει ως αποτέλεσμα τον αρχικό πίνακα.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πέμπτη κανονική μορφή – παράδειγμα • Έστω ένας πίνακας R με δεδομένα σχετικά με τα μαθήματα, διδάσκοντες και φοιτητές. Υποθέτουμε ότι: • ένας διδάσκων μπορεί να προσφέρει περισσότερα του ενός μαθήματα, • κάθε μάθημα μπορεί να προσφέρεται από περισσότερους του ενός διδάσκοντες σε παράλληλες τάξεις, • ένας φοιτητής παρακολουθεί ένα μόνο διδάσκοντα για κάθε μάθημα που δηλώνει. • Ο πίνακας αυτός δεν περιέχει πλειονότιμες εξαρτήσεις, αλλά περιέχει μία εξάρτηση σύνδεσης.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πέμπτη κανονική μορφή – παράδειγμα
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πέμπτη κανονική μορφή – παράδειγμα
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Σύνοψη • Οι κανονικές μορφές προκύπτουν με διαδοχικές διασπάσεις των πινάκων. Απλούστερη είναι η 1ΚΜ και πιο περιοριστική είναι η 5ΚΜ. Στην πράξη, οι πίνακες κανονικοποιούνται συνήθως μέχρι την BCNF.