Download - Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση
![Page 1: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/1.jpg)
8Συναρτησιακές Εξαρτήσεις και
Κανονικοποίηση
Πλεονασμός δεδομένων
Συναρτησιακές εξαρτήσεις
Κλειστότητα συναρτησιακών εξαρτήσεων
Κανονικές μορφές
Πλειονότιμες εξαρτήσεις
![Page 2: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/2.jpg)
2
• Με την κανονικοποίηση οι σχέσεις απλοποιούνται ώστε να εξαλειφθεί ο πλεονασμός των δεδομένων.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
Κανονικοποίηση (normalization)
![Page 3: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/3.jpg)
3
Πλεονασμός δεδομένων
• Ο πλεονασμός δεδομένων (data redundancy) ευθύνεται για τα εξής προβλήματα:– πρόβλημα ενημέρωσης δεδομένων,– πρόβλημα διαγραφής δεδομένων, και– πρόβλημα εισαγωγής δεδομένων.
• Για την αποφυγή πλεονασμού οι πίνακες τεμαχίζονται.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 4: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/4.jpg)
4
Συναρτησιακές εξαρτήσεις
• Οι συναρτησιακές εξαρτήσεις (functional dependencies) οφείλονται στις ιδιότητες που έχουν τα χαρακτηριστικά των οντοτήτων.
• Μία συναρτησιακή εξάρτηση μεταξύ X και Y συμβολί-ζεται με XY και ορίζει έναν περιορισμό ως προς τις τιμές των χαρακτηριστικών.
• Λέγεται ότι το σύνολο χαρακτηριστικών Y είναι συναρτησιακά εξαρτώμενο (functional dependent) από το σύνολο X.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 5: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/5.jpg)
5
Συναρτησιακές εξαρτήσεις
• Αν δύο πλειάδες έχουν ίδιες τιμές στα χαρακτηριστικά του συνόλου X, τότε θα έχουν ίδιες τιμές και στα χαρακτηριστικά του συνόλου Y.Π.χ. ΑΦΜ Όνομα, Καθηγητής Μάθημα
• Σε ένα σύνολο χαρακτηριστικών μπορεί να υπάρχουν τετριμμένες (trivial) συναρτησιακές εξαρτήσεις (πχ. ΑΦΜ, Όνομα Όνομα) αλλά και άλλες που μπορούν να συναχθούν.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 6: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/6.jpg)
6
Αξιώματα Armstrong
1. ανακλαστικός (reflexive) κανόνας : αν Y X , τότε XY.
2. επαυξητικός (augmentation) κανόνας:αν XY, τότε XZYZ.
3. μεταβατικός (transitive) κανόνας: αν XY και YZ , τότε XZ.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 7: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/7.jpg)
7
• Τα Αξιώματα του Armstrong μπορούν να αποδειχθούν.• Αποτελούν ένα σύνολο ορθό και πλήρες (sound and
complete) επειδή:– δεν παράγουν μη ορθές εξαρτήσεις, και – αρκούν για να παραχθεί το F+.
• Μπορούν να διατυπωθούν και άλλοι κανόνες, που αποδεικνύονται με τη βοήθεια των αξιωμάτων του Armstrong.
Συναρτησιακές εξαρτήσεις – Αξιώματα Armstrong
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 8: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/8.jpg)
8
Κανόνες παραγωγής συναρτησιακών εξαρτήσεων
4. κανόνας διάσπασης (decomposition): αν XYZ, τότε XY και XZ.
5. κανόνας ένωσης (union): αν XY και XZ , τότε XY Z.
6. ψευδο-μεταβατικός (pseudotransitive) κανόνας:αν XY και WYZ , τότε WXZ.
7. συσωρευτικός (accumulative) κανόνας:αν XYZ και ZBW, τότε XYBW.
8. γενικός ενοποιητικός (general unification) κανόνας:αν XY και ZW , τότε X U (Z-Y)YW.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 9: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/9.jpg)
9
Παράδειγμα εφαρμογής κανόνων παραγωγής ΣΕ
• Δίνονται τα χαρακτηριστικά W, U, V, X, Y, Z και οι συναρτησιακές εξαρτήσεις: WUV, UY, VXYZ.
• Ζητείται να αποδειχθεί ότι ισχύει: WXZ.• Mε διάσπαση από τη WUV προκύπτει WV.
Με επαύξηση προκύπτει WXVX.Με μεταβατικότητα προκύπτει WXYZ.Με διάσπαση προκύπτει WXZ.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 10: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/10.jpg)
10
Κλειστότητα συναρτησιακών εξαρτήσεων
• Το σύνολο των συναρτησιακών εξαρτήσεων που μπορούν να παραχθούν από ένα σύνολο εξαρτήσεων F λέγεται κλειστότητα (closure) και συμβολίζεται με F+.
• Ένα σύνολο G συναρτησιακών εξαρτήσεων καλύπτεται από (is covered) ένα άλλο σύνολο συναρτησιακών εξαρτήσεων F, όταν κάθε εξάρτηση που ανήκει στο G ανήκει και στο F+.
• Δύο σύνολα συναρτησιακών εξαρτήσεων F και G καλούνται ισοδύναμα (equivalent) αν ισχύει: F+=G+.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 11: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/11.jpg)
11
Κλειστότητα συνόλου χαρακτηριστικών
• Ο προσδιορισμός του συνόλου κλειστότητας F+ είναι δαπανηρός ακόμη και για μικρό σύνολο εξαρτήσεων F (δεν υπάρχει πολυωνυμικός αλγόριθμος).
• Με πολυωνυμικό αλγόριθμο μπορούμε να διαπιστώ-σουμε αν μία συναρτησιακή εξάρτηση AB ανήκει στο σύνολο F+, χωρίς προηγουμένως να δημιουργή-σουμε το σύνολο F+.
• Κλειστότητα του συνόλου χαρακτηριστικών X (attribute closure), ως προς το σύνολο των συναρτη-σιακών εξαρτήσεων F, είναι το σύνολο των χαρακτη-ριστικών που είναι συναρτησιακά εξαρτώμενα από το σύνολο X και το συμβολίζουμε με X+.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 12: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/12.jpg)
12
Αλγόριθμος εύρεσης κλειστότητας συνόλου χαρακτηριστικών
• Δίνεται η συναρτησιακή εξάρτηση ΑΒ και ζητείται να βρεθεί η κλειστότητα του χαρακτηριστικού Α.
• Με τον αλγόριθμο αυτό διαπιστώνεται αν μία συναρτησιακή εξάρτηση ΑΒ είναι περιττή ή όχι.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 13: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/13.jpg)
13
Εύρεση κλειστότητας συνόλου χαρακτηριστικών - παράδειγμα
• Δίνεται το σύνολο των εξαρτήσεων F: VYZ, VZW, WY, VYW.
• Εφαρμόζοντας τον κανόνα της διάσπασης προκύπτει: VY, VZ, VZW, WY, VYW.
• Αν για κάποια αποδειχθεί ότι το δεξιό σκέλος ανήκει στην κλειστότητα του αριστερού, τότε αυτή θα είναι περιττή, καθώς θα μπορεί να παραχθεί από τις υπόλοιπες εξαρτήσεις του F με βάση τους κανόνες παραγωγής.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 14: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/14.jpg)
14
Εύρεση κλειστότητας συνόλου χαρακτηριστικών – παράδειγμα
• Θεωρούμε την εξάρτηση VY. Ακολουθώντας τα βήματα του προηγούμενου αλγορίθμου έχουμε:
Βήμα 1ο: X=V. Βήμα 2ο: X=VZ λόγω της VZ. Βήμα 3ο: X=VZW λόγω της VZW. Βήμα 3ο: X=VZWY λόγω της WY. Βήμα 3ο: Δεν μπορούν να γίνουν άλλες επαναλήψεις. Βήμα 4ο: Y ⊆ VZWY, συνεπώς ισχύει η εξάρτηση
VY ∈ (F-{VY})+ και άρα είναι περιττή.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 15: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/15.jpg)
15
• Θεωρούμε την εξάρτηση VZ και έχουμε: Βήμα 1ο: X=V. Βήμα 2ο: X=VY λόγω της VY. Βήμα 3ο: X=VYW λόγω της VYW. Βήμα 3ο: Δεν μπορούν να γίνουν άλλες επαναλήψεις. Βήμα 4ο: Z ⊆ VYW, συνεπώς ισχύει ότι η εξάρτηση
VZ ∉ (F-{VZ})+ και άρα δεν είναι περιττή.
• Προσοχή, αν κάποια εξάρτηση αποδειχθεί περιττή, τότε πρέπει να εξαιρεθεί στη συνέχεια κατά την εξέταση άλλων εξαρτήσεων.
Εύρεση κλειστότητας συνόλου χαρακτηριστικών – παράδειγμα
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 16: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/16.jpg)
16
Η έννοια του υπερκλειδιού
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 17: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/17.jpg)
17
Εύρεση του κλειδιού
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 18: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/18.jpg)
18
Άσχετα χαρακτηριστικά
• Ένα χαρακτηριστικό μίας συναρτησιακής εξάρτησης ονομάζεται άσχετο (extraneous) αν είναι δυνατόν να απαλειφθεί χωρίς να αλλάξει η κλειστότητα του συνόλου των εξαρτήσεων.
• Έστω η εξάρτηση XY του συνόλου F. Ορίζουμε ότι ένα χαρακτηριστικό A είναι άσχετο αν:– A⊂X και το σύνολο F είναι ισοδύναμο με το
(F –{XY}) U {(X–A)Y}, ή – A⊂Y και το σύνολο F είναι ισοδύναμο με το
(F –{XY}) U {X(Y-A)}.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 19: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/19.jpg)
19
Ελάχιστα σύνολα συναρτησιακών εξαρτήσεων
• Ένα σύνολο εξαρτήσεων F καλείται ελάχιστο (minimal)
ή ανάγωγο (irreducible) αν ισχύουν οι εξής συνθήκες:– κάθε συναρτησιακή εξάρτηση του F έχει μόνο ένα
χαρακτηριστικό στο δεξιό μέρος.
– δεν μπορούμε να αντικαταστήσουμε μία εξάρτηση XY με
μία άλλη εξάρτηση ZY , όπου το Z X.
– δεν μπορούμε να αφαιρέσουμε κάποια συναρτησιακή εξάρ-
τηση από το F και να προκύψει ισοδύναμο σύνολο με το F.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 20: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/20.jpg)
20
Αλγόριθμος εύρεσης ελάχιστης κάλυψης
• Ένα σύνολο συναρτησιακών εξαρτήσεων Fmin καλείται ελάχιστη κάλυψη (minimal cover) του F, όταν το Fmin είναι ελάχιστο και ισοδύναμο με το F.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 21: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/21.jpg)
21
• Η πρώτη κανονική μορφή – 1KM (first normal form –1NF ) είναι κρίσιμη για το σχεσιακό μοντέλο, ενώ οι υπόλοιπες είναι προαιρετικές.
• Αν ένας πίνακας βρίσκεται σε μια κανονική μορφή τότε βρίσκεται και σε όλες τις προηγούμενες.
Κανονικές μορφές
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 22: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/22.jpg)
22
Κανονικές μορφές
• Η 2KM, η 3KM και η κανονική μορφή Boyce-Codd (BCNF) βασίζονται στις συναρτησιακές εξαρτήσεις μεταξύ των κλειδιών (πρωτεύοντα ή υποψήφια).
• Οι ανώτερες κανονικές μορφές (4KM, 5KM) βασίζονται στις πλειονότιμες (multivalued) εξαρτήσεις και στις εξαρτήσεις σύνδεσης (join).
• Η κανονικοποίηση (normalization) είναι μία διαδικασία όπου μη ικανοποιητικά σχήματα διασπώνται σε μικρότερα σχήματα με επιθυμητά χαρακτηριστικά.
• Η κανονικοποίηση επιτυγχάνει την εξάλειψη των ανωμαλιών κατά την εισαγωγή, διαγραφή, ενημέρωση.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 23: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/23.jpg)
23
Βασικά ζητήματα κανονικοποίησης
• Οι κανονικές μορφές παρέχουν:– ένα μεθοδολογικό πλαίσιο για ανάλυση σχημάτων με βάση
τα κλειδιά και τις συναρτησιακές εξαρτήσεις, και
– μία σειρά ελέγχων που διενεργούνται σε κάθε σχήμα σχέσης για την κανονικοποίηση της ΒΔ.
• ΔΕΝ υπάρχει εγγύηση της ποιότητας ενός σχήματος αν αυτό είναι σε κανονική μορφή γιατί δεν διασφαλίζεται:– η σύνδεση χωρίς απώλειες (lossless join), δηλαδή ότι δεν
εμφανίζεται το πρόβλημα των πλασματικών πλειάδων, και
– η διατήρηση των εξαρτήσεων (dependency preservation) σε κάποιες από τις σχέσεις του τελικού σχήματος.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 24: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/24.jpg)
24
Πρώτη κανονική μορφή
• Η 1ΚΝ θεωρείται τμήμα του τυπικού ορισμού μίας σχέσης και ορίζει ότι τα χαρακτηριστικά περιλαμ-βάνουν μόνο ατομικές (απλές, αδιαίρετες) τιμές, ενώ η τιμή ενός χαρακτηριστικού είναι μία μόνο τιμή από το πεδίο ορισμού του χαρακτηριστικού.
• Η 1ΚΜ απαγορεύει να έχουμε ως τιμή γνωρίσματος μία πλειάδα, ένα σύνολο τιμών ή συνδυασμό των δύο.
• Ο συνδυασμός των δύο οδηγεί σε εμφωλευμένες σχέσεις (nested relations), που είναι αποδεκτό από τη λεγόμενη N1NF (non-first normal from).
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 25: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/25.jpg)
25
Πρώτη κανονική μορφή - ΠαράδειγμαΟΝΟΜΑ_ΤΜ ΚΩΔ_ΤΜ ΔΙΕΥΘΥΝΤΗΣ ΤΟΠΟΘΕΣΙΕΣ_ΤΜ
Έρευνα 5 12345678 {Αθήνα, Πάτρα, Τρίπολη}
Διοίκηση 4 23456789 {Τρίπολη}
Πωλήσεις 1 34567890 {Αθήνα}• Ισχύει ΟΝΟΜΑ_ΤΜΤΟΠΟΘΕΣΙΕΣ_ΤΜ αλλά δεν έχουμε 1ΚΜ.
ΟΝΟΜΑ_ΤΜ ΚΩΔ_ΤΜ ΔΙΕΥΘΥΝΤΗΣ ΤΟΠΟΘΕΣΙΕΣ_ΤΜ
Έρευνα 5 12345678 Αθήνα
Έρευνα 5 12345678 Πάτρα
Έρευνα 5 12345678 Τρίπολη
Διοίκηση 4 23456789 Τρίπολη
Πωλήσεις 1 34567890 Αθήνα
• Έχουμε 1ΚΜ αλλά δεν ισχύει ΟΝΟΜΑ_ΤΜΤΟΠΟΘΕΣΙΕΣ_ΤΜ.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 26: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/26.jpg)
26
Πρώτη κανονική μορφή
• Το πλειονότιμο χαρακτηριστικό απομακρύνεται σε άλλη σχέση μαζί με το χαρακτηριστικό που το προσδιορίζει συναρτησιακά.
ΟΝΟΜΑ_ΤΜ ΚΩΔ_ΤΜ ΔΙΕΥΘΥΝΤΗΣ ΤΟΠΟΘΕΣΙΑ_ΤΜ
Έρευνα 5 12345678 {Αθήνα, Πάτρα, Τρίπολη}
Διοίκηση 4 23456789 {Τρίπολη}
Πωλήσεις 1 34567890 {Αθήνα}
ΟΝΟΜΑ_ΤΜ ΚΩΔ_ΤΜ ΔΙΕΥΘΥΝΤΗΣ
Έρευνα 5 12345678
Διοίκηση 4 23456789
Πωλήσεις 1 34567890
ΟΝΟΜΑ ΤΟΠΟΘΕΣΙΑ_ΤΜ
Έρευνα Αθήνα
Έρευνα Πάτρα
Έρευνα Τρίπολη
Διοίκηση Τρίπολη
Πωλήσεις Αθήνα
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 27: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/27.jpg)
27
Πρώτη κανονική μορφή
• Η 1ΚΜ απαγορεύει τα σύνθετα χαρακτηριστικά:– ΕΡΓΑΖΟΜΕΝΟΣ_ΕΡΓΟ(AT, ΟΝΟΜΑ, (ΕΡΓΑ(ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ))
• ΑΤ: Πρωτεύον κλειδί,
• ΚΩΔ_ΕΡΓΟΥ: διακριτικό, μερικό κλειδί.
• Μεταφέρουμε τα χαρακτηριστικά της εμφωλευμένης σχέσης σε μία νέα μαζί με το πρωτεύον κλειδί.
AT ΟΝΟΜΑΕΡΓΑ
ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ
AT ΟΝΟΜΑ AT ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ
• Η διαδικασία μπορεί να εφαρμοστεί αναδρομικά για πολλαπλά επίπεδα εμφώλευσης.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 28: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/28.jpg)
28
Πλήρης συναρτησιακή εξάρτηση
• Μία συναρτησιακή εξάρτηση ΧΥ καλείται πλήρης (full) όταν Α X: X–{A}↛yY, αλλιώς καλείται μερική (partial).
• Έστω το επόμενο σχήμα σε 1ΚΜ:
όπου
• Υπάρχουν προβλήματα κατά το χειρισμό.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 29: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/29.jpg)
29
Δεύτερη κανονική μορφή
• Ένας πίνακας που είναι σε 1ΚΜ είναι και σε 2ΚΜ όταν
ισχύει οποιοδήποτε από τα εξής:
– το πρωτεύον κλειδί αποτελείται από ένα και μόνο
χαρακτηριστικό,
– ο πίνακας δεν έχει χαρακτηριστικά που δεν αποτελούν κλειδί
(all-key relation), ή
– κάθε χαρακτηριστικό που δεν είναι κλειδί, είναι πλήρως
συναρτησιακά εξαρτώμενο από το πρωτεύον κλειδί.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 30: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/30.jpg)
30
Κανονικοποίηση σε 2ΚΜ
• Με βάση τα προηγούμενα, το προηγούμενο σχήμα πρέπει να διασπασθεί σε απλούστερα σχήματα ως εξής:
• Παρατηρούμε ότι ο πλεονασμός δεδομένων μειώθηκε αλλά δεν εξαλείφθηκε (πχ. επανάληψη του ονόματος ενός κτιρίου κάθε φορά που γίνεται ένα μάθημα).
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 31: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/31.jpg)
31
Μεταβατική εξάρτηση και 3ΚΜ
• Μία συναρτησιακή εξάρτηση ΧΥ λέγεται μεταβατική (transitive) αν υπάρχει σύνολο χαρακτηριστικών Ζ που δεν είναι υποσύνολο κλειδιού της R και ισχύουν ΧΖ και ΖΥ.
• Λέγεται ότι το χαρακτηριστικό Υ είναι εξαρτώμενο μεταβατικά από το Χ.
• Αν υπάρχει μεταβατική εξάρτηση, το εξαρτώμενο χαρακτηριστικό μεταφέρεται σε νέα σχέση μαζί με το χαρακτηριστικό που το προσδιορίζει συναρτησιακά.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 32: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/32.jpg)
32
Κανονικοποίηση σε 3ΚΜ
• Στο προηγούμενο σχήμα έχουμε τις εξαρτήσεις:– αριθ_μαθήματος αριθ_κτιρίου, και– αριθ_κτιρίου όνομα_κτιρίου.
που αποτελούν μία μεταβατική εξάρτηση.• Προκύπτει το νέο σχήμα:
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 33: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/33.jpg)
33
Κανονική μορφή Boyce-Codd
• Η BCNF επιβάλλει σε κάθε εξάρτηση XY το σύνολο X να αποτελεί είτε πρωτεύον κλειδί είτε εναλλακτικό κλειδί.
• Για να προσδιορίσουμε αν ένας πίνακας βρίσκεται σε BCNF αρκεί να εξετάσουμε όλες τις εξαρτήσεις XY ελέγχοντας αν το X αποτελεί κάποιο κλειδί (πρωτεύον ή εναλλακτικό) του πίνακα.
• Σε διαφορετική περίπτωση θα πρέπει να προχωρήσουμε σε διάσπαση του πίνακα έτσι ώστε να ικανοποιηθεί η συνθήκη της BCNF.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 34: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/34.jpg)
34
BCNF - Παράδειγμα
• Έστω η σχέση R(φοιτητής, μάθημα, διδάσκων) και η εξάρτηση (φοιτητής, μάθημα διδάσκων).
• Έστω ότι κάθε διδάσκων διδάσκει μόνο ένα μάθημα, ένα μάθημα μπορεί να διδαχθεί από περισσότερους του ενός διδάσκοντες, ενώ σε κάθε μάθημα ένας φοιτητής παρακολουθεί τις διαλέξεις ενός διδάσκοντα μόνο.
• Προκύπτει η εξάρτηση (διδάσκων μάθημα), όπου το αριστερό σκέλος δεν είναι κλειδί.
• Η σχέση R δεν βρίσκεται σε BCNF και πρέπει να διασπασθεί.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 35: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/35.jpg)
35
BCNF - Παράδειγμα
• Η σχέση R(φοιτητής, μάθημα, διδάσκων) μπορεί να διασπασθεί κατά τρεις τρόπους.– R1(μάθημα,φοιτητής) και R2(μάθημα,διδάσκων)
– R1(διδάσκων,μάθημα) και R2(διδάσκων,φοιτητής)
– R1(φοιτητής,μάθημα) και R2(φοιτητής,διδάσκων)
• Και οι τρεις χάνουν την εξάρτηση (φοιτητής, μάθημα διδάσκων).
• Ποιά είναι η καλύτερη ?
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 36: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/36.jpg)
36
Κανονικοποίηση σε BCNF
• Αν σε μία σχέση R η εξάρτηση AB παραβιάζει τη BCNF, τότε διασπούμε τη σχέση R σε δύο σχέσεις:– R1 με χαρακτηριστικά τα AB και κλειδί το Α, και
– R2 με χαρακτηριστικά τα Α(R–Α–Β).
• Στη σχέση R=(Φοιτητής, Μάθημα, Διδάσκων), η εξάρτηση (Διδάσκων Μάθημα) παραβιάζει τη BCNF, άρα:– R1(Διδάσκων,Μάθημα) με κλειδί το διδάσκοντα
– R2(Διδάσκων,Φοιτητής) με κλειδί και τα δύο χαρακτηριστικά.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 37: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/37.jpg)
37
Σχήματα χωρίς απώλειες
• Κατά τη διάσπαση ενός πίνακα μπορεί να χαθεί πληροφορία καθώς δεν προκύπτει ο αρχικός πίνακας από τη σύνδεση των απλούστερων.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 38: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/38.jpg)
38
Σχήματα χωρίς απώλειες
• Έστω σύνολο εξαρτήσεων F και πίνακας R που διασπά-
ται σε R1 και R2. Η διάσπαση είναι χωρίς απώλειες αν
τουλάχιστον μία από τις επόμενες δύο συναρτησιακές
εξαρτήσεις ανήκει στην κλειστότητα F+:
– R1 ∩ R2 R1 – R2, και
– R1 ∩ R2 R2 – R1
• Στο προηγούμενο παράδειγμα ισχύει ΧΥ, άρα:
– XY ∩ YZ XY-YZ ⇒ Y X, και
– XY ∩ YZ YZ-ΧΥ ⇒ Y Z.
• Καμία από αυτές δεν ανήκει στο F+.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 39: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/39.jpg)
39
Σχήματα χωρίς απώλειες
• Έστω σύνολο εξαρτήσεων F και πίνακας R που διασπάται στους υποπίνακες R1, R2, …, Rk.
• Με τη μέθοδο του tableau θα διαπιστωθεί αν η διάσπαση γίνεται χωρίς απώλειες.
• Δημιουργούμε ένα δισδιάστατο πίνακα, όπου οι στήλες αντιστοιχούν στα χαρακτηριστικά A1, A2, …, An του R,
ενώ οι γραμμές αντιστοιχούν στις σχέσεις R1, R2,…,Rk. H
θέση (i,j) του ταμπλώ λαμβάνει την τιμή aj αν το
χαρακτηριστικό Aj ανήκει στη σχέση Ri, αλλιώς λαμβάνει
την τιμή bij.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 40: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/40.jpg)
40
Σχήματα χωρίς απώλειες
• Δεδομένης μίας εξάρτησης XY, αν ταυτίζονται οι τιμές σε κάποια κελιά της στήλης X, τότε θα πρέπει να ταυτίζονται και οι αντίστοιχες τιμές στη στήλη Y.
• Επαναλαμβάνουμε το προηγούμενο βήμα για όλες τις εξαρτήσεις μέχρι να μην αλλάζουν τα περιεχόμενα του ταμπλώ.
• Έτσι αντικαθιστούμε τις τιμές bij με ai. Αν στο τέλος της
διαδικασίας υπάρχει έστω και μία γραμμή όπου όλα τα κελιά έχουν τιμές aj (για 1≤j≤ n), τότε η διάσπαση έχει
γίνει χωρίς απώλειες.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 41: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/41.jpg)
41
Σχήματα χωρίς απώλειες - παράδειγμα
• Έστω η σχέση R(X,Y,Z,W) και το σύνολο των εξαρτήσεων F: XZ, YZ, ZW.
• Η σχέση R διασπάται στις: R1(X,Y), R2(Y,W), R3(X,Y,Z).
• Προκύπτει το ταμπλώ.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 42: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/42.jpg)
42
Σχήματα χωρίς απώλειες – παράδειγμα
• Από την εξάρτηση XZ προκύπτει το ταμπλώ:
• Από την εξάρτηση ΥΖ προκύπτει το ταμπλώ:
• Από την εξάρτηση ZW προκύπτει το ταμπλώ:
• Η πρώτη και η τρίτη γραμμή περιέχουν μόνο τιμές aj, άρα η διάσπαση είναι χωρίς απώλειες.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 43: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/43.jpg)
43
Πλειονότιμες (multivalued) εξαρτήσεις
• Οι πλειονότιμες εξαρτήσεις είναι απόρροια της 1ΚΜ, όπου δεν επιτρέπονται πλειονότιμα χαρακτηριστικά.
• Δοθείσης σχέσης R και 3 συνόλων χαρακτηριστικών A,B,C ⊂ R, λέγεται ότι ισχύει A↠B αν και μόνο αν το σύνολο των τιμών του συνόλου χαρακτηριστικών B εξαρτάται από την τιμή του συνόλου χαρακτηριστικών A και όχι του συνόλου χαρακτηριστικών C.
• Έχει αποδειχθεί ότι ισχύει και η εξάρτηση A↠C.• Σε μία σχέση με δύο ή περισσότερα πλειονότιμα
χαρακτηριστικά, πρέπει να επαναληφθούν όλες οι τιμές του ενός για κάθε τιμή του άλλου, αλλιώς, φαίνεται ότι υπάρχει εξάρτηση μεταξύ των χαρακτηριστικών.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 44: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/44.jpg)
44
Πλειονότιμες εξαρτήσεις - παράδειγμα
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 45: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/45.jpg)
45
Κανόνες παραγωγής πλειονότιμων εξαρτήσεων
1. ανακλαστικός (reflexive) κανόνας:
αν Y X , τότε X↠Y.
2. επαυξητικός (augmentation) κανόνας:
αν X ↠ Y, τότε XZ ↠ YZ.
3. μεταβατικός κανόνας (transitive) κανόνας:
αν X ↠ Y και Y ↠ Z , τότε X ↠ Z.
4. κανόνας διάσπασης (decomposition) :
αν X↠Y, X↠Z, τότε X↠Y∩Z, X↠Y-Z και X↠Z-Y.
5. κανόνας ένωσης (union):
αν X ↠ Y και X ↠ Z , τότε X ↠ Y Z.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 46: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/46.jpg)
46
Κανόνες παραγωγής πλειονότιμων εξαρτήσεων
6. ψευδο-μεταβατικός (pseudotransitive) κανόνας:αν X ↠ Y και WY ↠ Z, τότε WX ↠ Z.
7. συμπληρωματικός (complementation) κανόνας: αν X ↠ Y τότε X ↠ R-(XY).
8. συγκολλητικός (coalescence) κανόνας: αν XY και υπάρχει κάποιο χαρακτηριστικό W τέτοιο ώστε W ∩ Y= ∅ και W↠Z και Z ⊆ Y, τότε X↠Z.
9. αντιγραφικός (replication) κανόνας: αν X Y τότε Χ ↠ Y.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 47: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/47.jpg)
47
Παράδειγμα εφαρμογής κανόνων παραγωγής πλειονότιμων εξαρτήσεων
Δίνεται ότι R(A,B,C,D,E,F) και D={AB, BEF, CDE}
• Να αποδειχθεί ότι A CDEF
• Να αποδειχθεί ότι Α EF
• Να αποδειχθεί ότι Α CD
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
Αντιστοίχως προς τα σύμβολα F/F+ χρησιμοποιείται το σύμβολο D+ για την κλειστότητα του συνόλου πλειονότιμων και συναρτησιακών εξαρτήσεων.
![Page 48: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/48.jpg)
48
Τέταρτη κανονική μορφή
• Ένας πίνακας R βρίσκεται στην 4ΚΜ όταν βρίσκεται σε BCNF και δεν περιέχει πλειονότιμες εξαρτήσεις.
• Για το μετασχηματισμό στην 4ΚΜ ο πίνακας R διασπάται σε απλούστερους ώστε να καταργηθούν οι πλειονότιμες εξαρτήσεις.
• Δεδομένης της πλειονότιμης εξάρτησης Χ↠Υ, διασπούμε την R σε δύο σχέσεις R1 και R2 όπου:– η R1 έχει χαρακτηριστικά τα XY, ενώ
– η R2 έχει χαρακτηριστικά τα R–Y.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 49: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/49.jpg)
49
Τέταρτη κανονική μορφή - παράδειγμα
• Η προηγούμενη σχέση διασπάται σε δύο απλούστερα σχήματα που είναι σε 4ΚΜ.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 50: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/50.jpg)
50
Τέταρτη κανονική μορφή – δεύτερο παράδειγμα• Έστω το σχήμα: Διευθυντής(ID, παιδιά, υφιστάμενοι).• Κάθε διευθυντής μπορεί να έχει >1 παιδί και >1
υφιστάμενο.• Η σχέση είναι all-key άρα είναι σε BCNF, όμως
παραβιάζει την 4KM.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
ID Child
Employee
Jim Beth Alice
Mary Bob Jane
Mary Bob Adam
ID Child
Jim Beth
Mary Bob
ID Employee
Jim Alice
Mary Jane
Mary Adam
![Page 51: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/51.jpg)
51
Σχήματα χωρίς απώλειες
• Η διάσπαση πρέπει να γίνεται χωρίς απώλειες.Δηλαδή, αν στους παραγόμενους πίνακες εφαρμοσθεί φυσική σύνδεση, πρέπει να προκύψει η αρχική σχέση.Μία διάσπαση είναι χωρίς απώλειες αν τουλάχιστον μία από τις επόμενες δύο πλειονότιμες εξαρτήσεις ανήκει στην κλειστότητα F+:
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
• Υπάρχουν περιπτώσεις όπου ένας πίνακας πρέπει να διασπασθεί σε περισσότερους από δύο πίνακες. Οι σπάνιες αυτές περιπτώσεις καλύπτονται από την 5ΚΜ και τις εξαρτήσεις σύνδεσης.
― R1 ∩ R2 ↠ R1–R2
― R1 ∩ R2 ↠ R2–R1
![Page 52: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/52.jpg)
52
Εξαρτήσεις σύνδεσης (join dependencies) • Έστω ένας πίνακας R και R1, R2, …, Rn υποσύνολα των
χαρακτηριστικών του R, έτσι ώστε R = R1 U … U Rn.Ο πίνακας R περιέχει μία εξάρτηση σύνδεσης αν κάθε γραμμή του πίνακα ισούται με τη σύνδεση των προβο-λών στα χαρακτηριστικά των υποσυνόλων R1,R2,…,Rn.
• Δηλ, ο πίνακας R περιέχει εξάρτηση σύνδεσης αν ισχύει:
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
• Mία πλειονότιμη εξάρτηση είναι μερική περίπτωση της εξάρτησης σύνδεσης.
• Μία πλειονότιμη εξάρτηση είναι τετριμμένη (trivial) αν ισχύει Ri=R.
![Page 53: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/53.jpg)
53
Πέμπτη κανονική μορφή
• Ένας πίνακας βρίσκεται στην 5KM ή κανονική μορφή
προβολής-σύνδεσης (project-join normal form - PJNF)
αν δεν περιέχει καμία εξάρτηση σύνδεσης.
• Για την κατάργηση της εξάρτησης σύνδεσης ο αρχικός
πίνακας πρέπει να διασπασθεί, ενώ η φυσική σύνδεση
όλων των πινάκων που προκύπτουν από τη διάσπαση
να δίνει ως αποτέλεσμα τον αρχικό πίνακα.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 54: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/54.jpg)
54
Πέμπτη κανονική μορφή – παράδειγμα
• Έστω ένας πίνακας R με δεδομένα σχετικά με τα μαθήματα, διδάσκοντες και φοιτητές. Υποθέτουμε ότι:– ένας διδάσκων μπορεί να προσφέρει περισσότερα του ενός
μαθήματα,
– κάθε μάθημα μπορεί να προσφέρεται από περισσότερους του ενός διδάσκοντες σε παράλληλες τάξεις,
– ένας φοιτητής παρακολουθεί ένα μόνο διδάσκοντα για κάθε μάθημα που δηλώνει.
• Ο πίνακας αυτός δεν περιέχει πλειονότιμες εξαρτήσεις, αλλά περιέχει μία εξάρτηση σύνδεσης.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 55: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/55.jpg)
55
Πέμπτη κανονική μορφή – παράδειγμα
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 56: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/56.jpg)
56
Πέμπτη κανονική μορφή – παράδειγμα
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
![Page 57: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/57.jpg)
57
Έκτη κανονική μορφή
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
• Ένα σχήμα ανήκει στην 6η Κανονική Μoρφή (DKNF – Domain-Key Normal Form) αν συντρέχουν κάποιοι περιορισμοί ως προς το κλειδί και το πεδίο του.
• Δεν υπάρχει κάποιος τυπικός ορισμός για την DKNF.
• Έχει μικρή χρησιμότητα.
![Page 58: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/58.jpg)
58
Έκτη κανονική μορφή – παράδειγμα
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
• Έστω η σχέση Account(acct#, balance), όπου “acct# balance” και ο περιορισμός “αν το πρώτο ψηφίο ενός λογαριασμού είναι 1, τότε το υπόλοιπο είναι ≥1000”
• Για να φέρουμε τη σχέση σε DKNF, τη διασπούμε οριζόντια σε δύο σχέσεις: • Regular_Acct (acct#, balance) με κλειδί το acct# και περιο-
ρισμό του πεδίου ώστε το πρώτο ψηφίο του acct# να είναι ≠1• Special_Acct (acct#, balance) με κλειδί acct# και περιορι-
σμούς: (1) το πρώτο ψηφίο του acct# να είναι 1, και (2) να ισχύει balance≥1000.
• Και οι δύο σχέσεις είναι σε DKNF. • Οι περιορισμοί επιβάλλονται μέσα από τη DDL
![Page 59: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/59.jpg)
59
Επίπεδα κανονικοποίησης
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
• Συνοψίζοντας, τα επίπεδα κανονικοποίησης είναι:– 1η Κανονική Μορφή (1NF)
– 2η Κανονική Μορφή (2NF)
– 3η Κανονική Μορφή (3NF)
– Κανονική Μορφή Boyce-Codd (BCNF)
– 4η Κανονική Μορφή (4NF)
– 5η Κανονική Μορφή (5NF, PJNF)
– 6η Κανονική Μορφή (6NF, DKNF)
Redundancy
Num
ber
of T
able
s
Com
plex
ity
![Page 60: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/60.jpg)
60
Αποκανονικοποίηση
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
• Κατά την κανονικοποίηση το πλήθος των σχέσεων μπορεί να αυξηθεί υπερβολικά
• Η σύνδεση (join) αυτών των πινάκων έχει ως συνέπεια αυξημένο I/O και πολυπλοκότητα, άρα μειωμένη χρονική επίδοση
• Οι αντιθέσεις μεταξύ του σωστού σχεδιασμού και της ταχύτητας επεξεργασίας οδηγούν σε συμβιβασμούς: αποκανονικοποίηση
![Page 61: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/61.jpg)
61
Αποκανονικοποίηση
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
• Οι μη κανονικοποιημένοι πίνακες έχουν τα εξής μειονεκτήματα– οι ενημερώσεις (updates) είναι βραδύτερες γιατί
επεμβαίνουν σε μεγαλύτερους πίνακες– η χρήση καταλόγων (index) είναι δυσκολότερη– η δημιουργία όψεων (views) είναι δυσκολότερη
• Προσεκτική χρήση μη κανονικοποιημέων πινάκων– υπό ποίες προϋποθέσεις είναι καλύτερη επιλογή?
Συνήθως φθάνουμε μέχρι την 3ΚΜ ή την BCNF για την αποφυγή των ανωμαλιών
Συνήθως φθάνουμε μέχρι την 3ΚΜ ή την BCNF για την αποφυγή των ανωμαλιών
![Page 62: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/62.jpg)
62
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση
Κανονικοποίηση και Διάγραμμα ER
• Το Διάγραμμα Οντοτήτων-Συσχετίσεων δίνει τη μεγάλη εικόνα των απαιτήσεων και των λειτουργιών ενός οργανισμού.
• Η κανονικοποίηση εστιάζει στα χαρακτηριστικά των οντοτήτων και δίνει τη μικρή εικόνα των οντοτήτων του διαγράμματος ER.
• Οι δύο τεχνικές αλληλοσυμπληρώνονται.• Πρέπει να βεβαιωθούμε ότι οι οντότηες που θα προ-
κύψουν από το μοντέλο ER ικανοποιούν τις κανονικές μορφές πριν δημιουργήσουμε τους πίνακες.
![Page 63: Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση](https://reader036.vdocuments.site/reader036/viewer/2022070404/56813c0a550346895da573d5/html5/thumbnails/63.jpg)
63
Σύνοψη
• Στόχος της κανονικοποίησης είναι η κατάργηση του πλεονασμού δεδομένων, για την αποφυγή προβλημάτων στις εισαγωγές, διαγραφές και ενημερώσεις δεδομένων.
• Μία συναρτησιακή εξάρτηση (X↛Y) δηλώνει ότι το σύνολο χαρα-κτηριστικών Y είναι συναρτησιακά εξαρτώμενο από το σύνολο X. Με τους κανόνες παραγωγής μπορούμε να παράγουμε νέες συναρτησιακές εξαρτήσεις.
• Το σύνολο όλων των συναρτησιακών εξαρτήσεων που παράγονται από ένα αρχικό σύνολο εξαρτήσεων F με τους κανόνες παραγωγής, συμβολίζεται με F+ και καλείται κλειστότητα.
• Οι κανονικές μορφές (ΚΜ) προκύπτουν με διαδοχικές διασπάσεις των πινάκων. Απλούστερη είναι η 1ΚΜ και πιο περιοριστική είναι η 6ΚΜ. Στην πράξη, οι πίνακες κανονικοποιούνται συνήθως μέχρι την BCNF, ενώ σε σπάνιες περιπτώσεις απαιτείται η κανονικοποίηση σε ανώτερες κανονικές μορφές λόγω ύπαρξης πλειονότιμων εξαρτήσεων και εξαρτήσεων σύνδεσης.
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση