8 Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση  Πλεονασμός δεδομένων  Συναρτησιακές εξαρτήσεις  Κλειστότητα συναρτησιακών εξαρτήσεων  Κανονικές μορφές.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Γραφήματα & Επίπεδα Γραφήματα
Advertisements

ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΜΑΘΗΜΑ 5.
ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 2 ΜΑΘΗΜΑ 4.
Κανονικές Μορφές Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση.
Απαντήσεις Προόδου II.
Τα στοιχειώδη περί γεωδαιτικών υπολογισμών
Δρ. Παναγιώτης Συμεωνίδης
Ανάλυση του λευκού φωτός και χρώματα
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
Κ. Μόδη: Γεωστατιστική και Εφαρμογές της (Κεφάλαιο 5) 1 Τυχαία συνάρτηση Μία τυχαία συνάρτηση (ΤΣ) είναι ένας κανόνας με τον οποίο σε κάθε αποτέλεσμα ζ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Συναρτησιακές εξαρτήσεις
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ ΜΑΘΗΜΑ 4.
ΚΕΦΑΛΑΙΟ 3 Περιγραφική Στατιστική
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Μεταθέσεις & Συνδυασμοί
ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization)
ανώτερες κανονικές μορφές
Βάσεις Δεδομένων Ι Ενότητα 9: Πρόσθετη κανονικοποίηση: κανονικές μορφές 1 η, 2 η, 3 η και ΚΜ-BC Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός.
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικές Μορφές.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικές Μορφές.
8 Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση  Πλεονασμός δεδομένων  Συναρτησιακές εξαρτήσεις  Κλειστότητα συναρτησιακών εξαρτήσεων  Κανονικές μορφές.
Κανονικοποίηση, συναρτησιακές εξαρτήσεις
Κεφάλαιο 7 Εισαγωγή στις βάσεις δεδομένων ISBN Εισαγωγή Η θεωρία της κανονικοποίησης υποστηρίζει την εύρεση της πλέον κατάλληλης εννοιολογικής.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Εφαρμογή Κανονικοποίησης
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Συναρτησιακές Εξαρτήσεις
Κανονικοπηση(normalization)
Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση
Κανονικοποίηση 1η, 2η και 3η Κανονική Μορφή
Σχεσιακεσ βασεισ δεδομενων
ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Μεταγράφημα παρουσίασης:

8 Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση  Πλεονασμός δεδομένων  Συναρτησιακές εξαρτήσεις  Κλειστότητα συναρτησιακών εξαρτήσεων  Κανονικές μορφές  Πλειονότιμες εξαρτήσεις

2 Με την κανονικοποίηση οι σχέσεις απλοποιούνται ώστε να εξαλειφθεί ο πλεονασμός των δεδομένων. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Κανονικοποίηση (normalization)

3 Πλεονασμός δεδομένων Ο πλεονασμός δεδομένων (data redundancy) ευθύνεται για τα εξής προβλήματα: –πρόβλημα ενημέρωσης δεδομένων, –πρόβλημα διαγραφής δεδομένων, και –πρόβλημα εισαγωγής δεδομένων. Για την αποφυγή πλεονασμού οι πίνακες τεμαχίζονται. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

4 Συναρτησιακές εξαρτήσεις Οι συναρτησιακές εξαρτήσεις (functional dependencies) οφείλονται στις ιδιότητες που έχουν τα χαρακτηριστικά των οντοτήτων. Μία συναρτησιακή εξάρτηση μεταξύ X και Y συμβολί- ζεται με X  Y και ορίζει έναν περιορισμό ως προς τις τιμές των χαρακτηριστικών. Λέγεται ότι το σύνολο χαρακτηριστικών Y είναι συναρτησιακά εξαρτώμενο (functional dependent) από το σύνολο X. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

5 Συναρτησιακές εξαρτήσεις Αν δύο πλειάδες έχουν ίδιες τιμές στα χαρακτηριστικά του συνόλου X, τότε θα έχουν ίδιες τιμές και στα χαρακτηριστικά του συνόλου Y. Π.χ. ΑΦΜ  Όνομα, Καθηγητής  Μάθημα Σε ένα σύνολο χαρακτηριστικών μπορεί να υπάρχουν τετριμμένες (trivial) συναρτησιακές εξαρτήσεις (πχ. ΑΦΜ, Όνομα  Όνομα) αλλά και άλλες που μπορούν να συναχθούν. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

6 Αξιώματα Armstrong 1.ανακλαστικός (reflexive) κανόνας : αν Y  X, τότε X  Y. 2.επαυξητικός (augmentation) κανόνας: αν X  Y, τότε XZ  YZ. 3.μεταβατικός (transitive) κανόνας: αν X  Y και Y  Z, τότε X  Z. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

7 Τα Αξιώματα του Armstrong μπορούν να αποδειχθούν. Αποτελούν ένα σύνολο ορθό και πλήρες (sound and complete) επειδή: –δεν παράγουν μη ορθές εξαρτήσεις, και –αρκούν για να παραχθεί το F +. Μπορούν να διατυπωθούν και άλλοι κανόνες, που αποδεικνύονται με τη βοήθεια των αξιωμάτων του Armstrong. Συναρτησιακές εξαρτήσεις – Αξιώματα Armstrong Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

8 Κανόνες παραγωγής συναρτησιακών εξαρτήσεων 4. κανόνας διάσπασης (decomposition): αν X  YZ, τότε X  Y και X  Z. 5. κανόνας ένωσης (union): αν X  Y και X  Z, τότε X  Y Z. 6. ψευδο-μεταβατικός (pseudotransitive) κανόνας: αν X  Y και WY  Z, τότε WX  Z. 7. συσωρευτικός (accumulative) κανόνας: αν X  YZ και Z  BW, τότε X  YBW. 8. γενικός ενοποιητικός (general unification) κανόνας: αν X  Y και Z  W, τότε X U (Z-Y)  YW. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

9 Παράδειγμα εφαρμογής κανόνων παραγωγής ΣΕ Δίνονται τα χαρακτηριστικά W, U, V, X, Y, Z και οι συναρτησιακές εξαρτήσεις: W  UV, U  Y, VX  YZ. Ζητείται να αποδειχθεί ότι ισχύει: WX  Z. Mε διάσπαση από τη W  UV προκύπτει W  V. Με επαύξηση προκύπτει WX  VX. Με μεταβατικότητα προκύπτει WX  YZ. Με διάσπαση προκύπτει WX  Z. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

10 Κλειστότητα συναρτησιακών εξαρτήσεων Το σύνολο των συναρτησιακών εξαρτήσεων που μπορούν να παραχθούν από ένα σύνολο εξαρτήσεων F λέγεται κλειστότητα (closure) και συμβολίζεται με F +. Ένα σύνολο G συναρτησιακών εξαρτήσεων καλύπτεται από (is covered) ένα άλλο σύνολο συναρτησιακών εξαρτήσεων F, όταν κάθε εξάρτηση που ανήκει στο G ανήκει και στο F +. Δύο σύνολα συναρτησιακών εξαρτήσεων F και G καλούνται ισοδύναμα (equivalent) αν ισχύει: F + =G +. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

11 Κλειστότητα συνόλου χαρακτηριστικών Ο προσδιορισμός του συνόλου κλειστότητας F + είναι δαπανηρός ακόμη και για μικρό σύνολο εξαρτήσεων F (δεν υπάρχει πολυωνυμικός αλγόριθμος). Με πολυωνυμικό αλγόριθμο μπορούμε να διαπιστώ- σουμε αν μία συναρτησιακή εξάρτηση A  B ανήκει στο σύνολο F +, χωρίς προηγουμένως να δημιουργή- σουμε το σύνολο F +. Κλειστότητα του συνόλου χαρακτηριστικών X (attribute closure), ως προς το σύνολο των συναρτη- σιακών εξαρτήσεων F, είναι το σύνολο των χαρακτη- ριστικών που είναι συναρτησιακά εξαρτώμενα από το σύνολο X και το συμβολίζουμε με X +. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

12 Αλγόριθμος εύρεσης κλειστότητας συνόλου χαρακτηριστικών Δίνεται η συναρτησιακή εξάρτηση Α  Β και ζητείται να βρεθεί η κλειστότητα του χαρακτηριστικού Α. Με τον αλγόριθμο αυτό διαπιστώνεται αν μία συναρτησιακή εξάρτηση Α  Β είναι περιττή ή όχι. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

13 Εύρεση κλειστότητας συνόλου χαρακτηριστικών - παράδειγμα Δίνεται το σύνολο των εξαρτήσεων F: V  YZ, VZ  W, W  Y, VY  W. Εφαρμόζοντας τον κανόνα της διάσπασης προκύπτει: V  Y, V  Z, VZ  W, W  Y, VY  W. Αν για κάποια αποδειχθεί ότι το δεξιό σκέλος ανήκει στην κλειστότητα του αριστερού, τότε αυτή θα είναι περιττή, καθώς θα μπορεί να παραχθεί από τις υπόλοιπες εξαρτήσεις του F με βάση τους κανόνες παραγωγής. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

14 Εύρεση κλειστότητας συνόλου χαρακτηριστικών – παράδειγμα Θεωρούμε την εξάρτηση V  Y. Ακολουθώντας τα βήματα του προηγούμενου αλγορίθμου έχουμε: Βήμα 1ο: X=V. Βήμα 2ο: X=VZ λόγω της V  Z. Βήμα 3ο: X=VZW λόγω της VZ  W. Βήμα 3ο: X=VZWY λόγω της W  Y. Βήμα 3ο: Δεν μπορούν να γίνουν άλλες επαναλήψεις. Βήμα 4ο: Y ⊆ VZWY, συνεπώς ισχύει η εξάρτηση V  Y ∈ (F-{V  Y}) + και άρα είναι περιττή. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

15 Θεωρούμε την εξάρτηση V  Z και έχουμε: Βήμα 1ο: X=V. Βήμα 2ο: X=VY λόγω της V  Y. Βήμα 3ο: X=VYW λόγω της VY  W. Βήμα 3ο: Δεν μπορούν να γίνουν άλλες επαναλήψεις. Βήμα 4ο: Z ⊆ VYW, συνεπώς ισχύει ότι η εξάρτηση V  Z ∉ (F-{V  Z}) + και άρα δεν είναι περιττή. Προσοχή, αν κάποια εξάρτηση αποδειχθεί περιττή, τότε πρέπει να εξαιρεθεί στη συνέχεια κατά την εξέταση άλλων εξαρτήσεων. Εύρεση κλειστότητας συνόλου χαρακτηριστικών – παράδειγμα Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

16 Άσχετα χαρακτηριστικά Ένα χαρακτηριστικό μίας συναρτησιακής εξάρτησης ονομάζεται άσχετο (extraneous) αν είναι δυνατόν να απαλειφθεί χωρίς να αλλάξει η κλειστότητα του συνόλου των εξαρτήσεων. Έστω η εξάρτηση X  Y του συνόλου F. Ορίζουμε ότι ένα χαρακτηριστικό A είναι άσχετο αν: –A ⊂ X και το σύνολο F είναι ισοδύναμο με το (F –{X  Y}) U {(X–A)  Y}, ή –A ⊂ Y και το σύνολο F είναι ισοδύναμο με το (F –{X  Y}) U {X  (Y-A)}. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

17 Ελάχιστα σύνολα συναρτησιακών εξαρτήσεων Ένα σύνολο εξαρτήσεων F καλείται ελάχιστο (minimal) ή ανάγωγο (irreducible) αν ισχύουν οι εξής συνθήκες: –κάθε συναρτησιακή εξάρτηση του F έχει μόνο ένα χαρακτηριστικό στο δεξιό μέρος. –δεν μπορούμε να αντικαταστήσουμε μία εξάρτηση X  Y με μία άλλη εξάρτηση Z  Y, όπου το Z  X. –δεν μπορούμε να αφαιρέσουμε κάποια συναρτησιακή εξάρ- τηση από το F και να προκύψει ισοδύναμο σύνολο με το F. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

18 Αλγόριθμος εύρεσης ελάχιστης κάλυψης Ένα σύνολο συναρτησιακών εξαρτήσεων F min καλείται ελάχιστη κάλυψη (minimal cover) του F, όταν το F min είναι ελάχιστο και ισοδύναμο με το F. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

19 Η πρώτη κανονική μορφή – 1KM (first normal form – 1NF ) είναι κρίσιμη για το σχεσιακό μοντέλο, ενώ οι υπόλοιπες είναι προαιρετικές. Αν ένας πίνακας βρίσκεται σε μια κανονική μορφή τότε βρίσκεται και σε όλες τις προηγούμενες. Κανονικές μορφές Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

20 Κανονικές μορφές Η 2KM, η 3KM και η κανονική μορφή Boyce-Codd (BCNF) βασίζονται στις συναρτησιακές εξαρτήσεις μεταξύ των κλειδιών (πρωτεύοντα ή υποψήφια). Οι ανώτερες κανονικές μορφές (4KM, 5KM) βασίζονται στις πλειονότιμες (multivalued) εξαρτήσεις και στις εξαρτήσεις σύνδεσης (join). Η κανονικοποίηση (normalization) είναι μία διαδικασία όπου μη ικανοποιητικά σχήματα διασπώνται σε μικρότερα σχήματα με επιθυμητά χαρακτηριστικά. Η κανονικοποίηση επιτυγχάνεται η εξάλειψη των ανωμαλιών κατά την εισαγωγή, διαγραφή, ενημέρωση. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

21 Βασικά ζητήματα κανονικοποίησης Οι κανονικές μορφές παρέχουν: –ένα μεθοδολογικό πλαίσιο για ανάλυση σχημάτων με βάση τα κλειδιά και τις συναρτησιακές εξαρτήσεις, και –μία σειρά ελέγχων που διενεργούνται σε κάθε σχήμα σχέσης για την κανονικοποίηση της ΒΔ. ΔΕΝ υπάρχει εγγύηση της ποιότητας ενός σχήματος αν αυτό είναι σε κανονική μορφή γιατί δεν διασφαλίζεται: –η σύνδεση χωρίς απώλειες (lossless join), δηλαδή ότι δεν εμφανίζεται το πρόβλημα των πλασματικών πλειάδων, και –η διατήρηση των εξαρτήσεων (dependency preservation) σε κάποιες από τις σχέσεις του τελικού σχήματος. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

22 Πρώτη κανονική μορφή Η 1ΚΝ θεωρείται τμήμα του τυπικού ορισμού μίας σχέσης και ορίζει ότι τα χαρακτηριστικά περιλαμ- βάνουν μόνο ατομικές (απλές, αδιαίρετες) τιμές, ενώ η τιμή ενός χαρακτηριστικού είναι μία μόνο τιμή από το πεδίο ορισμού του χαρακτηριστικού. Η 1ΚΜ απαγορεύει να έχουμε ως τιμή γνωρίσματος μία πλειάδα, ένα σύνολο τιμών ή συνδυασμό των δύο. Ο συνδυασμός των δύο οδηγεί σε εμφωλευμένες σχέσεις (nested relations), που είναι αποδεκτό από τη λεγόμενη N1NF (non-first normal from). Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

23 Πρώτη κανονική μορφή - Παράδειγμα ΟΝΟΜΑ_ΤΜΚΩΔ_ΤΜΔΙΕΥΘΥΝΤΗΣΤΟΠΟΘΕΣΙΕΣ_ΤΜ Έρευνα {Αθήνα, Πάτρα, Τρίπολη} Διοίκηση {Τρίπολη} Πωλήσεις {Αθήνα} Ισχύει ΟΝΟΜΑ_ΤΜ  ΤΟΠΟΘΕΣΙΕΣ_ΤΜ αλλά δεν έχουμε 1ΚΜ. ΟΝΟΜΑ_ΤΜΚΩΔ_ΤΜΔΙΕΥΘΥΝΤΗΣΤΟΠΟΘΕΣΙΕΣ_ΤΜ Έρευνα Αθήνα Έρευνα Πάτρα Έρευνα Τρίπολη Διοίκηση Τρίπολη Πωλήσεις Αθήνα Έχουμε 1ΚΜ αλλά δεν ισχύει ΟΝΟΜΑ_ΤΜ  ΤΟΠΟΘΕΣΙΕΣ_ΤΜ. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

24 Πρώτη κανονική μορφή Το πλειονότιμο χαρακτηριστικό απομακρύνεται σε άλλη σχέση μαζί με το χαρακτηριστικό που το προσδιορίζει συναρτησιακά. ΟΝΟΜΑ_ΤΜΚΩΔ_ΤΜΔΙΕΥΘΥΝΤΗΣΤΟΠΟΘΕΣΙΑ_ΤΜ Έρευνα {Αθήνα, Πάτρα, Τρίπολη} Διοίκηση {Τρίπολη} Πωλήσεις {Αθήνα} ΟΝΟΜΑ_ΤΜΚΩΔ_ΤΜΔΙΕΥΘΥΝΤΗΣ Έρευνα Διοίκηση Πωλήσεις ΟΝΟΜΑΤΟΠΟΘΕΣΙΑ_ΤΜ ΈρευναΑθήνα ΈρευναΠάτρα ΈρευναΤρίπολη ΔιοίκησηΤρίπολη ΠωλήσειςΑθήνα Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

25 Πρώτη κανονική μορφή Η 1ΚΜ απαγορεύει τα σύνθετα χαρακτηριστικά: –ΕΡΓΑΖΟΜΕΝΟΣ_ΕΡΓΟ(AT, ΟΝΟΜΑ, (ΕΡΓΑ(ΚΩΔ_ΕΡΓΟΥ, ΩΡΕΣ)) ΑΤ: Πρωτεύον κλειδί, ΚΩΔ_ΕΡΓΟΥ: διακριτικό, μερικό κλειδί. Μεταφέρουμε τα χαρακτηριστικά της εμφωλευμένης σχέσης σε μία νέα μαζί με το πρωτεύον κλειδί. ATΟΝΟΜΑ ΕΡΓΑ ΚΩΔ_ΕΡΓΟΥΩΡΕΣ ATΟΝΟΜΑATΚΩΔ_ΕΡΓΟΥΩΡΕΣ Η διαδικασία μπορεί να εφαρμοστεί αναδρομικά για πολλαπλά επίπεδα εμφώλευσης. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

26 Πλήρης συναρτησιακή εξάρτηση Μία συναρτησιακή εξάρτηση Χ  Υ καλείται πλήρης (full) όταν  Α  X: X–{A} ↛ Y, αλλιώς καλείται μερική (partial). Έστω το επόμενο σχήμα σε 1ΚΜ: όπου Υπάρχουν προβλήματα κατά το χειρισμό. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

27 Δεύτερη κανονική μορφή Ένας πίνακας που είναι σε 1ΚΜ είναι και σε 2ΚΜ όταν ισχύει οποιοδήποτε από τα εξής: –το πρωτεύον κλειδί αποτελείται από ένα και μόνο χαρακτηριστικό, –ο πίνακας δεν έχει χαρακτηριστικά που δεν αποτελούν κλειδί (all-key relation), ή –κάθε χαρακτηριστικό που δεν είναι κλειδί, είναι πλήρως συναρτησιακά εξαρτώμενο από το πρωτεύον κλειδί. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

28 Κανονικοποίηση σε 2ΚΜ Με βάση τα προηγούμενα, το προηγούμενο σχήμα πρέπει να διασπασθεί σε απλούστερα σχήματα ως εξής: Παρατηρούμε ότι ο πλεονασμός δεδομένων μειώθηκε αλλά δεν εξαλείφθηκε (πχ. επανάληψη του ονόματος ενός κτιρίου κάθε φορά που γίνεται ένα μάθημα). Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

29 Μεταβατική εξάρτηση και 3ΚΜ Μία συναρτησιακή εξάρτηση Χ  Υ λέγεται μεταβατική (transitive) αν υπάρχει σύνολο χαρακτηριστικών Ζ που δεν είναι υποσύνολο κλειδιού της R και ισχύουν Χ  Ζ και Ζ  Υ. Λέγεται ότι το χαρακτηριστικό Υ είναι εξαρτώμενο μεταβατικά από το Χ. Αν υπάρχει μεταβατική εξάρτηση, το εξαρτώμενο χαρακτηριστικό μεταφέρεται σε νέα σχέση μαζί με το χαρακτηριστικό που το προσδιορίζει συναρτησιακά. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

30 Κανονικοποίηση σε 3ΚΜ Στο προηγούμενο σχήμα έχουμε τις εξαρτήσεις: –αριθ_μαθήματος  αριθ_κτιρίου, και –αριθ_κτιρίου  όνομα_κτιρίου. που αποτελούν μία μεταβατική εξάρτηση. Προκύπτει το νέο σχήμα: Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

31 Κανονική μορφή Boyce-Codd Η BCNF επιβάλλει σε κάθε εξάρτηση X  Y το σύνολο X να αποτελεί είτε πρωτεύον κλειδί είτε εναλλακτικό κλειδί. Για να προσδιορίσουμε αν ένας πίνακας βρίσκεται σε BCNF αρκεί να εξετάσουμε όλες τις εξαρτήσεις X  Y ελέγχοντας αν το X αποτελεί κάποιο κλειδί (πρωτεύον ή εναλλακτικό) του πίνακα. Σε διαφορετική περίπτωση θα πρέπει να προχωρήσουμε σε διάσπαση του πίνακα έτσι ώστε να ικανοποιηθεί η συνθήκη της BCNF. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

32 BCNF - Παράδειγμα Έστω η σχέση R(φοιτητής, μάθημα, διδάσκων) και η εξάρτηση (φοιτητής, μάθημα  διδάσκων). Έστω ότι κάθε διδάσκων διδάσκει μόνο ένα μάθημα, ένα μάθημα μπορεί να διδαχθεί από περισσότερους του ενός διδάσκοντες, ενώ σε κάθε μάθημα ένας φοιτητής παρακολουθεί τις διαλέξεις ενός διδάσκοντα μόνο. Προκύπτει η εξάρτηση (διδάσκων  μάθημα), όπου το αριστερό σκέλος δεν είναι κλειδί. Η σχέση R δεν βρίσκεται σε BCNF και πρέπει να διασπασθεί. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

33 BCNF - Παράδειγμα Η σχέση R(φοιτητής, μάθημα, διδάσκων) μπορεί να διασπασθεί κατά τρεις τρόπους. –R1(μάθημα,φοιτητής) και R2(μάθημα,διδάσκων) –R1(διδάσκων,μάθημα) και R2(διδάσκων,φοιτητής) –R1(φοιτητής,μάθημα) και R2(φοιτητής,διδάσκων) Και οι τρεις χάνουν την εξάρτηση (φοιτητής, μάθημα  διδάσκων). Ποιά είναι η καλύτερη ? Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

34 Κανονικοποίηση σε BCNF Αν σε μία σχέση R η εξάρτηση A  B παραβιάζει τη BCNF, τότε διασπούμε τη σχέση R σε δύο σχέσεις: –R1 με χαρακτηριστικά τα A  B και κλειδί το Α, και –R2 με χαρακτηριστικά τα Α  (R–Α–Β). Στη σχέση R=(Φοιτητής, Μάθημα, Διδάσκων), η εξάρτηση (Διδάσκων  Μάθημα) παραβιάζει τη BCNF, άρα: –R1(Διδάσκων,Μάθημα) με κλειδί το διδάσκοντα –R2(Διδάσκων,Φοιτητής) με κλειδί και τα δύο χαρακτηριστικά. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

35 Σχήματα χωρίς απώλειες Κατά τη διάσπαση ενός πίνακα μπορεί να χαθεί πληροφορία καθώς δεν προκύπτει ο αρχικός πίνακας από τη σύνδεση των απλούστερων. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

36 Σχήματα χωρίς απώλειες Έστω σύνολο εξαρτήσεων F και πίνακας R που διασπά- ται σε R 1 και R 2. Η διάσπαση είναι χωρίς απώλειες αν τουλάχιστον μία από τις επόμενες δύο συναρτησιακές εξαρτήσεις ανήκει στην κλειστότητα F + : –R 1 ∩ R 2  R 1 – R 2, και –R 1 ∩ R 2  R 2 – R 1 Στο προηγούμενο παράδειγμα ισχύει Χ  Υ, άρα: –XY ∩ YZ  XY-YZ ⇒ Y  X, και –XY ∩ YZ  YZ-ΧΥ ⇒ Y  Z. Καμία από αυτές δεν ανήκει στο F +. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

37 Σχήματα χωρίς απώλειες Έστω σύνολο εξαρτήσεων F και πίνακας R που διασπάται στους υποπίνακες R 1, R 2, …, R k. Με τη μέθοδο του tableau θα διαπιστωθεί αν η διάσπαση γίνεται χωρίς απώλειες. Δημιουργούμε ένα δισδιάστατο πίνακα, όπου οι στήλες αντιστοιχούν στα χαρακτηριστικά A 1, A 2, …, A n του R, ενώ οι γραμμές αντιστοιχούν στις σχέσεις R 1, R 2,…,R k. H θέση (i,j) του ταμπλώ λαμβάνει την τιμή a j αν το χαρακτηριστικό A j ανήκει στη σχέση R i, αλλιώς λαμβάνει την τιμή b ij. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

38 Σχήματα χωρίς απώλειες Δεδομένης μίας εξάρτησης X  Y, αν ταυτίζονται οι τιμές σε κάποια κελιά της στήλης X, τότε θα πρέπει να ταυτίζονται και οι αντίστοιχες τιμές στη στήλη Y. Επαναλαμβάνουμε το προηγούμενο βήμα για όλες τις εξαρτήσεις μέχρι να μην αλλάζουν τα περιεχόμενα του ταμπλώ. Έτσι αντικαθιστούμε τις τιμές b ij με a i. Αν στο τέλος της διαδικασίας υπάρχει έστω και μία γραμμή όπου όλα τα κελιά έχουν τιμές a j (για 1≤j≤ n), τότε η διάσπαση έχει γίνει χωρίς απώλειες. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

39 Σχήματα χωρίς απώλειες - παράδειγμα Έστω η σχέση R(X,Y,Z,W) και το σύνολο των εξαρτήσεων F: X  Z, Y  Z, Z  W. Η σχέση R διασπάται στις: R1(X,Y), R2(Y,W), R3(X,Y,Z). Προκύπτει το ταμπλώ. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

40 Σχήματα χωρίς απώλειες – παράδειγμα Από την εξάρτηση X  Z προκύπτει το ταμπλώ: Από την εξάρτηση Υ  Ζ προκύπτει το ταμπλώ: Από την εξάρτηση Z  W προκύπτει το ταμπλώ: Η πρώτη και η τρίτη γραμμή περιέχουν μόνο τιμές a j, άρα η διάσπαση είναι χωρίς απώλειες. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

41 Πλειονότιμες (multivalued) εξαρτήσεις Οι πλειονότιμες εξαρτήσεις είναι απόρροια της 1ΚΜ, όπου δεν επιτρέπονται πλειονότιμα χαρακτηριστικά. Δοθείσης σχέσης R και 3 συνόλων χαρακτηριστικών A,B,C ⊂ R, λέγεται ότι ισχύει A ↠ B αν και μόνο αν το σύνολο των τιμών του συνόλου χαρακτηριστικών B εξαρτάται από την τιμή του συνόλου χαρακτηριστικών A και όχι του συνόλου χαρακτηριστικών C. Έχει αποδειχθεί ότι ισχύει και η εξάρτηση A ↠ C. Σε μία σχέση με δύο ή περισσότερα πλειονότιμα χαρακτηριστικά, πρέπει να επαναληφθούν όλες οι τιμές του ενός για κάθε τιμή του άλλου, αλλιώς, φαίνεται ότι υπάρχει εξάρτηση μεταξύ των χαρακτηριστικών. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

42 Πλειονότιμες εξαρτήσεις - παράδειγμα Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

43 Κανόνες παραγωγής πλειονότιμων εξαρτήσεων 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: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

44 Κανόνες παραγωγής πλειονότιμων εξαρτήσεων 6.ψευδο-μεταβατικός (pseudotransitive) κανόνας: αν X ↠ Y και WY ↠ Z, τότε WX ↠ Z. 7.συμπληρωματικός (complementation) κανόνας: αν X ↠ Y τότε X ↠ R-(XY). 8.συγκολλητικός (coalescence) κανόνας: αν X  Y και υπάρχει κάποιο χαρακτηριστικό W τέτοιο ώστε W ∩ Y= ∅ και W ↠ Z και Z ⊆ Y, τότε X ↠ Z. 9.αντιγραφικός (replication) κανόνας: αν X  Y τότε Χ ↠ Y. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

45 Τέταρτη κανονική μορφή Ένας πίνακας R βρίσκεται στην 4ΚΜ όταν βρίσκεται σε BCNF και δεν περιέχει πλειονότιμες εξαρτήσεις. Για το μετασχηματισμό στην 4ΚΜ ο πίνακας R διασπάται σε απλούστερους ώστε να καταργηθούν οι πλειονότιμες εξαρτήσεις. Δεδομένης της πλειονότιμης εξάρτησης Χ ↠ Υ, διασπούμε την R σε δύο σχέσεις R1 και R2 όπου: –η R1 έχει χαρακτηριστικά τα X  Y, ενώ –η R2 έχει χαρακτηριστικά τα R–Y. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

46 Τέταρτη κανονική μορφή - παράδειγμα Η προηγούμενη σχέση διασπάται σε δύο απλούστερα σχήματα που είναι σε 4ΚΜ. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

47 Σχήματα χωρίς απώλειες Η διάσπαση πρέπει να γίνεται χωρίς απώλειες. Δηλαδή, αν στους παραγόμενους πίνακες εφαρμοσθεί φυσική σύνδεση, πρέπει να προκύψει η αρχική σχέση. Μία διάσπαση είναι χωρίς απώλειες αν τουλάχιστον μία από τις επόμενες δύο πλειονότιμες εξαρτήσεις ανήκει στην κλειστότητα F + : Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Υπάρχουν περιπτώσεις όπου ένας πίνακας πρέπει να διασπασθεί σε περισσότερους από δύο πίνακες. Οι σπάνιες αυτές περιπτώσεις καλύπτονται από την 5ΚΜ και τις εξαρτήσεις σύνδεσης. ―R1 ∩ R2 ↠ R1–R2 ―R1 ∩ R2 ↠ R2–R1

48 Εξαρτήσεις σύνδεσης (join dependencies) Έστω ένας πίνακας R και R 1, R 2, …, R n υποσύνολα των χαρακτηριστικών του R, έτσι ώστε R = R 1 U … U R n. Ο πίνακας R περιέχει μία εξάρτηση σύνδεσης αν κάθε γραμμή του πίνακα ισούται με τη σύνδεση των προβο- λών στα χαρακτηριστικά των υποσυνόλων R 1,R 2,…,R n. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση Τυπικότερα, ο πίνακας R περιέχει εξάρτηση σύνδεσης αν ισχύει η σχέση: Mία πλειονότιμη εξάρτηση είναι μερική περίπτωση της εξάρτησης σύνδεσης.

49 Πέμπτη κανονική μορφή Ένας πίνακας βρίσκεται στην 5KM ή κανονική μορφή προβολής-σύνδεσης (project-join normal form - PJNF) αν δεν περιέχει καμία εξάρτηση σύνδεσης. Για την κατάργηση της εξάρτησης σύνδεσης ο αρχικός πίνακας πρέπει να διασπασθεί, ενώ η φυσική σύνδεση όλων των πινάκων που προκύπτουν από τη διάσπαση να δίνει ως αποτέλεσμα τον αρχικό πίνακα. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

50 Πέμπτη κανονική μορφή – παράδειγμα Έστω ένας πίνακας R με δεδομένα σχετικά με τα μαθήματα, διδάσκοντες και φοιτητές. Υποθέτουμε ότι: –ένας διδάσκων μπορεί να προσφέρει περισσότερα του ενός μαθήματα, –κάθε μάθημα μπορεί να προσφέρεται από περισσότερους του ενός διδάσκοντες σε παράλληλες τάξεις, –ένας φοιτητής παρακολουθεί ένα μόνο διδάσκοντα για κάθε μάθημα που δηλώνει. Ο πίνακας αυτός δεν περιέχει πλειονότιμες εξαρτήσεις, αλλά περιέχει μία εξάρτηση σύνδεσης. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

51 Πέμπτη κανονική μορφή – παράδειγμα Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

52 Πέμπτη κανονική μορφή – παράδειγμα Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση

53 Σύνοψη Στόχος της κανονικοποίησης είναι η κατάργηση του πλεονασμού δεδομένων, για την αποφυγή προβλημάτων στις εισαγωγές, διαγραφές και ενημερώσεις δεδομένων. Μία συναρτησιακή εξάρτηση (X→Y) δηλώνει ότι το σύνολο χαρα- κτηριστικών Y είναι συναρτησιακά εξαρτώμενο από το σύνολο X. Με τους κανόνες παραγωγής μπορούμε να παράγουμε νέες συναρτησιακές εξαρτήσεις. Το σύνολο όλων των συναρτησιακών εξαρτήσεων που παράγονται από ένα αρχικό σύνολο εξαρτήσεων F με τους κανόνες παραγωγής, συμβολίζεται με F + και καλείται κλειστότητα. Οι κανονικές μορφές (ΚΜ) προκύπτουν με διαδοχικές διασπάσεις των πινάκων. Απλούστερη είναι η 1ΚΜ και πιο περιοριστική είναι η 5ΚΜ. Στην πράξη, οι πίνακες κανονικοποιούνται συνήθως μέχρι την BCNF, ενώ σε σπάνιες περιπτώσεις απαιτείται η κανονικοποίηση σε ανώτερες κανονικές μορφές λόγω ύπαρξης πλειονότιμων εξαρτήσεων και εξαρτήσεων σύνδεσης. Κεφάλαιο 8: Συναρτησιακές εξαρτήσεις και κανονικοποίηση