Περικλής Α. Μήτκας 5-1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο2013 Ενότητα 5 Κανονικοποίηση Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών Α.Π.Θ. Κανονικοποίηση(Normalization) FLIGHT-SCHEDULE FLIGHT-SCHEDULE μη-κανονικοποιημένη FLIGHT# AIRLINE WEEKDAY PRICE 101 delta Mo,Fr 156 545 american Mo,We,Fr 110 912 scandinavian Fr 450 πλεονάζουσα FLIGHT# AIRLINE WEEKDAY PRICE 101 delta Mo 156 545 american Mo 110 912 scandinavian Fr 450 101 delta Fr 156 545 american We 110 545 american Fr 110 FLIGHT-SCHEDULE FLIGHT-WEEKDAY FLIGHT# WEEKDAY 101 Mo 545 Mo 912 Fr 101 Fr 545 We 545 Fr just right! FLIGHT# AIRLINE PRICE 101 delta 156 545 american 110 912 scandinavian 450 2 Κανονικές Μορφές Η κανονικοποίηση(normalization) των δεδομένων είναι μια διαδικασία ελέγχου των προτεινόμενων σχέσεων η οποία βοηθά στη διαμόρφωση ενός ικανοποιητικού σχήματος Το σχήμα μπορεί να βρίσκεται σε μια από τις επιτρεπόμενες κανονικές μορφές (normal forms) Ο Coddαρχικά πρότεινε τρεις κανονικές μορφές (1NF, 2NF, 3NF), οι οποίες αργότερα συμπληρώθηκαν με τη μορφή Boyce-Codd(BCNF) και άλλες δύο (4NFκαι 5NF) Επιπλέον κανονικές μορφές, που πληρούν πρόσθετα κριτήρια, μπορούν να ορισθούν Disclaimer: εν είναι πάντα απαραίτητο οι σχέσεις να κανονικοποιούνται στην ανώτερη δυνατή κανονική µορφή. Το κριτήριο της απόδοσης του Σ Β πρέπει πάντα να λαµβάνεται υπόψη. Πρώτη Κανονική Μορφή (1NF) Τα γνωρίσματα πρέπει να περιλαμβάνουν μόνο ατομικές τιμές Μέρος του ορισμού μιας σχέσης ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΔΙΑΒΑΣΜΑ, ΜΟΥΣΙΚΗ, ΤΕΝΝΙΣ ΠΕΡΙΚΛΗΣ ΜΗΤΚΑΣ ΑΒ988776 ΜΕΓ. ΑΛΕΞΑΝΔΡΟΥ 35 ΔΙΑΒΑΣΜΑ ΦΩΤΗΣ ΑΛΕΞΙΟΥ Ρ777777 ΦΙΛΙΠΠΟΥ 75 ΜΟΥΣΙΚΗ ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΔΙΑΒΑΣΜΑ ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΜΟΥΣΙΚΗ ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΤΕΝΝΙΣ ΠΕΡΙΚΛΗΣ ΜΗΤΚΑΣ ΑΒ988776 ΜΕΓ. ΑΛΕΞΑΝΔΡΟΥ 35 ΔΙΑΒΑΣΜΑ ΦΩΤΗΣ ΑΛΕΞΙΟΥ Ρ777777 ΦΙΛΙΠΠΟΥ 75 ΜΟΥΣΙΚΗ 1NF 3 4
Περικλής Α. Μήτκας 5-2 Πρώτη Κανονική Μορφή (1NF) Όλα τα σχήματα δεν είναι ίδια ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΔΙΑΒΑΣΜΑ ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΜΟΥΣΙΚΗ ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΤΕΝΝΙΣ ΠΕΡΙΚΛΗΣ ΜΗΤΚΑΣ ΑΒ988776 ΜΕΓ. ΑΛΕΞΑΝΔΡΟΥ 35 ΔΙΑΒΑΣΜΑ ΦΩΤΗΣ ΑΛΕΞΙΟΥ Ρ777777 ΦΙΛΙΠΠΟΥ 75 ΜΟΥΣΙΚΗ Κάθε άτομο αναπαριστάται, στη γενική περίπτωση, από πολλές πλειάδες Πλεονάζουσα αποθήκευση Ανωμαλία ενημέρωσης: σε περίπτωση αλλαγής διεύθυνσης, πρέπει να ενημερωθούν όλες οι πλειάδες που αναφέρονται στο αντίστοιχο άτομο Ανωμαλία εισαγωγής: δεν μπορούν να εισαχθούν άτομα των οποίων δεν γνωρίζουμε τα χόμπι( δεν μπορούμε να έχουμε τιμή NULL σε γνώρισμα που συμμετέχει στο πρωτεύον κλειδί) Ανωμαλία διαγραφής: στην περίπτωση που ένα άτομο έχει ένα μόνο χόμπι, αναπαριστάται από μία μόνο εγγραφή στον πίνακα. Αν βαρεθεί το χόμπι αυτό και το παρατήσει, πως μπορούμε να χειριστούμε την αλλαγή; διαγραφή ολόκληρης της πλειάδας χάνονται όλες οι πληροφορίες για το άτομο αντικατάσταση του χόμπι με την τιμή NULL δεν είναι δυνατή Γιατί αυτή η σχεδίαση δεν είναι τόσο καλή; Γραμματεία (ΑΕΜ, Όνομα, Διεύθυνση, Κωδ_Μαθ, Τίτλος_Μαθ, Βαθμός) Γιατί αυτή είναι προτιμότερη; Φοιτητής(ΑΕΜ, Όνομα, Διεύθυνση) Μάθημα(Κωδ_Μαθ, Τίτλος_Μαθ) Δήλωση(ΑΕΜ, Κωδ_Μαθ, Βαθμός) 5 6 Παράδειγμα κακής σχεδίασης Η σχέση ΓΡΑΜΜΑΤΕΙΑ είναι σε 1 η ΚΜ, αλλά ΓΡΑΜΜΑΤΕΙΑ ΑΕΜ Όνομα Διεύθυνση Κωδ_Μαθ Τίτλος Βαθμός 7891 Αλεξίου Καστοριά ΕΕ321 Αερολογία 7 8321 Ιωάννου Θεσ/νίκη ΗΜ422 Βάσεις 6 7456 Χρηστίδης Χανιά ΗΜ357 Δομές 8 7891 Αλεξίου Καστοριά ΗΜ357 Δομές 9 6745 Δήμου Λάρισα ΗΜ422 Βάσεις 7 Περιέχει πλεονάζουσα πληροφορία (Όνομα και Διεύθυνση, Τίτλος) Κάποια πληροφορία (π.χ. η σχετική με τα μαθήματα) εξαρτάται από την ύπαρξη φοιτητών Βασικοί Ορισμοί Επανάληψη Δεδομένης μίας σχέσης Rμε γνωρίσματα A 1,, A N, ένα (υποψήφιο)κλειδίτης σχέσηςr είναι ένα σύνολο γνωρισμάτων K = A i1,, A ik το οποίο έχει τις ακόλουθες ιδιότητες: 1. Αν uκαιv είναι διακριτές πλειάδες της R, τότε u[k] v[k] υπάρχει πάντα τουλάχιστον μία στήλη A im στο σύνολο στηλών K,τέτοια ώστεu[a im ] v[a im ] 2. Κανένα ορθό υποσύνολο H του K δεν έχει την ιδιότητα 1 Με τον όρο υπερκλειδίαναφερόμαστε σε κάθε σύνολο γνωρισμάτων που έχει την ιδιότητα 1, αλλά όχι απαραίτητα και την ιδιότητα 2 Πρωτεύον κλειδί της σχέσης R είναι το υποψήφιο κλειδί που επιλέγεται από το σχεδιαστή της ΒΔ για να προσδιορίζει μοναδικά τις γραμμές της R Σε μία σχέση R, ένα γνώρισμα A είναι πρωτεύον (prime)αν και μόνο αν το γνώρισμα Α ανήκει σε κάποιο κλειδί Κ της σχέσης 7 8
Συναρτησιακή Εξάρτηση (ΣΕ) Συναρτησιακές Εξαρτήσεις Παράδειγμα Δεδομένης σχέσης R με δύο τουλάχιστον γνωρίσματα A και B, λέμε ότι A B ή το Α καθορίζει συναρτησιακά (functionally determines)το B ή το B είναι συναρτησιακά εξαρτώμενο (functionally dependent) από το A αν και μόνο αν (για κάθε σύνολο γραμμών που μπορεί να υπάρξουν στη σχέση) δύο γραμμές της R δεν μπορούν να συμφωνούν στην τιμή του γνωρίσματος A και να διαφέρουν στην τιμή του B Συναρτησιακές εξαρτήσεις που θα έπρεπε να ισχύουν στη βάση Φοιτητών-Μαθημάτων {ΑΕΜ} {Όνομα, Διεύθυνση} {Κωδ_Μαθ} {Τίτλος_Μαθ} {ΑΕΜ, Κωδ_Μαθ} {Βαθμός} κάθε σχήµα (σωστό ή όχι) θα πρέπει να διέπεται από αυτές τις εξαρτήσεις Ο παραπάνω ορισµός µπορεί να επεκταθεί για σύνολα γνωρισµάτων X = A 1,, A K και Y = B 1,, B M (όπου Χ Υ ) Δεδομένου του σχήματος σχέσης(συνόλου γνωρισμάτων) S και των υποσυνόλων Xκαι Y τηςs, ένα στιγμιότυποr του σχήματοςs ικανοποιεί τη συναρτησιακή εξάρτηση X Y,αν και μόνο αν για οποιοδήποτε ζεύγος πλειάδωνt 1 καιt 2 στην Rισχύει t 1 [X]=t 2 [X] t 1 [Y] = t 2 [Y] Κάθε συναρτησιακή εξάρτηση X Yορίζεται με βάση ένα ζεύγος συνόλων. Π.χ.Χ = {Α, Β} και Υ = {C, D} αντί για {A, B} {C,D} συνήθως σημειώνουμε πιο απλά A,B C,D ή AB CD 9 10 Συναρτησιακές Εξαρτήσεις Παράδειγμα ΣΕ και Περιορισμοί Κλειδιού ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΔΙΑΒΑΣΜΑ ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΜΟΥΣΙΚΗ ΚΑΙΤΗ ΔΗΜΟΥ Σ999999 ΜΑΚΕΔΟΝΙΑΣ 28 ΤΕΝΝΙΣ ΠΕΡΙΚΛΗΣ ΜΗΤΚΑΣ ΑΒ988776 ΜΕΓ. ΑΛΕΞΑΝΔΡΟΥ 35 ΔΙΑΒΑΣΜΑ ΦΩΤΗΣ ΑΛΕΞΙΟΥ Ρ777777 ΦΙΛΙΠΠΟΥ 75 ΜΟΥΣΙΚΗ ΑΡΙΘ_ΤΑΥΤ ΔΙΕΥΘΥΝΣΗ TRUE ΑΡΙΘ_ΤΑΥΤ ΟΝΟΜΑ TRUE ΑΡΙΘ_ΤΑΥΤ ΟΝΟΜΑ, ΔΙΕΥΘΥΝΣΗ TRUE ΑΡΙΘ_ΤΑΥΤ ΧΟΜΠΥ NOT TRUE ΧΟΜΠΥ ΑΡΙΘ_ΤΑΥΤ NOT TRUE ΟΝΟΜΑ ΔΙΕΥΘΥΝΣΗ TRUE Τυχαία ΣΕ (FD) δεν µπορούµε να εγγυηθούµε ότι θα ισχύει και στο µέλλον Οι περιορισμοί κλειδιού αποτελούν ειδικές περιπτώσεις συναρτησιακών εξαρτήσεων Δεδομένου ενός περιορισμού κλειδιού key(κ) στη σχέσηr,εξ ορισμού, η R ικανοποιεί τον περιορισμό key(κ) αν και μόνο αν δεν υπάρχει ζευγάρι διακριτών πλειάδων {t, s} R, τέτοιο ώστε οι t και s να συμφωνούν σε κάθε γνώρισμα του συνόλου Κ όπου Κ το σύνολο των γνωρισμάτων στον περιορισμό κλειδιού Ο περιορισμός κλειδιού key(κ)στη σχέσηr είναι ισοδύναμος με τη συναρτησιακή εξάρτηση Κ Head(R) όπου Κ το σύνολο των γνωρισμάτων στον περιορισμό κλειδιού και Head(R)το σύνολο όλων των γνωρισμάτων στο σχήμα της R 11 12 Περικλής Α. Μήτκας 5-3
Τετριμμένες Συναρτησιακές Εξαρτήσεις Μία τετριμμένη (trivial) συναρτησιακή εξάρτησηείναι μία ΣΕ της μορφήςx Y,σε μία σχέσηr όπου X Y Head(R), η οποία ισχύει για κάθε πιθανό περιεχόμενο της σχέσης R η X Y είναι τετριμμένη ΣΕ, όταν Y X Παραδείγµατα Α Α Α, Β Β Α, Β Α Αξιώματα του Armstrong Δεδομένων μία σχέσης R με γνωρίσματα Head(R) και τριών συνόλων γνωρισμάτων X, Y, Z που περιέχονται στο Head(R), ισχύουν οι ακόλουθοι κανόνες, γνωστοί ως αξιώματα του Armstrong: Συμπερίληψη (Inclusion) ανy X, τότεx Y Μεταβατικότητα (Transitivity) ανx Y καιy Z, τότεx Z Προσαύξηση (Augmentation) αν X Y, τότεxz YZ (όπου τοxz είναι ισοδύναμο με τοx Z) 13 14 Επιπλέον κανόνες για τις ΣΕ Με βάση τα αξιώµατα του Armstrong Πλήρης Συναρτησιακή Εξάρτηση Υποθέτοντας ότι όλα τα σύνολα γνωρισμάτων W, X, Y, και Z περιέχονται στο Head(R): Ένωση (Union) ανx Y καιx Z, τότεx YZ Αποσύνθεση (Decomposition) ανx YZ, τότεx Y καιx Z Ψευδο-μεταβατικότητα (Pseudotransitivity) ανx Yκαι WY Z, τότε XW Z Συσσώρευση συνόλων (Set accumulation) αν X YZ και Z W, τότε X YZW Σε μία σχέση R, το γνώρισμα B (της R) είναι πλήρως συναρτησιακά εξαρτώμενο (fully functionally dependent) από ένα γνώρισμα ή σύνολο γνωρισμάτων A της R(Α Head(R)), αν τοb είναι συναρτησιακά εξαρτώμενο από το Α, αλλά δεν είναι συναρτησιακά εξαρτώμενο από κανένα ορθό υποσύνολο του A Παράδειγµα Για τις ΣΕ στη βάση Φοιτητών-Μαθημάτων ισχύουν τα εξής {ΑΕΜ, Κωδ_Μαθ} {Βαθμός} TRUE {ΑΕΜ} {Βαθμός} NOT TRUE {Κωδ_Μαθ} {Βαθμός} NOT TRUE Άρα ο {Βαθμός} είναι πλήρως συναρτ. εξαρτώμενος από τα {ΑΕΜ,Κωδ_Μαθ} 15 16 Περικλής Α. Μήτκας 5-4
Περικλής Α. Μήτκας 5-5 Δεύτερη Κανονική Μορφή (2NF) 2 η Κανονική Μορφή Παράδειγμα Μια σχέση R βρίσκεται σε δεύτερη κανονική μορφή (second normal form 2NF) όταν βρίσκεται σε 1NF και κάθε μη-πρωτεύον (non-prime) γνώρισμα Α της R είναι πλήρως συναρτησιακά εξαρτώμενο από κάθε (υποψήφιο) κλειδί της R Μια σχέση R με ένα σύνολο συναρτησιακών εξαρτήσεων F βρίσκεται σε δεύτερη κανονική μορφή (2NF) όταν για κάθε συναρτησιακή εξάρτηση X A που υπονοείται από το F και ισχύει για τηνr(όπου το Α είναι ένα μόνο μη-πρωτεύον γνώρισμα το οποίο δεν περιέχεται στο Χ), τοχ δεν είναι ορθό υποσύνολο κανενός κλειδιού K της R Είναι η παρακάτω σχέση σε 2NF; ΑΡΙΘ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ ΕΡΓ_ΟΝΟΜΑ Ε_ΤΙΤΛΟΣ ΤΟΠ_ΕΡΓΟΥ Τo {ΑΡΙΘ_ΤΑΥΤ,ΚΩΔ_ΕΡΓΟΥ}αποτελεί υποψήφιο κλειδί της σχέσης και, επομένως, ισχύουν οι συναρτησιακές εξαρτήσεις ΑΡΙΘ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ ΑΡΙΘ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΕΡΓ_ΟΝΟΜΑ ΑΡΙΘ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ Ε_ΤΙΤΛΟΣ Ισχύουν, επίσης, οι εξής συναρτησιακές εξαρτήσεις: ΑΡΙΘ_ΤΑΥΤ ΕΡΓ_ΟΝΟΜΑ ΚΩΔ_ΕΡΓΟΥ Ε_ΤΙΤΛΟΣ ΚΩΔ_ΕΡΓΟΥ ΤΟΠ_ΕΡΓΟΥ Το µη-πρωτεύον γνώρισµα Ε_ΤΙΤΛΟΣ δεν είναι πλήρως συναρτησιακά εξαρτώµενο από το υποψήφιο κλειδί {ΑΡΙΘ_ΤΑΥΤ, ΚΩ _ΕΡΓΟΥ} και η σχέση δεν είναι σε 2NF 17 18 2 η Κανονική Μορφή Αποσύνθεση Μια σχέση που δεν είναι σε 2NFμπορεί να αποσυντεθεί(decomposition) σε σχέσεις σε 2NF,στις οποίες τα μη πρωτεύοντα γνωρίσματα σχετίζονται με το τμήμα εκείνο του (υποψήφιου)κλειδιού από το οποίο είναι πλήρως συναρτησιακά εξαρτώμενα ΑΡΙΘ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ ΕΡΓ_ΟΝΟΜΑ Ε_ΤΙΤΛΟΣ ΤΟΠ_ΕΡΓΟΥ Κανονικοποίηση σε 2NF ΑΡΙΘ_ΤΑΥΤ ΕΡΓ_ΟΝΟΜΑ ΚΩΔ_ΕΡΓΟΥ Ε_ΤΙΤΛΟΣ ΤΟΠ_ΕΡΓΟΥ ΑΡΙΘ_ΤΑΥΤ ΚΩΔ_ΕΡΓΟΥ ΩΡΕΣ Τρίτη Κανονική Μορφή(3NF) Μια σχέση R βρίσκεται σε τρίτη κανονική μορφή (third normal form 3NF) αν βρίσκεται σε 2NF και κανένα μη πρωτεύον γνώρισμα της R δεν εξαρτάται μεταβατικά από κάποιο (υποψήφιο) κλειδί της R Μια σχέση R με ένα σύνολο συναρτησιακών εξαρτήσεων F βρίσκεται σε τρίτη κανονική μορφή (3NF) όταν για κάθε συναρτησιακή εξάρτηση X A που υπονοείται από το F και ισχύει για τηνr(όπου το Α είναι ένα μόνο γνώρισμα το οποίο δεν περιέχεται στο Χ), πρέπει να ισχύει μία από τις ακόλουθες δύο ιδιότητες: είτε (i) το Χ είναι υπερκλειδίτης R,ή(ii) τοa είναι πρωτεύον γνώρισμα της R 19 20
Περικλής Α. Μήτκας 5-6 Why are the two definitions of 3NF equivalent? Assume the FD X A, where A is non-prime, and remember that if X is a superkey for R, then there is a key K of R such that K X. Now, if X is not a superkey for R, then X does not contain any key K and (K X) is non-empty for all K. Then two cases are possible. Either: X K for some key K of R (i.e., some attributes of R are functionally determined by a proper subset X of a key K and, thus, the relation is not even in 2NF); or (X K) is non-empty for all keys K of R and, thus, some attributes of R are functionally determined by a set X at least partially outside each K (i.e., a different set of attributes that does not contain and is not contained in any key set). In this case, the functional dependency K A is implied by transitivity, as we have K X for any key and it holds that X A. Thus, the non-prime attribute A is transitively dependent on the key K. 3 η Κανονική Μορφή Παράδειγμα Είναι η παρακάτω σχέση σε 3NF; ΕΡΓ_ΟΝΟΜΑ ΑΡ_ΤΑΥΤ ΗΜ_ΓΕΝ ΔΙΕΥΘΥΝΣΗ ΚΩΔ_ΤΜΗΜ Τ_ΟΝΟΜΑ ΔΙΕΥΘΥΝΤΗΣ Ο{ΑΡΙΘ_ΤΑΥΤ} αποτελεί (το μοναδικό) υποψήφιο κλειδί της σχέσης και, επομένως, ισχύουν οι ΣΕ ΑΡΙΘ_ΤΑΥΤ ΕΡΓ_ΟΝΟΜΑ ΑΡΙΘ_ΤΑΥΤ ΗΜ-ΓΕΝ ΑΡΙΘ_ΤΑΥΤ ΔΙΕΥΘΥΝΤΗΣ Ισχύουν, επίσης, οι εξής ΣΕ: ΚΩΔ_ΤΜΗΜ Τ_ΟΝΟΜΑ ΚΩΔ_ΤΜΗΜ ΔΙΕΥΘΥΝΤΗΣ Όλα τα µη-πρωτεύοντα γνωρίσµατα της σχέσης είναι πλήρως συναρτ. εξαρτώµενα από το (µοναδικό) υποψήφιο κλειδί {ΑΡΙΘ_ΤΑΥΤ} και, άρα, η σχέση είναι σε 2NF οι ΑΡΙΘ_ΤΑΥΤ Τ_ΟΝΟΜΑ και ΑΡΙΘ_ΤΑΥΤ ΙΕΥΘΥΝΤΗΣ είναι µεταβατικές και, εποµένως, η σχέση δεν είναι σε 3NF 21 22 3 η Κανονική Μορφή Αποσύνθεση Μια σχέση που δεν είναι σε 3NFμπορεί να αποσυντεθεί σε σχέσεις σε 3NF Παράδειγμα Κανονικοποίησης(1/4) ΙΔΙΟΚΤΗΣΙΑ ΚΩΔ_ΙΔΙΟΚΤ ΔΗΜΟΣ ΚΩΔ_ΤΕΜ ΠΕΡΙΟΧΗ ΑΝΤΙΚ_ΑΞΙΑ Π_ΦΟΡΟΥ ΕΡΓ_ΟΝΟΜΑ ΑΡ_ΤΑΥΤ ΗΜ_ΓΕΝ ΔΙΕΥΘΥΝΣΗ ΚΩΔ_ΤΜΗΜ Τ_ΟΝΟΜΑ ΔΙΕΥΘΥΝΤΗΣ Κανονικοποίηση σε 3NF ΕΡΓ_ΟΝΟΜΑ ΑΡ_ΤΑΥΤ ΗΜ_ΓΕΝ ΔΙΕΥΘΥΝΣΗ ΚΩΔ_ΤΜΗΜ ΚΩΔ_ΤΜΗΜ Τ_ΟΝΟΜΑ ΔΙΕΥΘΥΝΤΗΣ Στον πίνακα ΙΔΙΟΚΤΗΣΙΑ τα (υποψήφια) κλειδιά είναι: ΚΩΔ_ΙΔΙΟΚΤ και {ΔΗΜΟΣ, ΚΩΔ_ΤΕΜ} άρα ισχύει η συναρτησιακή εξάρτηση {ΔΗΜΟΣ, ΚΩΔ_ΤΕΜ} Π_ΦΟΡΟΥ Ο πίνακας δεν είναι σε 2 η κανονική µορφή ισχύει η συναρτησιακή εξάρτηση ΔΗΜΟΣ Π_ΦΟΡΟΥ, ενώ ΔΗΜΟΣ {ΔΗΜΟΣ, ΚΩΔ_ΤΕΜ} και, άρα, το non-prime γνώρισμα Π_ΦΟΡΟΥ δεν είναι πλήρως συναρτησιακά εξαρτώμενο από το κλειδί {ΔΗΜΟΣ, ΚΩΔ_ΤΕΜ} 23 24
Παράδειγμα Κανονικοποίησης(2/4) Παράδειγμα Κανονικοποίησης(3/4) Bήμα1 ο : Κανονικοποίησησε πίνακες σε 2NF ΙΔΙΟΚΤΗΣΙΑ ΚΩΔ_ΙΔΙΟΚΤ ΔΗΜΟΣ ΚΩΔ_ΤΕΜ ΠΕΡΙΟΧΗ ΑΝΤΙΚ_ΑΞΙΑ Π_ΦΟΡΟΥ ΙΔΙΟΚΤΗΣΙΑ_1 ΚΩΔ_ΙΔΙΟΚΤ ΔΗΜΟΣ ΚΩΔ_ΤΕΜ ΠΕΡΙΟΧΗ ΑΝΤΙΚ_ΑΞΙΑ ΙΔΙΟΚΤΗΣΙΑ_2 ΔΗΜΟΣ Π_ΦΟΡΟΥ ΙΔΙΟΚΤΗΣΙΑ_1 ΚΩΔ_ΙΔΙΟΚΤ ΔΗΜΟΣ ΚΩΔ_ΤΕΜ ΠΕΡΙΟΧΗ ΑΝΤΙΚ_ΑΞΙΑ ΙΔΙΟΚΤΗΣΙΑ_2 ΔΗΜΟΣ Π_ΦΟΡΟΥ Στον πίνακα Ι ΙΟΚΤΗΣΙΑ_1 τα υποψ. κλειδιά είναι: ΚΩ _Ι ΙΟΚΤ και { ΗΜΟΣ, ΚΩ _ΤΕΜ}. Ο πίνακας είναι σε 2NF, αφού όλα τα non-prime γνωρίσµατά του είναι πλήρως συναρτησιακά εξαρτώµενα από τα δύο υποψήφια κλειδιά. 25 O πίνακας Ι ΙΟΚΤΗΣΙΑ_1 δεν είναι σε 3η κανονική µορφή το γνώρισμα ΑΝΤΙΚ_ΑΞΙΑ είναι non-primeκαι ισχύει η συναρτησιακή εξάρτηση ΠΕΡΙΟΧΗ ΑΝΤΙΚ_ΑΞΙΑ, όπου το ΠΕΡΙΟΧΗ δεν είναι υπερκλειδί του ΙΔΙΟΚΤΗΣΙΑ1 Εναλλακτικά O πίνακας Ι ΙΟΚΤΗΣΙΑ_1 δεν είναι σε 3η κανονική µορφή ισχύει η μεταβατική συναρτησιακή εξάρτηση {ΔΗΜΟΣ, ΚΩΔ_ΤΕΜ} ΑΝΤΙΚ_ΑΞΙΑ, η οποία προκύπτει από τις συναρτησιακές εξαρτήσεις {ΔΗΜΟΣ, ΚΩΔ_ΤΕΜ} ΠΕΡΙΟΧΗ και ΠΕΡΙΟΧΗ ΑΝΤΙΚ_ΑΞΙΑ 26 Παράδειγμα Κανονικοποίησης(4/4) Bήμα2 ο : Κανονικοποίησησε πίνακες σε 3NF ΙΔΙΟΚΤΗΣΙΑ_1 ΚΩΔ_ΙΔΙΟΚΤ ΔΗΜΟΣ ΚΩΔ_ΤΕΜ ΠΕΡΙΟΧΗ ΑΝΤΙΚ_ΑΞΙΑ ΙΔΙΟΚΤΗΣΙΑ_1Α ΚΩΔ_ΙΔΙΟΚΤ ΔΗΜΟΣ ΚΩΔ_ΤΕΜ ΠΕΡΙΟΧΗ ΙΔΙΟΚΤΗΣΙΑ_2 ΔΗΜΟΣ Π_ΦΟΡΟΥ ΙΔΙΟΚΤΗΣΙΑ_2 ΔΗΜΟΣ Π_ΦΟΡΟΥ Κανονική Μορφή Boyce-Codd(BCNF) Μια σχέση R βρίσκεται σε κανονική μορφή Boyce-Codd (BCNF) αν και μόνο αν για κάθε συναρτησιακή εξάρτηση Χ Υ στην R (όπου τα Χ και Υ είναι υποσύνολα γνωρισμάτων της R) ισχύει τουλάχιστον μία από τις ακόλουθες δύο συνθήκες: (i) η X Y είναι τετριμμένη συναρτησιακή εξάρτηση (Y X)ή (ii) το Χ είναι υπερκλειδίτης R ΗμορφήBCNFείναιπιοαυστηρήαπότην3NF ΙΔΙΟΚΤΗΣΙΑ_1Β ΠΕΡΙΟΧΗ ΑΝΤΙΚ_ΑΞΙΑ Ο πίνακας Ι ΙΟΚΤΗΣΙΑ_1Α είναι σε 3 η ΚΜ, αφού για το (µοναδικό) non-prime γνώρισµα ΠΕΡΙΟΧΗ ισχύουν οι ΣΕ: { ΗΜΟΣ, ΚΩ _ΤΕΜ} ΠΕΡΙΟΧΗ και ΚΩ _Ι ΙΟΚΤ ΠΕΡΙΟΧΗ, οι οποίες εµπλέκουν (υπερ)κλειδιά του πίνακα. Συνήθως θέλουµε τις σχέσεις σε 3ΚΜ ή σε BCNF 27 28 Περικλής Α. Μήτκας 5-7
Περικλής Α. Μήτκας 5-8 BCNF Παράδειγμα 1 BCNF Αποσύνθεση (1/2) Είναι η παρακάτω σχέση σε BCNF; ΤΙΤΛΟΣ ΕΤΟΣ ΔΙΑΡΚΕΙΑ ΕΙΔΟΣ ΟΝΟΜΑ_ΗΘΟΠΟΙΟΥ Τo {ΤΙΤΛΟΣ,ΕΤΟΣ, ΟΝΟΜΑ_ΗΘΟΠΟΙΟΥ}αποτελεί υποψήφιοκλειδί Το {ΤΙΤΛΟΣ, ΕΤΟΣ} δεναποτελεί υποψήφιο κλειδί (και, άρα, ούτε υπερκλειδί) Ισχύει, επίσης, η συναρτησιακή εξάρτηση: {ΤΙΤΛΟΣ, ΕΤΟΣ} ΔΙΑΡΚΕΙΑ Η σχέση δεν είναι σε BCNF, γιατί ισχύει η ΣΕ {ΤΙΤΛΟΣ, ΕΤΟΣ} ΙΑΡΚΕΙΑ, στην οποία το {ΤΙΤΛΟΣ, ΕΤΟΣ} δεν αποτελεί υπερκλειδί της σχέσης Έστω η σχέση CLASS (course_id, title, dept_name, ECTS, sec_id, semester, year, building, room_number, capacity, time_slot_id) Ισχύουν οι συναρτησιακές εξαρτήσεις: course_id {title, dept_name, ECTS} {building, room_number} capacity {course_id, sec_id, semester, year} {building, room_number, time_slot_id} Ένα υποψήφιο κλειδί είναι το{course_id, sec_id, semester, year} Η CLASS δεν είναι σε BCNF αφού ισχύει η course_id {title, dept_name, ECTS}, η οποία δεν είναι trivial, και το course_id δεν είναι υπερκλειδί Αντικαθιστούμε την CLASSμε τις σχέσεις: COURSE( course_id, title, dept_name, ECTS ) CLASS-1( course_id, sec_id, semester, year, building, room_number, capacity, time_slot_id ) 29 30 BCNF Αποσύνθεση (2/2) COURSE( course_id, title, dept_name, ECTS ) CLASS-1( course_id, sec_id, semester, year, building, room_number, capacity, time_slot_id ) H σχέση COURSE είναι σε BCNF H σχέση CLASS-1 δεν είναι σε BCNF Ισχύει η {building,room_number} capacity, αλλά το {building, room_number} δεν είναι υπερκλειδίτηςclass-1 Αντικαθιστούμε την CLASS-1 με τις σχέσεις: CLASSROOM( building, room_number, capacity ) SECTION( course_id, sec_id, semester, year, building, room_number, time_slot_id ) Οι CLASSROOM και SECTION είναι σε BCNF. Γιατί; Κανονικοποίηση Περίληψη 1NF Είναι όλες οι τιµές των γνωρισµάτων ατοµικές; 2NF Υπάρχουν συναρτησιακές εξαρτήσεις όλων των non-prime γνωρισµάτων από τα υποψήφια κλειδιά; 3NF Υπάρχουν συναρτησιακές εξαρτήσεις µεταξύ των non-prime γνωρισµάτων; BCNF Είναι όλα τα ορίζοντα µέλη µιας συναρτησιακής εξάρτησης υποψήφια κλειδιά; 31 32
Περικλής Α. Μήτκας 5-9 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο2013 Τέλος Ενότητας 5 Ευχαριστώ για την προσοχή σας!