Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Κανονικοποίηση 1η, 2η και 3η Κανονική Μορφή

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Κανονικοποίηση 1η, 2η και 3η Κανονική Μορφή"— Μεταγράφημα παρουσίασης:

1 Κανονικοποίηση 1η, 2η και 3η Κανονική Μορφή
Κανονικοποίηση 1η, 2η και 3η Κανονική Μορφή Δρ. Νίκος Καρούσος

2 Τι είναι η κανονικοποίηση
Μία τεχνική μετατροπής του σχήματος της Βάσης Δεδομένων με στόχο τη δημιουργία πιο απλών Βάσεων Δεδομένων. Βασικό κριτήριο αποτελεί η αποφυγή επανάληψης των ίδιων δεδομένων στους πίνακες Κανονικοποίηση

3 Γιατί να έχω κανονικοποίηση
Εννοιολογική Καθαρότητα Κάθε γραμμή ενός πίνακα (δλδ πλειάδα σχέσης) να αναφέρεται σε μία οντότητα ή κάποιο στιγμιότυπο μίας συσχέτισης. Σε έναν πίνακα να μην έχουμε πληροφορίες που αφορούν στοιχεία άλλων πινάκων ή συσχετίσεων πλην των ξένων κλειδιών. Υπάλληλος ΑΦΜ Όνομα Επώνυμο Κατάστημα Τετραγωνικά Τηλέφωνο 15565 Νίκος Καρούσος Πατρών Α 100 15578 Κώστας Αλκαίος Αθήνα Β 200 Κανονικοποίηση

4 Γιατί να έχω κανονικοποίηση
Αποφυγή πλεονασμού Να μην επαναλαμβάνουμε πληροφορίες σε έναν ή περισσότερους πίνακες Υπάλληλος ΑΦΜ Όνομα Επώνυμο Κατάστημα Τετραγωνικά Τηλέφωνο 15565 Νίκος Καρούσος Πατρών Α 100 15578 Κώστας Αλκαίος Αθήνα Β 200 17654 Τάκης Χλεχλές Κανονικοποίηση

5 Γιατί να έχω κανονικοποίηση
Αποφυγή ανωμαλιών ενημέρωσης Τι θα γίνει αν το κατάστημα στην Αθήνα Β αλλάξει τηλέφωνο; Υπάλληλος ΑΦΜ Όνομα Επώνυμο Κατάστημα Τετραγωνικά Τηλέφωνο 15565 Νίκος Καρούσος Πατρών Α 100 15578 Κώστας Αλκαίος Αθήνα Β 200 17654 Τάκης Χλεχλές Κανονικοποίηση

6 Τι πρέπει να γνωρίζουμε για να κάνουμε κανονικοποίηση
Συναρτησιακή εξάρτηση (Functional Dependency) Έστω X, Y σύνολα Γνωρισμάτων στο Σχήμα Σχέσης R. Λέμε ότι η Συναρτησιακή Εξάρτηση (FD): X ® Y ισχύει αν η X-τιμή καθορίζει μοναδικά την Y-τιμή. Όταν η τιμή ενός γνωρίσματος μπορεί να βρεθεί αν ξέρουμε την τιμή από ένα άλλο γνώρισμα (συνήθως το κλειδί ή ένα πιθανό κλειδί) ή Αν δύο πλειάδες έχουν ίδιες τιμές στα χαρακτηριστικά του συνόλου X, τότε θα έχουν ίδιες τιμές και στα χαρακτηριστικά του συνόλου Y. Π.χ. ΑΦΜ  Όνομα Κανονικοποίηση

7 Τι πρέπει να γνωρίζουμε για να κάνουμε κανονικοποίηση
Συναρτησιακή εξάρτηση ΠΛΗΡΗΣ Ενα σύνολο γνωρισμάτων Y είναι πλήρως εξαρτώμενο συναρτησιακά από ένα σύνολο X, αν είναι συναρτησιακά εξαρτώμενο από το X και δεν είναι συναρτησιακά εξαρτώμενο από κάποιο υποσύνολο του X, Δηλαδή, το Y είναι πλήρως εξαρτώμενο συναρτησιακά από το X, αν X ® Y και δεν υπάρχει W έτσι ώστε W Ì X and W ® Y Π.χ. ΑΜ, Μάθημα, Ημερομηνία_Εξ  Βαθμός Π.χ. ΑΜ, Μάθημα, Ημερομηνία_Εξ, Επιτηρητής  Βαθμός Κανονικοποίηση

8 Τι πρέπει να γνωρίζουμε για να κάνουμε κανονικοποίηση
Συναρτησιακή εξάρτηση ΜΕΡΙΚΗ Το Y είναι μερικώς εξαρτώμενο από το X, αν X ® Y και υπάρχει W έτσι ώστε W Ì X και W ® Y Παράδειγμα: Π.χ. ΑΜ, Μάθημα, Ημερομηνία_Εξ  Επώνυμο Συναρτησιακή εξάρτηση ΜΕΤΑΒΑΤΙΚΗ Αν μπορεί να προέλθει / απορρέει από δύο άλλες FD με μεταβατικότητα (X ® Y και Y ® Z ) Παράδειγμα: Π.χ. Κωδ_Καταστήματος  Πόλη, Νομός Και Πόλη  Νομός Κανονικοποίηση

9 Μορφές κανονικοποίησης
Υπάρχουν 6 μορφές κανονικοποίησης Κάθε μία ονομάζεται ως 1η 2η κλπ 5η κανονική μορφή. Πριν την 4η υπάρχει και η BCNF μορφή. Για να λέμε πως η βάση μας είναι στην Χ μορφή πρέπει να είναι στην προηγούμενη από την Χ μορφή και να υπακούει σε κάποιους επιπλέον κανόνες. Άρα όσο πιο μεγάλη η μορφή τόσο πιο πολλοί και αυστηροί οι κανόνες. Κανονικοποίηση

10 Μορφές κανονικοποίησης
BCNF Κανονικοποίηση

11 Μορφές κανονικοποίησης: 1η
Πρώτη Κανονική Μορφή (1NF): Η R είναι σε 1NF αν κάθε Γνώρισμα παίρνει ατομικές / αδιαίρετες τιμές. Υπάλληλος ΑΦΜ Όνομα Επώνυμο Κατάστημα 15565 Νίκος Καρούσος Πατρών Α Αιγίου Α Ακράτας 15578 Κώστας Αλκαίος Αθήνα Β Πειραιά Α 17654 Τάκης Χλεχλές Στην πράξη όλα τα σχήματα είναι σε 1NF αφού δεν επιτρέπεται η εισαγωγή πολλαπλών τιμών σε ένα γνώρισμα πίνακα Κανονικοποίηση

12 Μορφές κανονικοποίησης: 1η
Υπάλληλος ΑΦΜ Όνομα Επώνυμο 15565 Νίκος Καρούσος 15578 Κώστας Αλκαίος 17654 Τάκης Χλεχλές ΚαταστήματαΥπαλλήλου ΑΦΜ Κατάστημα 15565 Πατρών Α Αιγίου Α Ακράτας 15578 Αθήνα Β Πειραιά Α 17654 Κανονικοποίηση

13 Μορφές κανονικοποίησης: 2η
Δεύτερη Κανονική Μορφή (2NF): Η R είναι σε 2NF αν είναι σε 1η και κανένα μη-πρωτεύον Γνώρισμα δεν είναι μερικώς εξαρτώμενο από ένα υποψήφιο κλειδί. ή κάθε μη πρωτεύων Γνώρισμα εξαρτάται πλήρως από το υποψήφιο κλειδί. Παράδειγμα: Π.χ. Εξέταση (ΑΜ, Μάθημα, Ημερομηνία_Εξ, Επώνυμο) Δεν είναι σε 2η γιατί υπάρχει το Επώνυμο που δεν εξαρτάται πλήρως από το κλειδί αλλά εξαρτάται μερικώς. ΑΜΕπώνυμο Κανονικοποίηση

14 Μορφές κανονικοποίησης: 3η
Τρίτη Κανονική Μορφή (3NF): Η R είναι σε 3NF αν είναι σε 2η και κανένα μη-πρωτεύον Γνώρισμα δεν είναι μεταβατικά εξαρτώμενο από ένα υποψήφιο κλειδί Παράδειγμα: Π.χ. Ξενοδοχείο(Κωδ_Ξενοδοχείου, Πόλη, Νομός) Είναι σε 2η γιατί έχουμε πλήρη εξάρτηση όλων των γνωρισμάτων από το κλειδί. Όμως ΔΕΝ είναι σε 3η γιατί υπάρχει μεταβατική εξάρτηση Κωδ_ΞενοδοχείουΠόλη και ΠόληΝομός Κανονικοποίηση

15 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
Για τη 2η NF ΔΑΝΕΙΣΜΟΙ_ΒΙΒΛΙΟΘΗΚΗΣ(ISBN, Τίτλος, Συγγραφέας, Εκδοτικός_Οίκος, Έτος Έκδοσης, ΑΜ_Φοιτητή, Όνομα, Επώνυμο, Πόλη, Νομός, Τηλέφωνο, Ημερομηνία_Ώρα) Βλέπουμε πως ισχύουν οι μερικές εξαρτήσεις: ISBN Τίτλος, Συγγραφέας, Εκδοτικός_Οίκος, Έτος Έκδοσης ΑΜ_Φοιτητή Όνομα, Επώνυμο, Πόλη, Νομός, Τηλέφωνο Για κάθε μία μερική εξάρτηση δημιουργούμε ξεχωριστό πίνακα και αφαιρούμε τα εξαρτώμενα γνωρίσματα από τον αρχικό πίνακα Άρα ΔΑΝΕΙΣΜΟΙ_ΒΙΒΛΙΟΘΗΚΗΣ(ISBN, ΑΜ_Φοιτητή, Ημερομηνία_Ώρα) ΒΙΒΛΙΟ(ISBN, Τίτλος, Συγγραφέας, Εκδοτικός_Οίκος, Έτος Έκδοσης) ΦΟΙΤΗΤΗΣ(ΑΜ_Φοιτητή, Όνομα, Επώνυμο, Πόλη, Νομός, Τηλέφωνο) Κανονικοποίηση

16 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
Για τη 2η NF ΔΑΝΕΙΣΜΟΙ_ΒΙΒΛΙΟΘΗΚΗΣ(ISBN, ΑΜ_Φοιτητή, Ημερομηνία_Ώρα) ΒΙΒΛΙΟ(ISBN, Τίτλος, Συγγραφέας, Εκδοτικός_Οίκος, Έτος Έκδοσης) ΦΟΙΤΗΤΗΣ(ΑΜ_Φοιτητή, Όνομα, Επώνυμο, Πόλη, Νομός, Τηλέφωνο) Τα παραπάνω είναι σε 2η NF γιατί για κάθε πίνακα (σχέση) κάθε γνώρισμα εξαρτάται πλήρως από το πρωτεύων κλειδί. Κανονικοποίηση

17 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
Για την 3η NF ΔΑΝΕΙΣΜΟΙ_ΒΙΒΛΙΟΘΗΚΗΣ(ISBN, ΑΜ_Φοιτητή, Ημερομηνία_Ώρα) ΒΙΒΛΙΟ(ISBN, Τίτλος, Συγγραφέας, Εκδοτικός_Οίκος, Έτος Έκδοσης) ΦΟΙΤΗΤΗΣ(ΑΜ_Φοιτητή, Όνομα, Επώνυμο, Πόλη, Νομός, Τηλέφωνο) Παρατηρώ πως στον πίνακα Φοιτητή παρόλο που είναι σε 2η NF υπάρχει ο Νομός ο οποίος εξαρτάται μεταβατικά από το ΑΜ_Φοιτητή. Δλδ ΑΜ_ΦοιτητήΠόλη ΠόληΝομός Εφόσον υπάρχει μεταβατική εξάρτηση τότε δημιουργώ νέο πίνακα με τα δύο γνωρίσματα αυτής της εξάρτησης και αφαιρώ από τον πρώτο πίνακα το εξαρτώμενο γνώρισμα. ΠΟΛΗ_ΝΟΜΟΙ(Πόλη, Νομός) Κανονικοποίηση

18 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
Για την 3η NF Και καταλήγουμε στο παρακάτω σχήμα ΔΑΝΕΙΣΜΟΙ_ΒΙΒΛΙΟΘΗΚΗΣ(ISBN, ΑΜ_Φοιτητή, Ημερομηνία_Ώρα) ΒΙΒΛΙΟ(ISBN, Τίτλος, Συγγραφέας, Εκδοτικός_Οίκος, Έτος Έκδοσης) ΦΟΙΤΗΤΗΣ(ΑΜ_Φοιτητή, Όνομα, Επώνυμο, Πόλη, Τηλέφωνο) ΠΟΛΗ_ΝΟΜΟΙ(Πόλη, Νομός) Κανονικοποίηση

19 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
Σημείωση Στην πράξη πολλές φορές στη δημιουργία νέου πίνακα δεν υπάρχει υποψήφιο κλειδί που ταιριάζει στην περίπτωσή μας. Τότε δημιουργούμε εμείς ένα. ΔΑΝΕΙΣΜΟΙ_ΒΙΒΛΙΟΘΗΚΗΣ(ISBN, ΑΜ_Φοιτητή, Ημερομηνία_Ώρα) ΒΙΒΛΙΟ(ISBN, Τίτλος, Συγγραφέας, Εκδοτικός_Οίκος, Έτος Έκδοσης) ΦΟΙΤΗΤΗΣ(ΑΜ_Φοιτητή, Όνομα, Επώνυμο, Πόλη, Τηλέφωνο) ΠΟΛΗ_ΝΟΜΟΙ(Πόλη, Νομός) Κανονικοποίηση

20 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
ΠΑΡΑΔΕΙΓΜΑ ΜΕ ΔΕΔΟΜΕΝΑ ΔΑΝΕΙΣΜΟΣ ΒΙΒΛΙΟΝ ΑΠΌ ΦΟΙΤΗΤΕΣ ΔΑΝΕΙΣΜΟΣ ISBN Titlos Sygrgafeas Ekdotikos Onoma Eponymo Poli Nomos Tilefono Imerominia A123 ΑΛΕΞΑΝΔΡΟΣ ΜΑΧΛΑΣ ΠΡΕΣ ΝΙΚΟΣ ΠΑΠΙΑΣ ΠΑΤΡΑ ΑΧΑΙΑΣ B432 C++ ΛΕΛΑΠΑΣ ΤΣΑΚΜΠΑΜ ΑΝΤΡΕΑΣ ΑΝΤΡΕΟΥ ΑΘΗΝΑ ΑΤΤΙΚΗΣ PA11 ACCESS ΜΑΜΑΚΗΣ ΠΑΝΟΣ ΠΑΝΟΥ ΡΙΟ Κανονικοποίηση

21 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
Είναι σε 1η διότι είναι ήδη πίνακας στη βάση και δεν έχει πλειότιμα πεδία. Αλλά παρατηρώ επαναλήψεις δεδομένων. Άρα δεν είναι στη Δεύτερη. Φυσικά, αφού υπάρχουν πεδία που εκφράζουν άλλο πίνακα, δλδ ΔΕΝ εξαρτώνται από το σύνολο των κλειδιών αλλά από ένα μέρος αυτών. ΘΑ ΕΠΡΕΠΕ ΝΑ ΕΊΝΑΙ ΠΙΝΑΚΕΣ ΞΕΧΩΡΙΣΤΟΙ ΔΑΝΕΙΣΜΟΣ ISBN Titlos Sygrgafeas Ekdotikos Onoma Eponymo Poli Nomos Tilefono Imerominia A123 ΑΛΕΞΑΝΔΡΟΣ ΜΑΧΛΑΣ ΠΡΕΣ ΝΙΚΟΣ ΠΑΠΙΑΣ ΠΑΤΡΑ ΑΧΑΙΑΣ B432 C++ ΛΕΛΑΠΑΣ ΤΣΑΚΜΠΑΜ ΑΝΤΡΕΑΣ ΑΝΤΡΕΟΥ ΑΘΗΝΑ ΑΤΤΙΚΗΣ PA11 ACCESS ΜΑΜΑΚΗΣ ΠΑΝΟΣ ΠΑΝΟΥ ΡΙΟ Κανονικοποίηση

22 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
ΔΑΝΕΙΣΜΟΣ ISBN Onoma Eponymo Poli Nomos Tilefono Imerominia A123 ΝΙΚΟΣ ΠΑΠΙΑΣ ΠΑΤΡΑ ΑΧΑΙΑΣ B432 ΑΝΤΡΕΑΣ ΑΝΤΡΕΟΥ ΑΘΗΝΑ ΑΤΤΙΚΗΣ PA11 ΠΑΝΟΣ ΠΑΝΟΥ ΡΙΟ Βιβλίο ISBN Titlos Sygrgafeas Ekdotikos A123 ΑΛΕΞΑΝΔΡΟΣ ΜΑΧΛΑΣ ΠΡΕΣ B432 C++ ΛΕΛΑΠΑΣ ΤΣΑΚΜΠΑΜ PA11 ACCESS ΜΑΜΑΚΗΣ Δημιουργώ τον πίνακα Βιβλίο Σβήνω τις ίδιες γραμμές και αφήνω μόνο μία Σβήνω από τον κεντρικό πίνακα τα εξαρτώμενα πεδία Κανονικοποίηση

23 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
ΔΑΝΕΙΣΜΟΣ ISBN Onoma Eponymo Imerominia A123 ΝΙΚΟΣ ΠΑΠΙΑΣ B432 ΑΝΤΡΕΑΣ ΑΝΤΡΕΟΥ PA11 ΠΑΝΟΣ ΠΑΝΟΥ Βιβλίο ISBN Titlos Sygrgafeas Ekdotikos A123 ΑΛΕΞΑΝΔΡΟΣ ΜΑΧΛΑΣ ΠΡΕΣ B432 C++ ΛΕΛΑΠΑΣ ΤΣΑΚΜΠΑΜ PA11 ACCESS ΜΑΜΑΚΗΣ Δημιουργώ τον πίνακα Φοιτητή Σβήνω τις ίδιες γραμμές και αφήνω μόνο μία Σβήνω από τον κεντρικό πίνακα τα εξαρτώμενα πεδία Φοιτητής Onoma Eponymo Poli Nomos Tilefono ΝΙΚΟΣ ΠΑΠΙΑΣ ΠΑΤΡΑ ΑΧΑΙΑΣ ΑΝΤΡΕΑΣ ΑΝΤΡΕΟΥ ΑΘΗΝΑ ΑΤΤΙΚΗΣ ΠΑΝΟΣ ΠΑΝΟΥ ΡΙΟ Κανονικοποίηση

24 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
ΔΑΝΕΙΣΜΟΣ ISBN ΚΟΔ_Φ Imerominia A123 1 B432 2 PA11 3 Βιβλίο ISBN Titlos Sygrgafeas Ekdotikos A123 ΑΛΕΞΑΝΔΡΟΣ ΜΑΧΛΑΣ ΠΡΕΣ B432 C++ ΛΕΛΑΠΑΣ ΤΣΑΚΜΠΑΜ PA11 ACCESS ΜΑΜΑΚΗΣ Παρατηρώ πως δεν έχω ή έχω ακατάλληλο κλειδί για τον φοιτητή οπότε φτιάχνω ένα και το τοποθετώ και στο δανεισμό. Φοιτητής ΚΟΔ_Φ Onoma Eponymo Poli Nomos Tilefono 1 ΝΙΚΟΣ ΠΑΠΙΑΣ ΠΑΤΡΑ ΑΧΑΙΑΣ 2 ΑΝΤΡΕΑΣ ΑΝΤΡΕΟΥ ΑΘΗΝΑ ΑΤΤΙΚΗΣ 3 ΠΑΝΟΣ ΠΑΝΟΥ ΡΙΟ Κανονικοποίηση

25 Πως πάμε στην 3η κανονική μορφή; Εμπειρική Λύση
Παρατηρώ ο νομός εξαρτάται από την πόλη Αρα θα πρέπει ο Νομός να φύγει από τον πίνακα και να γίνει άλλος πίνακας μαζί όμως με την πόλη Φοιτητής ΚΟΔ_Φ Onoma Eponymo Poli Nomos Tilefono 1 ΝΙΚΟΣ ΠΑΠΙΑΣ ΠΑΤΡΑ ΑΧΑΙΑΣ 2 ΑΝΤΡΕΑΣ ΑΝΤΡΕΟΥ ΑΘΗΝΑ ΑΤΤΙΚΗΣ 3 ΠΑΝΟΣ ΠΑΝΟΥ ΡΙΟ Πόλεις-Νομοί Poli Nomos ΠΑΤΡΑ ΑΧΑΙΑΣ ΑΘΗΝΑ ΑΤΤΙΚΗΣ ΡΙΟ Φοιτητής ΚΟΔ_Φ Onoma Eponymo Poli Tilefono 1 ΝΙΚΟΣ ΠΑΠΙΑΣ ΠΑΤΡΑ 2 ΑΝΤΡΕΑΣ ΑΝΤΡΕΟΥ ΑΘΗΝΑ 3 ΠΑΝΟΣ ΠΑΝΟΥ ΡΙΟ Κανονικοποίηση

26


Κατέβασμα ppt "Κανονικοποίηση 1η, 2η και 3η Κανονική Μορφή"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google