Βάςεισ Δεδομζνων Ι Ενότητα 12: Κανονικοποίηςη Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ
Άδειεσ Χρήςησ Το παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χριςθσ Creative Commons. Για εκπαιδευτικό υλικό, όπωσ εικόνεσ, που υπόκειται ςε άλλου τφπου άδειασ χριςθσ, θ άδεια χριςθσ αναφζρεται ρθτώσ. Βάςεισ Δεδομζνων Ι- Τμιμα Μθχανικών Πλθροφορικισ ΤΕ
Χρηματοδότηςη Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτα πλαίςια του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο ΤΕΙ Κεντρικισ Μακεδονίασ» ζχει χρθματοδοτιςει μόνο τθ αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Προγράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ πόρουσ. Βάςεισ Δεδομζνων Ι- Τμιμα Μθχανικών Πλθροφορικισ ΤΕ
Ενότητα 12 Κανονικοποίηςη Δρ. Τςιμπίρθσ Αλκιβιάδθσ
Περιεχόμενα ενότητασ Θεωρία Κανονικοποίηςησ Κανονικζσ Μορφζσ (normal forms) Πρώτη Κανονική Μορφή 1ΚΜ Δεύτερη Κανονική Μορφή 2ΚΜ Σρίτη Κανονική Μορφή 3ΚΜ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 5
κοποί ενότητασ Στθν ενότθτα αυτι παρουςιάηεται ζνασ ακόμθ τρόποσ ςχεδιαςμοφ βάςεων δεδομζνων ο οποίοσ βαςίηεται ςτθν Θεωρία Κανονικοποίθςθσ ςφμφωνα με τθν οποία δθμιουργείται ζνα μεγάλοσ πίνακασ που περιζχει όλα τα γνωρίςματα που απαιτοφνται και ςτθ ςυνζχεια απόδομείται. Αυτό επιτυγχάνεται ορκά με τθν εφαρμογι των Κανονικών Μορφών (normal forms). Η Πρώτθ Κανονικι Μορφι (1ΚΜ) είναι αυτι ςτθν οποία πρζπει να βρίςκονται όλοι οι πίνακεσ μιασ ΒΔ. Επίςθσ θ Δεφτερθ Κανονικι Μορφι (2ΚΜ) και θ Τρίτθ Κανονικι Μορφι (3ΚΜ) αντιμετωπίηουν το μεγαλφτερο μζροσ των πικανών προβλθμάτων κατά τον ςχεδιαςμό μιασ ΒΔ. Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 6
Θεωρία Κανονικοποίηςησ Μία ςχζςθ είναι ζνα ςφνολο από γνωρίςματα με τιμζσ για κάκε γνώριςμα τζτοιεσ ώςτε να ιςχφουν οι παρακάτω ιδιότθτεσ 1. Κάκε όνομα γνωρίςματοσ είναι μοναδικό. 2. Όλεσ οι τιμζσ κάκε γνωρίςματοσ είναι ίδιου τφπου (ι πεδίου οριςμοφ). 3. Κάκε τιμι γνωρίςματοσ είναι ατομικι (μία τιμι και όχι ομάδα πολλών τιμών). 4. Τα γνωρίςματα δεν ζχουν διάταξθ από τα αριςτερά προσ τα δεξιά.. 5. Οι ςυςτοιχίεσ (ςειρζσ) δεν ζχουν διάταξθ από επάνω προσ τα κάτω. 6. Δεν υπάρχουν δφο ίδιεσ ςειρζσ (ςυςτοιχίεσ) ςε μία ςχζςθ. Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 7
Διαδικαςία ςωςτού ςχεδιαςμού ΒΔ Η διαδικαςία που ακολουκοφμε είναι : Συγκεντρώνουμε τισ απαιτιςεισ τθσ επιχείρθςθσ και των χρθςτών. Σχεδιάηουμε το μοντζλο οντοτιτων-ςυςχετίςεων Μετατρζπουμε το διάγραμμα οντοτιτων-ςυςχετίςεων τθσ επιχείρθςθσ ςε ζνα ςφνολο από ςχζςεισ (πίνακεσ) με το ςχεςιακό μοντζλο. Κανονικοποιοφμε τισ ςχζςεισ για να απομακρφνουμε τυχόν ανωμαλίεσ ενθμζρωςθσ-διαγραφισ-ειςαγωγισ ςτοιχείων. Υλοποιοφμε τθ βάςθ δεδομζνων δθμιουργώντασ ζνα πίνακα για κάκε κανονικοποιθμζνθ ςχζςθ. Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 8
Κανονικοποίηςη-Κανονικζσ μορφζσ Κατθγορίεσ (ι κλάςεισ) Κανονικές Μορφές (normal forms). Κανονική Μορφή: Μία κλάςθ ςχζςεων απαλλαγμζνων από ςυγκεκριμζνα προβλιματα τροποποιιςεων. 1. Πρώτθ κανονικι μορφι (1NF 1KM) 2. Δεφτερθ κανονικι μορφι (2NF 2KM) 3. Τρίτθ κανονικι μορφι (3NF 3KM) 4. Boyce-Codd κανονικι μορφι (BCNF KM BC) 5. Τζταρτθ κανονικι μορφι (4NF 4KM) 6. Πζμπτθ κανονικι μορφι (5NF 5KM) 7. Κανονικι μορφι πεδίου οριςμοφ κλειδιοφ (Domain- Key/NF) Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 9
Κανονικοποίηςη-Κανονικζσ μορφζσ Αυτζσ οι κανονικζσ μορφζσ είναι ακροιςτικζσ. Μία ςχζςθ που βρίςκεται ςε Τρίτθ κανονικι μορφι είναι επίςθσ και ςε δεφτερθ και ςε πρώτθ. Οι τρεισ πρώτεσ κανονικζσ μορφζσ (1ΚΜ, 2ΚΜ, 3ΚΜ) ορίςτθκαν από τον Codd. Όλεσ οι κανονικοποιθμζνεσ ςχζςεισ είναι ςε 1ΚΜ. Με άλλα λόγια, "κανονικοποιθμζνθ" και "ςε 1ΚΜ" ςθμαίνει ακριβώσ το ίδιο πράγμα. Μερικζσ ςχζςεισ 1ΚΜ είναι επίςθσ ςε 2ΚΜ, και μερικζσ ςχζςεισ 2ΚΜ είναι επίςθσ ςε 3ΚΜ. Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 10
Κανονικοποίηςη-Κανονικζσ μορφζσ Ο Fagin όριςε τθν τζταρτθ κανονικι μορφι. Μετζπειτα και πάλι ο Fagin όριςε άλλθ μία κανονικι μορφι, τθν κανονικι μορφι προβολισ ςφηευξθσ (projection join), που αργότερα ζγινε γνωςτι και ωσ πζμπτθ κανονικι μορφι (5ΚΜ). Μερικζσ ςχζςεισ που είναι ςε ΚΜ-BC είναι επίςθσ ςε 4ΚΜ, και μερικζσ ςχζςεισ που είναι ςε 4ΚΜ είναι επίςθσ ςε 5ΚΜ. Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 11
Πρώτη Κανονική Μορφή 1ΚΜ Μία ςχζςθ βρίςκεται ςε πρώτθ κανονικι μορφι αν ικανοποιεί όλεσ τισ 6 ιδιότθτεσ του οριςμοφ τθσ ςχζςθσ Εάν υπάρχει κακοριςμζνο κλειδί για τθ ςχζςθ τότε ικανοποιείται θ απαίτθςθ τθσ μοναδικότθτασ των ςυςτοιχιών (ςειρών). Ζνασ πίνακασ ςε πρώτθ κανονικι μορφι λζγεται κανονικοποιθμζνοσ πίνακασ και τότε και μόνο τότε αντιςτοιχεί ςε μία ςχζςθ (οι ςχζςεισ του ςχεςιακοφ μοντζλου είναι ςτθν 1θ κανονικι μορφι ). Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 12
Δεύτερη κανονική μορφή (2NF) Μία ςχζςθ βρίςκεται ςε δεφτερθ κανονικι μορφι εάν κάκε ζνα από τα γνωρίςματά τθσ που δεν είναι κλειδιά εξαρτώνται ςυναρτθςιακά από ολόκλθρο το πρωτεφων κλειδί και όχι μόνο από ζνα τμιμα του. Οι ςχζςεισ που ζχουν μόνο ζνα γνώριςμα ςαν πρωτεύων κλειδί βρίςκονται αυτόματα και ςτθ δεύτερη κανονική μορφή. Αυτόσ είναι ζνασ λόγοσ για τον οποίο χρθςιμοποιοφμε ςυχνά τεχνθτά αναγνωριςτικά ςαν κλειδιά. Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 13
Σρίτη κανονική μορφή (3NF) Μία ςχζςθ βρίςκεται ςε Τρίτθ κανονικι μορφι εάν είναι ςε δεφτερθ και δεν περιζχει μεταβατικζσ εξαρτήςεισ. Θεωριςτε για παράδειγμα τθ ςχζςθ R που ζχει γνωρίςματα τα Α, Β και Γ. Εάν Α Β και Β Γ τότε κα ιςχφει και Α Γ. Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 14
Κανονικζσ μορφζσ Για τισ κανονικζσ μορφζσ ιςχφουν οι παρακάτω κανόνεσ: Δεν πρζπει να υπάρχουν επαναλαμβανόμενα ονόματα πεδίων. Όςα πεδία δεν είναι κλειδιά κα πρζπει αν εξαρτώνται ςυναρτθςιακά από ολόκλθρο το πρωτεφον κλειδί και όχι από μζροσ του. Δεν πρζπει να υπάρχει ςυναρτθςιακι μεταβατικι εξάρτθςθ. Α Β Β C A C Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 15
Κανονικζσ μορφζσ 1ΚΜ ΑΕΜ ΕΠΙΘΕΣΟ ΣΗΛ ΣΗΛ Τα ονόματα των πεδίων δεν είναι μοναδικά. 2ΚΜ KM ΑΕΜ ONOMA ΣΗΛ Το ΟΝΟΜΑ και το ΤΗΛ εξαρτώνται από το ΑΕΜ. 3ΚΜ ΑΕΜ ΕΠΙΘΕΣΟ ONOMA ΠΑΣΡΟ ΣΗΛ ΠΑΣΡΟ Μεταβατικι Εξάρτθςθ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 16
Από-κανονικοποίηςη 1ΚΜ ΑΕΜ ΕΠΙΘΕΣΟ ΣΗΛ1 ΣΗΛ2 Δεν τθρεί τουσ κανόνεσ κανονικοποιιςθσ. Υπάρχουν περιπτώςεισ που εάν δεν ακολουκιςουμε τουσ κανόνεσ κανονικοποίθςθσ επιτυγχάνουμε καλφτερα αποτελζςματα. Αυτό καλείται Από-Κανονικοποίθςθ (De-normalization) Τμιμα Μθχανικών Πλθροφορικισ ΤΕ 17