Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση 8 Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Συναρτησιακές εξαρτήσεις Κανονικές μορφές
Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Η κανονικοποίηση σχέσεων αφορά στην απλοποίηση των σχέσεων με στόχο την εξάλειψη του πλεονασμού των δεδομένων Dutka 1989
Κατασκευή δύο πινάκων για την αποφυγή του πλεονασμού Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Πλεονασμός Δεδομένων Πρόβλημα Ενημέρωσης Δεδομένων Πρόβλημα Διαγραφής Δεδομένων Πρόβλημα Εισαγωγής Δεδομένων Κατασκευή δύο πινάκων για την αποφυγή του πλεονασμού
Συναρτησιακές εξαρτήσεις 8.1 Συναρτησιακές εξαρτήσεις Συναρτησιακές εξαρτήσεις Οι συναρτησιακές εξαρτήσεις οφείλονται στις ιδιότητες που έχουν τα χαρακτηριστικά των οντοτήτων. Μία συναρτησιακή εξάρτηση μεταξύ X και Y συμβολίζεται με X → Y και ορίζει έναν περιορισμό σχετικά με τις τιμές των χαρακτηριστικών Η συναρτησιακή εξάρτηση X → Y ορίζει ότι αν οι δύο γραμμές έχουν κοινές τιμές στα χαρακτηριστικά του συνόλου X τότε θα έχουν ίδιες τιμές και στα χαρακτηριστικά του συνόλου Y το σύνολο χαρακτηριστικών Y είναι συναρτησιακά εξαρτώμενο (functional dependent) από το σύνολο X.
Κανόνες παραγωγής Συναρτησιακών Εξαρτήσεων 8.1 Συναρτησιακές εξαρτήσεις Κανόνες παραγωγής Συναρτησιακών Εξαρτήσεων 1. ανακλαστικός κανόνας (reflexive rule): αν Y X τότε → Y . 2. επαυξητικός κανόνας (augmentation rule): αν X → Y τότε XZ → Y Z. 3. μεταβατικός κανόνας (transitive rule): αν X → Y και Y → Z τότε X → Z. 4. κανόνας διάσπασης (decomposition rule): αν X → Y Z τότε X → Y . 5. κανόνας ένωσης (union rule): αν X → Y και X → Z τότε X → Y Z. 6. ψευδο-μεταβατικός κανόνας (pseudotransitive rule): αν X → Y και WY → Z τότε WX → Z.
Ελάχιστα Σύνολα Συναρτησιακών Εξαρτήσεων 8.1 Συναρτησιακές εξαρτήσεις Ελάχιστα Σύνολα Συναρτησιακών Εξαρτήσεων Ένα σύνολο G συναρτησιακών εξαρτήσεων καλύπτεται από ένα άλλο σύνολο συναρτησιακών εξαρτήσεων F όταν κάθε εξάρτηση που ανήκει στο G ανήκει και στο F+. Δύο σύνολα συναρτησιακών εξαρτήσεων F και G καλούνται ισοδύναμα αν ισχύει η σχέση F+ = G+. Ένα σύνολο εξαρτήσεων F καλείται ελάχιστο αν ισχύουν οι εξής συνθήκες: Κάθε συναρτησιακή εξάρτηση του F έχει μόνο ένα χαρακτηριστικό στο δεξιό μέρος. Δεν μπορούμε να αντικαταστήσουμε μία εξάρτηση X → Y με μία άλλη εξάρτηση Z → Y όπου το Z X. Δεν μπορούμε να αφαιρέσουμε κάποια συναρτησιακή εξάρτηση από το F και να συνεχίσει να ισχύει η ισοδυναμία με το σύνολο F.
Ελάχιστη κάλυψη – Αλγόριθμος προσδιορισμού ελάχιστης κάλυψης 8.1 Συναρτησιακές εξαρτήσεις Ελάχιστη κάλυψη – Αλγόριθμος προσδιορισμού ελάχιστης κάλυψης Ένα σύνολο συναρτησιακών εξαρτήσεων Fmin καλείται ελάχιστη κάλυψη (minimal cover) του F όταν το Fmin είναι ελάχιστο και ισοδύναμο με το F.
8.2 Κανονικές Μορφές Η πρώτη κανονική μορφή είναι κρίσιμη για το σχεσιακό μοντέλο, ενώ οι υπόλοιπες είναι προαιρετικές. Αν ένας πίνακας βρίσκεται σε μια κανονική μορφή τότε βρίσκεται και σε όλες τις προηγούμενες.
Κανονικές μορφές που βασίζονται σε κλειδιά Η δεύτερη, τρίτη και η BNCF κανονική μορφή βασίζονται στα κλειδιά (πρωτεύοντα ή υποψήφια) Ανώτερες κανονικές μορφές (4η και 5η) βασίζονται στις πλειότιμες εξαρτήσεις και στις εξαρτήσεις συνένωσης Διαδικασία κανονικοποίησης: διαδικασία μέσω της οποίας μη ικανοποιητικά σχήματα σχέσεων διασπώνται σε μικρότερα σχήματα σχέσεων που διαθέτουν επιθυμητά χαρακτηριστικά απουσία των ανωμαλιών εισαγωγής, διαγραφής, τροποποίησης
Βασικά ζητήματα κανονικοποίησης Οι κανονικές μορφές παρέχουν: ένα τυπικό πλαίσιο για ανάλυση σχημάτων σχέσεων με βάση τα κλειδιά τους και τις ΣΕ μεταξύ των γνωρισμάτων τους μία σειρά από ελέγχους που διενεργούνται σε κάθε σχήμα σχέσης, προκειμένου για την κανονικοποίηση της βάσης δεδομένων η αποτυχία ενός ελέγχου πρέπει να αποσυντεθεί σε μικρότερες σχέσεις, έτσι ώστε να ικανοποιούνται οι έλεγχοι Το ότι κάποιο σχήμα σχεσιακής βάσης δεδομένων είναι σε κανονική μορφή ΔΕΝ ΕΓΓΥΑΤΑΙ την ποιότητα του σχήματος Πρέπει να εξασφαλίζεται η συνένωση άνευ απωλειών (ή μη προσθετική συνένωση) η οποία εξασφαλίζει ότι δεν εμφανίζεται το πρόβλημα των πλασματικών πλειάδων Πρέπει να εξασφαλίζεται η διατήρηση των εξαρτήσεων, δηλ. όλες οι ΣΕ πρέπει να εμφανίζονται σε κάποιες από τις σχέσεις του σχήματος
Πρώτη κανονική μορφή Θεωρείται τμήμα του τυπικού ορισμού μιας σχέσης Ορίζει ότι τα γνωρίσματα περιλαμβάνουν μόνο ατομικές (απλές, αδιαίρετες) τιμές και η τιμή ενός γνωρίσματος είναι μία μόνο τιμή από το πεδίο ορισμού του γνωρίσματος η πρώτη κανονική μορφή απαγορεύει να έχουμε ως τιμή γνωρίσματος μία πλειάδα, ένα σύνολο τιμών ή συνδυασμό των δύο Ο συνδυασμός των δύο οδηγεί σε εμφωλευμένες σχέσεις
Πρώτη κανονική μορφή - Παράδειγμα Τ_ΟΝΟΜΑ ΚΩΔ_ΤΜΗΜ ΔΙΕΥΘΥΝΤΗΣ Τ_ΤΟΠΟΘΕΣΙΕΣ Έρευνα 5 12345678 {Αθήνα, Πάτρα, Τρίπολη} Διοίκηση 4 23456789 {Τρίπολη} Πωλήσεις 1 34567890 {Αθήνα} Ισχύει ότι T_ΟΝΟΜΑ Τ_ΤΟΠΟΘΕΣΙΕΣ αλλά δεν έχουμε 1η κανονική μορφή Τ_ΟΝΟΜΑ ΚΩΔ_ΤΜΗΜ ΔΙΕΥΘΥΝΤΗΣ Τ_ΤΟΠΟΘΕΣΙΕΣ Έρευνα 5 12345678 Αθήνα Πάτρα Τρίπολη Διοίκηση 4 23456789 Πωλήσεις 1 34567890 Έχουμε 1η κανονική μορφή ΑΛΛΑ έχει χαθεί η συναρτησιακή εξάρτηση T_ΟΝΟΜΑ Τ_ΤΟΠΟΘΕΣΙΕΣ
Πρώτη κανονική μορφή Το πλειότιμο γνώρισμα διαχωρίζεται σε ξεχωριστή σχέση μαζί με το γνώρισμα που το προσδιορίζει συναρτησιακά Τ_ΟΝΟΜΑ ΚΩΔ_ΤΜΗΜ ΔΙΕΥΘΥΝΤΗΣ Τ_ΤΟΠΟΘΕΣΙΕΣ Έρευνα 5 12345678 {Αθήνα, Πάτρα, Τρίπολη} Διοίκηση 4 23456789 {Τρίπολη} Πωλήσεις 1 34567890 {Αθήνα} Τ_ΟΝΟΜΑ Τ_ΤΟΠΟΘΕΣΙΑ Έρευνα Αθήνα Πάτρα Τρίπολη Διοίκηση 4 Πωλήσεις 1 Τ_ΟΝΟΜΑ ΚΩΔ_ΤΜΗΜ ΔΙΕΥΘΥΝΤΗΣ Έρευνα 5 12345678 Διοίκηση 4 23456789 Πωλήσεις 1 34567890
Πρώτη κανονική μορφή Η πρώτη κανονική μορφή απαγορεύει τα σύνθετα, πλειότιμα γνωρίσματα που καλούνται εμφωλευμένες σχέσεις ΕΡΓ_ΕΡΓΟ(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ, {ΕΡΓΑ(ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ)} ΑΡ_ΤΑΥΤ: Πρωτεύον κλειδί ΚΩΔ_ΕΡΓΟΥ: επί μέρους πρωτεύον κλειδί (partial key) Μεταφέρουμε τα γνωρίσματα της εμφωλευμένης σχέσης σε μία νέα και διαδίδουμε σ’ αυτή το πρωτεύον κλειδί ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ ΕΡΓΑ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ ΑΡ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ Η διαδικασία μπορεί να εφαρμοστεί αναδρομικά για πολλαπλά επίπεδα εμφώλευσης
Δεύτερη κανονική μορφή Βασίζεται στην έννοια της πλήρους συναρτησιακής εξάρτησης Μία συναρτησιακή εξάρτηση Χ Υ καλείται πλήρης όταν Α X: X – {A} ↛ Y οι συναρτησιακές εξαρτήσεις που δεν είναι πλήρεις καλούνται μερικές συναρτησιακές εξαρτήσεις Παραδείγματα: Η συναρτησιακή εξάρτηση {ΑΡ_ΤΑΥΤ, ΚΩΔ_ΕΡΓΟΥ} ΩΡΕΣ είναι πλήρης, διότι: ΑΡ_ΤΑΥΤ ↛ ΩΡΕΣ και ΚΩΔ_ΕΡΓΟΥ ↛ ΩΡΕΣ Η συναρτησιακή εξάρτηση {ΑΡ_ΤΑΥΤ, ΚΩΔ_ΕΡΓΟΥ} ΕΡ_ΟΝΟΜΑ δεν είναι πλήρης, διότι ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ
Δεύτερη κανονική μορφή Ένα σχήμα σχέσης R βρίσκεται σε δεύτερη κανονική μορφή αν κάθε γνώρισμα Α που δεν είναι πρωτεύον κλειδί του R είναι πλήρως συναρτησιακά εξαρτημένο από το κλειδί του R H R δεν περιέχει γνωρίσματα που: εξαρτώνται από τμήμα του κλειδιού δεν εξαρτώνται καθόλου από το κλειδί ΑΡ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ ΕΡ_ΟΝΟΜΑ Ε_ΟΝΟΜΑ ΤΟΠ_ΕΡΓΟΥ
Κανονικοποίηση σε δεύτερη κανονική μορφή Αν ένα σχήμα σχέσης δεν βρίσκεται σε 2η κανονική μορφή το διασπούμε σε μικρότερα σχήματα: τα γνωρίσματα που δεν εξαρτώνται από το πρωτεύον κλειδί της σχέσης μεταφέρονται σε άλλη σχέση αν κάποια γνωρίσματα εξαρτώνται μερικώς από το πρωτεύον κλειδί, μεταφέρονται σε άλλη σχέση μαζί με το υποσύνολο του πρωτεύοντος κλειδιού από το οποίο μερικώς εξαρτώνται ΑΡ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ ΕΡ_ΟΝΟΜΑ Ε_ΟΝΟΜΑ ΤΟΠ_ΕΡΓΟΥ ΑΡ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ ΚΩΔ_ΕΡΓΟΥ Ε_ΟΝΟΜΑ ΤΟΠ_ΕΡΓΟΥ Οι σχέσεις σε 2η ΚΜ δεν εμφανίζουν ανωμαλίες ενημέρωσης
Τρίτη κανονική μορφή Βασίζεται στην έννοια της μεταβατικής εξάρτησης Μία συναρτησιακή εξάρτηση Χ Υ είναι μεταβατική αν υπάρχει σύνολο γνωρισμάτων Ζ που δεν είναι υποσύνολο κλειδιού της R και ισχύουν Χ Ζ και Ζ Υ ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ ΗΜ_ΓΕΝ ΚΩΔ_ΤΜΗΜ Τ_ΟΝΟΜΑ Διαισθητικά το γνώρισμα δεν πρέπει να βρίσκεται στη σχέση διότι δεν εξαρτάται άμεσα από το πρωτεύον κλειδί
Κανονικοποίηση σε τρίτη κανονική μορφή Αν υπάρχει μεταβατική εξάρτηση, το εξαρτώμενο γνώρισμα μεταφέρεται σε νέα σχέση, στην οποία προστίθεται και το γνώρισμα που προσδιορίζει συναρτησιακά το εξαρτώμενο γνώρισμα ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ ΗΜ_ΓΕΝ ΚΩΔ_ΤΜΗΜ Τ_ΟΝΟΜΑ ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ ΗΜ_ΓΕΝ ΚΩΔ_ΤΜΗΜ ΚΩΔ_ΤΜΗΜ Τ_ΟΝΟΜΑ
Λαμβάνοντας υπόψη τα υποψήφια κλειδιά Ένα σχήμα σχέσης R βρίσκεται σε 2η κανονική μορφή αν κάθε γνώρισμα του R που δεν είναι κλειδί δεν είναι μερικώς εξαρτώμενο από οποιοδήποτε κλειδί του R Αν υπάρχει μερική εξάρτηση, το εξαρτώμενο γνώρισμα μεταφέρεται σε νέα σχέση, στην οποία προστίθεται και το τμήμα του υποψήφιου κλειδιού που προσδιορίζει συναρτησιακά το εξαρτώμενο γνώρισμα ΚΩΔ_ΙΔΙΟΚΤ Ο_ΕΠΑΡΧΙΑΣ ΚΩΔ_ΤΕΜΑΧ ΠΕΡΙΟΧΗ ΤΙΜΗ Π_ΦΟΡΟΥ ΚΩΔ_ΙΔΙΟΚΤ Ο_ΕΠΑΡΧΙΑΣ ΚΩΔ_ΤΕΜΑΧ ΠΕΡΙΟΧΗ ΤΙΜΗ Ο_ΕΠΑΡΧΙΑΣ Π_ΦΟΡΟΥ
Λαμβάνοντας υπόψη τα υποψήφια κλειδιά Ένα σχήμα σχέσης R βρίσκεται σε τρίτη κανονική μορφή όταν για κάθε συναρτησιακή εξάρτηση Χ Α στο R ισχύει ότι: το X είναι υπερκλειδί του R ή το Α είναι πρωτεύον γνώρισμα του R Αν δεν ισχύει ο κανόνας, το Α μεταφέρεται σε νέα σχέση, στην οποία προστίθεται και το τμήμα του κλειδιού που προσδιορίζει συναρτησιακά το εξαρτώμενο γνώρισμα Ο κανόνας μπορεί να εφαρμοστεί σε σχέσεις, ανεξάρτητα από το αν βρίσκονται σε 2η κανονική μορφή ΚΩΔ_ΙΔΙΟΚΤ Ο_ΕΠΑΡΧΙΑΣ ΚΩΔ_ΤΕΜΑΧ ΠΕΡΙΟΧΗ ΤΙΜΗ ΚΩΔ_ΙΔΙΟΚΤ Ο_ΕΠΑΡΧΙΑΣ ΚΩΔ_ΤΕΜΑΧ ΠΕΡΙΟΧΗ ΠΕΡΙΟΧΗ ΤΙΜΗ
Κανονική μορφή BCNF Η κανονική μορφή BCNF είναι πιο περιοριστική από την 3η κανονική μορφή Μια σχέση R βρίσκεται σε κανονική μορφή BCNF σε σχέση με ένα συναρτησιακών εξαρτήσεων F αν για κάθε ΣΕ A B F+ ισχύει (τουλάχιστον) ένα από τα ακόλουθα: η ΣΕ A B είναι τετριμμένη (Β Α) το Α είναι υπερκλειδί της R Αντιμετωπίζει εξαρτήσεις τμημάτων του κλειδιού από άλλα γνωρίσματα που δεν είναι κλειδιά
Κανονική μορφή BCNF - Παράδειγμα Έστω R = (Φοιτητής, Μάθημα, Διδάσκων) F = {{Φοιτητής, Μάθημα} Διδάσκων, Διδάσκων Μάθημα} Η σχέση βρίσκεται σε 2η κανονική μορφή (δεν υπάρχει μερική εξάρτηση από τμήμα του κλειδιού) Η σχέση βρίσκεται σε 3η κανονική μορφή (και στις δύο ΣΕ είτε το συναρτησιακά ορίζον γνώρισμα είναι υπερκλειδί, είτε το συναρτησιακά οριζόμενο γνώρισμα είναι τμήμα πρωτεύοντος κλειδιού) Αλλά υπάρχουν ανωμαλίες ενημέρωσης ΦΟΙΤΗΤΗΣ ΜΑΘΗΜΑ ΔΙΔΑΣΚΩΝ Πλάτων Φιλοσοφία Σωκράτης Ηρόδοτος Ιστορία Ησίοδος Ξενοφών Κρίτων Διαλεκτική Σωκράτης
Κανονική μορφή BCNF Αν μία ΣΕ A B παραβιάζει την κανονική μορφή BCNF διασπούμε τη σχέση R σε δύο σχέσεις: R1 με γνωρίσματα τα A B και κλειδί το Α Τα γνωρίσματα της συναρτησιακής εξάρτησης R2 με γνωρίσματα τα X (γνωρίσματα(R) – X – Y) Το αριστερό μέλος της ΣΕ συν ό,τι δεν περιλαμβάνεται στη ΣΕ Στο παράδειγμα R = (Φοιτητής, Μάθημα, Διδάσκων) Η ΣΕ που παραβιάζει τη μορφή BCNF είναι η (Διδάσκων Μάθημα) άρα R1 (Διδάσκων, Μάθημα) με κλειδί τον διδάσκοντα R2 (Φοιτητής, Διδάσκων) με κλειδί και τα δύο γνωρίσματα
Πλειότιμες εξαρτήσεις και 4η κανονική μορφή Οι πλειότιμες εξαρτήσεις είναι απόρροια της 1ης κανονικής μορφής Απαγορεύεται να έχουμε ως τιμή ενός πεδίου ένα σύνολο τιμών Αν έχουμε δύο ή περισσότερα πλειότιμα γνωρίσματα σε μία σχέση, πρέπει να επαναληφθούν όλες οι τιμές του ενός για κάθε τιμή του άλλου Αν δεν επαναληφθούν δημιουργείται εσφαλμένα η εικόνα ότι υπάρχει εξάρτηση μεταξύ των γνωρισμάτων ΕΡ_ΟΝΟΜΑ ΕΡΓΟ_ΟΝΟΜΑ ΕΞ_ΟΝΟΜΑ Πέτρου Πριόνι Άννα Μαχαίρι Γιώργος
Πλειότιμες εξαρτήσεις και 4η κανονική μορφή Εμφανίζονται όταν αναμειγνύονται στην ίδια σχέση δύο ή περισσότερες ανεξάρτητες συσχετίσεις 1:N Σε ένα σχήμα σχέσης R εχουμε μία πλειότιμη εξάρτηση X ↠ Υ (Χ, Υ R) όταν για κάθε t1, t2 R με t1[X] = t2[X] t3, t4 R τέτοιες ώστε: t3[X] = t4[X] = t1[X] = t2[X] t3[Y] = t1[Y] και t4[Y] = t2[Y] t3[R – (X Y)] = t2[R – (X Y)] και t1[R – (X Y)] = t4[R – (X Y)] Όταν X ↠ Υ τότε λέμε ότι το Χ προσδιορίζει πολλαπλά το Y Από τον ορισμό προκύπτει ότι X ↠ Υ X ↠ R– (X Y)
Πλειότιμες εξαρτήσεις και 4η κανονική μορφή Μία ΠΕ X ↠ Υ στο R λέγεται τετριμμένη όταν Υ X ή Χ Υ = R Αν δεν ισχύει καμία από τις συνθήκες τότε η ΠΕ καλείται μη τετριμμένη Οι μη τετριμμένες ΠΕ δημιουργούν ανεπιθύμητο πλεονασμό Οι περιπτώσεις αυτές δεν καλύπτονται από την κανονική μορφή BCNF, διότι δεν υπάρχουν συναρτησιακές εξαρτήσεις στην R Π.χ. R(ΕΡ_ΟΝΟΜΑ, ΕΡΓΟ_ΟΝΟΜΑ, ΕΞ_ΟΝΟΜΑ) με πρωτεύον κλειδί και τα τρία γνωρίσματα
Κανόνες συμπερασμού για συναρτησιακές & πλειότιμες εξαρτήσεις ΚΣ1 (Ανακλαστικός κανόνας): X Y X Y ΚΣ2 (Επαυξητικός κανόνας): {X Y} ⊨ ΧΖ ΥΖ ΚΣ3 (Μεταβατικός κανόνας): {X Y, Υ Ζ} ⊨ X Ζ ΚΣ4 (Συμπληρωματικός κανόνας για ΠΕ): {Χ ↠ Υ} ⊨ {Χ ↠ R – (X Υ)} ΚΣ5 (Επαυξητικός κανόνας για ΠΕ): Χ ↠ Υ W Z WX ↠ YZ ΚΣ6 (Μεταβατικός κανόνας για ΠΕ): {Χ ↠ Υ, Υ ↠ Ζ} ⊨ Χ ↠ (Ζ – Υ) ΚΣ7 (Κανόνας αντιγραφής ΣΕ σε ΠΕ): {X Y} ⊨ Χ ↠ Υ ΚΣ8 (Κανόνας αντιγραφής συγχώνευσης για ΣΕ και ΠΕ): Αν Χ ↠ Υ και W: W Y = W Z Y Z τότε Χ Ζ (η ΣΕ είναι ειδική περίπτωση ΠΕ) Οι κανόνες μπορούν να εφαρμοσθούν για τον υπολογισμό του πλήρους συνόλου των εξαρτήσεων, συναρτησιακών και πλειότιμων
Τέταρτη κανονική μορφή Ένα σχήμα σχέσης βρίσκεται σε τέταρτη κανονική μορφή σε σχέση με ένα σύνολο εξαρτήσεων F αν για κάθε μη τετριμμένη πλειότιμη εξάρτηση Χ ↠ Υ στο F+ το Χ είναι υπερκλειδί του R Αν για μία πλειότιμη εξάρτηση Χ ↠ Υ παραβιάζεται ο κανόνας, διασπούμε την R σε δύο σχέσεις όπου H R1 έχει γνωρίσματα τα X Y H R2 έχει γνωρίσματα τα R – Y Παράδειγμα: R(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ, ΕΡΓΟ_ΟΝΟΜΑ, ΕΞ_ΟΝΟΜΑ) F = {ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ, ΑΡ_ΤΑΥΤ ↠ ΕΡΓΟ_ΟΝΟΜΑ, ΑΡ_ΤΑΥΤ ↠ ΕΞ_ΟΝΟΜΑ) R1(ΑΡ_ΤΑΥΤ, ΕΡ_ΟΝΟΜΑ), R2(ΑΡ_ΤΑΥΤ, ΕΡΓΟ_ΟΝΟΜΑ), R3(ΑΡ_ΤΑΥΤ, ΕΞ_ΟΝΟΜΑ)
Τέταρτη κανονική μορφή Χρειάζεται προσοχή στη σημασιολογία των εξαρτήσεων: Αν ένας διδάσκων μπορεί να διδάξει συγκεκριμένα μαθήματα και ένας διδάσκων διδάσκει σε κάποια εξάμηνα, τότε στη σχέση R(Διδάσκων, Μάθημα, Εξάμηνο) υπάρχουν οι ΠΕ {Διδάσκων ↠ Μάθημα, Διδάσκων ↠ Εξάμηνο) Αν ένας διδάσκων διδάσκει συγκεκριμένα μαθήματα σε συγκεκριμένα εξάμηνα τότε στη σχέση R(Διδάσκων, Μάθημα, Εξάμηνο) ΔΕΝ ΥΠΑΡΧΟΥΝ μη τετριμμένες συναρτησιακές εξαρτήσεις Σε επίπεδο ΟΣ η διαφορά είναι μεταξύ δύο δυαδικών συσχετίσεων 1:Ν (ή Μ:Ν) και μίας τριαδικής συσχέτισης
Πέμπτη κανονική μορφή Βασίζεται στις εξαρτήσεις συνένωσης Μία εξάρτηση συνένωσης JD(R1, R2, …, Rν) επί σχήματος σχέσης R ορίζει ότι υπάρχουν σχήματα σχέσεων R1, R2, …, Rν τέτοια ώστε * (π<R1>(r), π<R2>(r), …, π<Rν>(r)) = r για κάθε επιτρεπτό στιγμιότυπο r της R Η πλειότιμη εξάρτηση είναι μία ειδική περίπτωση εξάρτησης συνένωσης Η πέμπτη κανονική μορφή: Καλύπτει τις περιπτώσεις όπου ένα σχήμα σχέσης δεν μπορεί να διασπαστεί σε δύο σχήματα σχέσεων, αλλά είναι δυνατή η διάσπασή του σε τρία ή περισσότερα σχήματα σχέσεων που μπορούν να ανασυνθέσουν το αρχικό σχήμα Οι περιπτώσεις αυτές εμφανίζονται σπάνια και είναι δύσκολο να ανιχνευθούν
Πέμπτη κανονική μορφή Ένα σχήμα σχέσης R βρίσκεται σε πέμπτη κανονική μορφή ή κανονική μορφή προβολής-συνένωσης ως προς ένα σύνολο εξαρτήσεων F (συναρτησιακών, πλειότιμων, συνένωσης) αν για κάθε εξάρτηση συνένωσης JD(R1, R2, …, Rν) στο F+ το κάθε Ri είναι υπερκλειδί του R Αν παραβιάζεται ο κανόνας, διασπούμε το σχήμα σχέσης R στα R1, R2, …, Rν
Πέμπτη κανονική μορφή Παράδειγμα: Έστω το σχήμα σχέσης Προμηθεύει(Προμηθευτής, Προϊόν, Έργο) με τον εξής περιορισμό: Αν ένας προμηθευτής διαθέτει ένα προϊόν και ένα έργο χρησιμοποιεί το προϊόν και ο προμηθευτής είναι συμβεβλημένος με το συγκεκριμένο έργο τότε ο προμηθευτής προμηθεύει το προϊόν στο συγκεκριμένο έργο Το σχήμα σχέσης μπορεί να διασπαστεί στα εξής: Διαθέτει(Δ_Προμηθευτής, Δ_Προϊόν) Συμβάλλεται(Σ_Προμηθευτής, Σ_Έργο) Χρησιμοποιεί(Χ_Έργο, Χ_Προϊόν) Η αρχική σχέση ανασυντίθεται με τις πράξεις T1 = ⊳⊲ Δ_Προμηθευτής = Σ_Προμηθευτής(Διαθέτει, Συμβάλλεται) T2 = ⊳⊲ Δ_Προϊόν = Χ_Προϊόν Σ_Έργο = Χ_Έργο(T1, Χρησιμοποιεί) T3 = πΔ_Προμηθευτής, Δ_Προϊόν, Σ_Έργο (Τ3)
Σύνοψη Κύριος στόχος της κανονικοποίησης είναι η κατάργηση του πλεονασμού των δεδομένων, ο οποίος δημιουργεί προβλήματα κατά τις εισαγωγές, διαγραφές και ενημερώσεις δεδομένων. Μία συναρτησιακή εξάρτηση συμβολίζεται με X → Y και δηλώνει ότι το σύνολο χαρακτηριστικών Y είναι συναρτησιακά εξαρτώμενο από το σύνολο χαρακτηριστικών X. Με τη βοήθεια των κανόνων παραγωγής συναρτησιακών εξαρτήσεων μπορούμε να παράγουμε νέες συναρτησιακές εξαρτήσεις. Το σύνολο όλων των συναρτησιακών εξαρτήσεων που παράγονται από ένα αρχικό σύνολο εξαρτήσεων F, χρησιμοποιώντας τους κανόνες παραγωγής, συμβολίζεται με F+ και καλείται κλειστότητα. Οι κανονικές μορφές προκύπτουν με διαδοχικές διασπάσεις των πινάκων της βάσης σε απλούστερους. Η απλούστερη κανονική μορφή είναι η πρώτη κανονική μορφή (1NF) και η πιο περιοριστική είναι η πέμπτη κανονική μορφή (5NF). Στην πράξη, οι πίνακες κανονικοποιούνται συνήθως μέχρι την κανονική μορφή Boyce-Codd (BCNF), ενώ σε σπάνιες περιπτώσεις απαιτείται η κανονικοποίηση σε ανώτερες κανονικές μορφές λόγω ύπαρξης εξαρτήσεων πολλαπλών τιμών και εξαρτήσεων σύνδεσης.