Σχεσιακές Βάσεις Δεδομένων Μέρος 3ο Κανονικοποίηση Αρχείων Σχεσιακής Βάσης Δεδομένων Ιανουάριος 2006 Καραδήμας Ν. 1 Καλή& Κακή Σχεδίαση Βάσης Δεδομένων Η «κακή» σχεδίαση µπορεί να οδηγήσει σε τουλάχιστον τρεις τύπους ανωµαλιών όπου µία «καλή» µπορεί να αποφύγει: Ανωµαλίες εισόδου Ανωµαλίες διαγραφής Ανωµαλίες ανανέωσης Οι ανωµαλίες εισόδου και ανανέωσης έχουν σαν αποτέλεσµα την ανακολουθία δεδοµένων, και οι ανωµαλίες διαγραφής την απώλεια δεδοµένων. Ιανουάριος 2006 Καραδήμας Ν. 2 1
Μία φτωχή σχεδίαση Εγγραφές (ΑΜ, ΌνοµαΦοιτητή,ΚωδΜαθήµατος,Καθηγητής, Μάθηµα) ΑΜ ΌνοµαΦοιτητή ΚωδΜαθήµατος Καθηγητής Μάθηµα S01 P. Bradley ACLAB01 A. Burger DBMS S02 D. Sarda ACLAB03 P. Trinder DADD S03 P. Tong ACLAB05 L. Mackinnon NetApps S01 P. Bradley ACLAB03 P. Trinder DADD S04 J. Jules ACLAB05 L. Mackinnon NetApps S05 C. Ritchie ACLAB01 A. Burger DBMS S01 P. Bradley ACLAB05 L. Mackinnon NetApps S04 J. Jules ACLAB01 A. Burger DBMS S06 E. Burnside ACLAB07 A. Ireland LOTOS S03 P. Tong ACLAB01 A. Burger DBMS Ιανουάριος 2006 Καραδήμας Ν. 3 Ανωμαλία Εισόδου Οι ανωµαλίες εισόδου είναι δύο τύπων: Παράδειγµα: Υποθέτουµεότιοφοιτητής J. Jules (S04) εγγράφεται στο ACLAB03, αλλά το όνοµα έχει εισαχθεί λάθος σαν J. Julles. Τώρα ο φοιτητής S04 έχει δύο ονόµατα. Υποθέτουµε ότι ένα νέο µάθηµα εισάγεται. εν είναι δυνατό να καταγραφούν οι λεπτοµέρειες του µαθήµατος εάν δεν εγγραφεί τουλάχιστον ένας φοιτητής στο µάθηµα αυτό. Ιανουάριος 2006 Καραδήμας Ν. 4 2
Ανωμαλία Διαγραφής Υποθέτουµε ότι ο φοιτητής E. Burnside είναι ο µοναδικός φοιτητής εγγεγραµµένος στο µάθηµα ACLAB07, αλλά αποφασίζει να µην το παρακολουθήσει. Οι υπόλοιπες πληροφορίες για αυτό το µάθηµα (π.χ. το ποιος είναι ο καθηγητής και ποιο είναι το όνοµα του µαθήµατος) θα χαθούν. Ιανουάριος 2006 Καραδήμας Ν. 5 Ανωμαλία Ανανέωσης Υποθέτουµε ότι ο καθηγητής του µαθήµατος ACLAB01 αλλάζειαπό «A. Burger»σε «A. Ireland»,αλλάδεν ανανεώνονται όλες οι εγγραφές που επηρεάζονται από την αλλαγή αυτή. Η βάση δεδοµένων τώρα περιέχει συγκρουόµενες πληροφορίες για το ποιος τελικά είναι ο καθηγητής του συγκεκριµένου µαθήµατος. Ιανουάριος 2006 Καραδήμας Ν. 6 3
Μία Καλύτερη Σχεδίαση Φοιτητής (ΑΜ, ΌνοµαΦοιτητή) Εγγραφή (ΑΜ, ΚωδΜαθήµατος) Τµήµα (ΚωδΜαθήµατος, Μάθηµα,Καθηγητής) Καθηγητής (ΌνοµαΚαθηγητή, Τµήµα,Τηλέφωνο) Ιανουάριος 2006 Καραδήμας Ν. 7 Κανονικοποίηση Κανονικοποίηση είναι η διαδικασία της οµαδοποίησης χαρακτηριστικών σε καλά οργανωµένες δοµές. Αυτές περιέχουν τον ελάχιστο πλεονασµό και επιτρέπουν στο χρήστη να εισάγει, διαγράψει και ανανεώσει τη βάση δεδοµένων χωρίς προβλήµατα ή ανακολουθίες. Τα διαφορετικά επίπεδα της κανονικοποίησης είναι γνωστά ως «Μορφές Κανονικοποίησης». Ιανουάριος 2006 Καραδήμας Ν. 8 4
Μορφές Κανονικοποίησης Οι «Μορφές Κανονικοποίησης» για τις οποίες η σχεδίαση των βάσεων δεδοµένων µπορεί να παρουσιαστεί σαν πρόοδος είναι: Πρώτηκανονικήµορφή (1 Normal Form) εύτερηκανονικήµορφή (2 Normal Form) Τρίτηκανονικήµορφή (3 Normal Form) Boyce Codd κανονικήµορφή (BCNF) Τέταρτηκανονικήµορφή (4 Normal Form) Πέµπτηκανονικήµορφή (5 Normal Form) Ιανουάριος 2006 Καραδήμας Ν. 9 Βήματα Κανονικοποίησης Πίνακας µε επαναλαµβανόµενες οµάδες Πρώτη Κανονική Μορφή Αφαίρεσε επαναλαµβανόµενες οµάδες Αφαίρεσε µερικώς εξαρτηµένα στοιχεία εύτερη Κανονική Μορφή Αφαίρεσε µεταβατικά εξαρτηµένα στοιχεία Τρίτη Κανονική Μορφή Ιανουάριος 2006 Καραδήμας Ν. 10 5
Κανονικοποιημένες Μορφές Οι κανονικοποιηµένες µορφές από την 1NF έως την BCNF βασίζονται στον ορισµό της «συναρτησιακής εξάρτησης» Ιανουάριος 2006 Καραδήμας Ν. 11 Συναρτησιακή Εξάρτηση Η κανονικοποίηση βασίζεται στην ανάλυση της συναρτησιακής εξάρτησης. Η συναρτησιακή εξάρτηση είναι µία ειδική συσχέτιση µεταξύ δύο χαρακτηριστικών. Γιακάθεσυσχέτιση R, τοχαρακτηριστικό B είναι συναρτησιακά εξαρτώµενο από το χαρακτηριστικό A αν, για κάθε έγκυρη περίστασητου A, αυτήητιµήτου A, µοναδιαία καθορίζει την τιµή του B. Ιανουάριος 2006 Καραδήμας Ν. 12 6
Συναρτησιακή Εξάρτηση Ησυναρτησιακήεξάρτησητου B στο A παρουσιάζεται ως A B. Κοινά παραδείγµατα συναρτησιακών εξαρτήσεων είναι τα παρακάτω: ISBN Τίτλος βιβλίου SSN Όνοµα, ιεύθυνση, Ηµ.Γέννησης VIN Μοντέλο, Χρώµα Ιανουάριος 2006 Καραδήμας Ν. 13 Συναρτησιακή Εξάρτηση Το χαρακτηριστικό στην αριστερή µεριά του βέλους σε µία συναρτησιακή εξάρτηση ονοµάζεται Ορίζουσα. X Y δεν συνεπάγεται ότι Y X (αν και αυτό µπορεί να συµβεί περιστασιακά). Ιανουάριος 2006 Καραδήμας Ν. 14 7
Πρώτη Κανονική Μορφή(1NF) Ένασχεσιακόσχήµαείναιστην 1NF εάνόλατα χαρακτηριστικά του έχουν από µία και µόνο µία τιµή, και όλα τα χαρακτηριστικά είναι συναρτησιακά εξαρτηµένα από το πρωτεύον κλειδί. Ιανουάριος 2006 Καραδήμας Ν. 15 Πρώτη Κανονική Μορφή(1NF) Μία σχέση είναι στην Πρώτη Κανονική Μορφή (1NF) εάν δενπεριέχειεπαναλαµβανόµενεςοµάδες. Οπότε ένας πίνακας, που περιέχει χαρακτηριστικά µε πολλαπλές τιµές ή επαναλαµβανόµενες οµάδες, δεν είναιπίνακαςσχεσιακήςβάσηςδεδοµένων. Ένας πίνακας µε επαναλαµβανόµενες οµάδες µετατρέπεται σε πίνακα 1ης κανονικής µορφής επεκτείνοντας τα δεδοµένα του σε κάθε στήλη για να συµπληρωθούν τα κελιά που είναι άδεια, λόγω των επαναλαµβανόµενων οµάδων. Ιανουάριος 2006 Καραδήμας Ν. 16 8
Πρώτη Κανονική Μορφή(1NF) Συνδυαστικά χαρακτηριστικά (σε ένα E-R µοντέλο) αντιπροσωπεύονται µόνο από τα στοιχεία των χαρακτηριστικών τους. Τα χαρακτηριστικά δεν µπορούν να έχουν πολλαπλές τιµές (π.χ. όχι επαναλαµβανόµενες οµάδες). Τα χαρακτηριστικά δεν µπορούν να έχουν πλειάδεςτιµώνήσχέσειςσαντιµές (ανκαι υπάρχειµίαθεωρίατωνβάσεωνδεδοµένων, γνωστή ως non-1nf θεωρία, η οποία το επιτρέπει). Ιανουάριος 2006 Καραδήμας Ν. 17 Πλήρης Συναρτησιακή Εξάρτηση Η 2NF χρησιµοποιεί τον ορισµό «πλήρης συναρτησιακή εξάρτησης» (Full Functional Dependency). Ορισµός: Μία πλήρης συναρτησιακή εξάρτηση υπάρχει όταν όλα τα απλά χαρακτηριστικά της οντότητας είναι συναρτησιακά εξαρτηµένα σε όλο το πρωτεύον κλειδί. Ανισχύειησυναρτησιακήεξάρτηση X Y (όπου Xκαι Y είναι είτε ανεξάρτητα είτε οµάδες χαρακτηριστικών) και η αφαίρεση οποιουδήποτε χαρακτηριστικού από το X έχει σαν αποτέλεσµα να µην ισχύει η εξάρτηση, συνεπάγεται ότι το Y είναι πλήρες συναρτησιακά εξαρτηµένο στο X. Ιανουάριος 2006 Καραδήμας Ν. 18 9
Πλήρης Συναρτησιακή Εξάρτηση Υποθέτουµε το σχεσιακό σχήµα: Εγγραφή(ΑΜ, ΚωδΜαθήµατος, ΌνοµαΦοιτητή, Καθηγητής, Μάθηµα, ίδακτρα) Κανένααπότα «ΌνοµαΦοιτητή», «Καθηγητής»και «Μάθηµα»δενείναι πλήρες συναρτησιακό εξαρτηµένο στο πρωτεύον κλειδί. Τα «ίδακτρα»είναι, ωστόσο,πλήρες συναρτησιακό εξαρτηµένο στο πρωτεύον κλειδί. Ιανουάριος 2006 Καραδήμας Ν. 19 Δεύτερη Κανονική Μορφή (2NF) Ορισµός: Ένασχεσιακόσχήµα R είναιστην 2NF ανείναιστην 1NF καικάθεαπλό χαρακτηριστικό είναι πλήρες συναρτησιακά εξαρτηµένο στο πρωτεύον κλειδί του R. Ο πίνακας «Εγγραφές» δεν είναι, τελικά, στην 2NF. Ιανουάριος 2006 Καραδήμας Ν. 20 10
Δεύτερη Κανονική Μορφή (2NF) Θεωρούµε ένα παράδειγµα του πίνακα «Εγγραφές» και παρατηρούµε τις διπλοεγγραφές των δεδοµένων σ αυτό... ΑΜ ΚωδΜαθήµατος ΌνοµαΦοιτητή Καθηγητής Μάθηµα ίδακτρα S01 ACLAB01 P. Bradley A. Burger DBMS 850 S02 ACLAB03 D. Sarda P. Trinder DADD 800 S03 ACLAB05 P. Tong L. Mackinnon NetApps 750 S01 ACLAB03 P. Bradley P. Trinder DADD 750 S04 ACLAB05 J. Jules L. Mackinnon NetApps 750 S03 ACLAB01 P. Tong A. Burger DBMS 900 S01 ACLAB05 P. Bradley L. Mackinnon NetApps 700 Ιανουάριος 2006 Καραδήμας Ν. 21 Δεύτερη Κανονική Μορφή (2NF) Οι διπλοεγγραφές των δεδοµένων αποδεικνύουν για τον πίνακα «Εγγραφές» ότι είναι ένα προϊόν τηςαποτυχίαςτοναείναιστην 2NF Οι συναρτησιακές εξαρτήσεις που εφαρµόζονται στον πίνακα «Εγγραφές» είναι: ΑΜ ΌνοµαΦοιτητή ΚωδΜαθήµατος Καθηγητής ΚωδΜαθήµατος Μάθηµα {ΑΜ, ΚωδΜαθήµατος} ίδακτρα Ιανουάριος 2006 Καραδήμας Ν. 22 11
Δεύτερη Κανονική Μορφή (2NF) Εάν οι «Εγγραφές» αναλυθούν σε ξεχωριστές σχέσεις βασισµένες σε συναρτησιακές εξαρτήσεις τότε µία καλύτερη σχεδίαση προκύπτει Οαλγόριθµος: Γιαόλεςτιςσυναρτησιακέςεξαρτήσεις X A i, συνδυάζουµετο X καιτα A i s σεµίανέασχέση ορίζοντας το X ως το πρωτεύον κλειδί Ιανουάριος 2006 Καραδήμας Ν. 23 Δεύτερη Κανονική Μορφή (2NF) Το αποτέλεσµα? Φοιτητής(ΑΜ, ΌνοµαΦοιτητή) Τµήµα(ΚωδΜαθήµατος, Μάθηµα, Καθηγητής) Εγγραφές(ΑΜ, ΚωδΜαθήµατος, ίδακτρα) Κάθεµίααπότιςπαραπάνωσχέσειςείναι τώρα στην 2NF Ιανουάριος 2006 Καραδήμας Ν. 24 12
Μεταβατική Συναρτησιακή Εξάρτηση Η Τρίτη κανονική µορφή βασίζεται στον ορισµό της «Μεταβατικής Συναρτησιακής Εξάρτησης» Ορισµός... Μίασυναρτησιακήεξάρτηση X Y σεµίασχέση R είναι µία µεταβατική εξάρτηση εάν υπάρχει ένα χαρακτηριστικό ή οµάδα χαρακτηριστικών Z τα οποία δεν είναι πρωτεύοντα κλειδιά του R και για τα οποία ισχύει X Z and Z Y Ιανουάριος 2006 Καραδήμας Ν. 25 Μεταβατική Συναρτησιακή Εξάρτηση Η παρουσία µιας µεταβατικής συναρτησιακής εξάρτησης µπορεί να έχει σαν αποτέλεσµα πλεονασµό δεδοµένων σε µία σχέση Θεωρούµετηνσχέση... Μάθηµα(ΚωδΜαθήµατος,ΌνοµαΜάθ, ΌνοµαΚαθηγητή,Τοµέας, Αρ.Τηλεφώνου) Υπάρχουν δύο µεταβατικές εξαρτήσεις: ΚωδΜαθήµατος ΌνοµαΚαθηγητή, ΌνοµαΚαθηγητή Τοµέας ΚωδΜαθήµατος ΌνοµαΚαθηγητή, ΌνοµαΚαθηγητή Αρ.Τηλεφώνου Ιανουάριος 2006 Καραδήμας Ν. 26 13
Μεταβατική Συναρτησιακή Εξάρτηση Ένα παράδειγµα του πίνακα «Μάθηµα» µπορεί να είναι το... ΚωδΜαθήµατος ΌνοµαΜαθ ΌνοµαΚαθηγητή Τοµέας Αρ.Τηλεφώνου ACLAB01 DBMS A. Burger Heriot 451-3328 ACLAB03 DADD P. Trinder Caledonian 451-4190 ACLAB05 NetApps L. Mackinnon Caledonian 451-4170 ACLAB07 LOTOS A. Ireland Heriot 451-3330 ACLAB04 JAVA A. Burger Heriot 451-3328 ACLAB10 A.I. P. Trinder Caledonian 451-4190 ACLAB08 Multimedia L. Mackinnon Caledonian 451-4170 Ιανουάριος 2006 Καραδήμας Ν. 27 Τρίτη Κανονική Μορφή (3NF) Ορισµός: Ένα σχεσιακό σχήµα R είναι στην 3NF εάν είναι στην 2NF και κάθε κοινό χαρακτηριστικό δεν είναι µεταβατικό εξαρτηµένο στο πρωτεύον κλειδί του R Ο αλγόριθµος για να οδηγηθούµε στην 3NF είναι παρόµοιος µε τον αλγόριθµο για να οδηγηθούµε στην 2NF Εφαρµόζοντας τον έχει σαν αποτέλεσµα την ανάλυση του πίνακα «Μάθηµα» σε δύο νέους πίνακες... Ιανουάριος 2006 Καραδήμας Ν. 28 14
Τρίτη Κανονική Μορφή (3NF) Μάθηµα (ΚωδΜαθήµατος, ΌνοµαΜαθ,ΌνοµαΚαθηγητή) Λέκτορας (ΌνοµαΚαθηγητή,Τοµέας, Αρ.Τηλεφώνου) Αυτή η ανάλυση βασίζεται στην µεταβατική εξάρτηση (για τον πρωτότυπο πίνακα «Μάθηµα»): ΚωδΜαθήµατος ΌνοµαΜαθ ΚωδΜαθήµατος ΌνοµαΚαθηγητή ΌνοµαΚαθηγητή Τοµέας ΌνοµαΚαθηγητή Αρ.Τηλεφώνου Ιανουάριος 2006 Καραδήμας Ν. 29 ΜοντέλοER & Κανονικοποίηση Ποιαείναιηεπαφήµεταξύτουµοντέλου ER και της κανονικοποίησης? Απάντηση Είναι συµπληρωµατικές τεχνικές Η κανονικοποίηση µπορεί, και καλό θα είναι, να χρησιµοποιηθεί σαν επαλήθευση της ποιότητας του σχεσιακού σχήµατος που προέρχεται από ένα εννοιολογικό µοντέλο ER Ιανουάριος 2006 Καραδήμας Ν. 30 15
Ηδιαδικασία: ΜοντέλοER & Κανονικοποίηση Ανάπτυξηενός ER (εννοιολογικού) µοντέλουτου προβλήµατος Μετατροπήτου ER µοντέλου, χρησιµοποιώνταςτους κατάλληλους κανόνες, σε ένα σχεσιακό σχήµα Για κάθε σχέση στο σχήµα, προσδιορισµός των εξαρτήσεων που συνδέουν τα χαρακτηριστικά τους και χρησιµοποίηση αυτών για επαλήθευση της κανονικοποιηµένης κατάστασής τους Ιανουάριος 2006 Καραδήμας Ν. 31 16