Βάσεις Δεδομένων Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Ο φοιτητής/φοιτήτρια θα πρέπει να είναι σε θέση να: Διακρίνει αν δύο πεδία ενός πίνακα είναι λειτουργικά εξαρτώμενα. Ορίζει κλειδί ενός πίνακα χρησιμοποιώντας τις λειτουργικές εξαρτήσεις που αναγνώρισε στον πίνακα. Κανονικοποιεί τους πίνακες βάσης δεδομένων ενός σχήματος και αναγνωρίζει ένα ήδη κανονικοποιημένο σχήμα. Γνωρίζει τι είναι ακεραιότητα αναφορών σε δύο συσχετισμένους πίνακες ώστε να μπορεί να δημιουργεί δύο συσχετισμένους πίνακες στους οποίους να μην παραβιάζονται οι κανόνες ακεραιότητας. 4
Περιεχόμενα ενότητας Περιγραφή διαδικασίας κανονικοποίησης. Ορισμός της έννοιας «κανονικοποίηση». 1 η κανονική μορφή, ορισμός και βήματα. 2 η κανονική μορφή, ορισμός και βήματα. 3 η κανονική μορφή, ορισμός. Αποτελέσματα κανονικοποίησης. 5
Η διαδικασία της κανονικοποίησης (1/4) Το βασικό πρόβλημα που τίθεται, όταν θέλουμε να υλοποιήσουμε μία μηχανογραφική εφαρμογή με το σχεσιακό μοντέλο είναι το εξής:. Όταν έχουμε καταλήξει στο σύνολο των δεδομένων, πώς θα καθορίσουμε τις σχέσεις με τα χαρακτηριστικά τους που θα απαρτίζουν τη βάση;. Η μέθοδος της κανονικοποίησης μας βοηθά στο λογικό σχεδιασμό. Το αποτέλεσμα που προκύπτει, όταν την εφαρμόσουμε, είναι να έχουμε καλοσχηματισμένες σχέσεις και να μη δημιουργούνται προβλήματα συνέπειας, πλεονασμού και εγκυρότητας των δεδομένων τα οποία αποθηκεύονται στη βάση μας. 6
Η διαδικασία της κανονικοποίησης (2/4) Με τη μέθοδο της κανονικοποίησης πραγματοποιούνται διαδοχικές διασπάσεις των σχέσεων (πινάκων) σε πιο απλές και συμπαγείς μορφές. Η διάσπαση ακολουθεί κάποιους κανόνες, όπως θα δούμε στη συνέχεια. Πραγματοποιείται δε με την απομάκρυνση από την αρχική σχέση πεδίων και την τοποθέτηση τους σε νέες σχέσεις με τέτοιο τρόπο, ώστε να είναι δυνατή η ανασύνδεση των αρχικών πληροφοριών από τις νέες σχέσεις. 7
Η διαδικασία της κανονικοποίησης (3/4) Ορισμός: Κανονικοποίηση (normalization) είναι η διαδικασία μετατροπής των δεδομένων σε μία ακολουθία κανονικών μορφών, οι οποίες αποτελούνται από απλές και σαφείς σχέσεις που δεν περιέχουν επαναλήψεις. 8
Η διαδικασία της κανονικοποίησης (4/4) Τρεις κανονικές μορφές (normal form, NF) προτάθηκαν αρχικά, η πρώτη (1η NF), η δεύτερη (2η NF) και η τρίτη (3η NF). Αργότερα, εισήχθησαν 2 ακόμη κανονικές μορφές, πιο προχωρημένες, η τέταρτη και η πέμπτη (4η NF και 5η NF). 9
Πρώτη Κανονική Μορφή (1η NF) (1/2) Ορισμός: Μία σχέση (πίνακας) βρίσκεται στην 1η κανονική μορφή, όταν έχει σταθερό και όχι μεταβλητό αριθμό πεδίων και επιπλέον κάθε πεδίο της δεν περιέχει επαναλαμβανόμενες τιμές. Κάθε κελί μιας σχέσης, στην 1η κανονική μορφή, περιέχει μία και μόνο τιμή. 10
Πρώτη Κανονική Μορφή (1η NF) (2/2) Όταν βρεθούμε στην 1η NF, για να προχωρήσουμε στη 2η και 3η NF, θα πρέπει να ορίσουμε το πρωτεύον κλειδί. Πρέπει, δηλαδή, να βρούμε κάποιο πεδίο ή συνδυασμό πεδίων, έτσι ώστε να προσδιορίζουμε μονοσήμαντα κάθε πλειάδα. Εάν το κλειδί που ορίσαμε είναι σύνθετο, προχωρούμε στη 2η κανονική μορφή. Εάν δεν είναι σύνθετο, προχωρούμε στην 3η κανονική μορφή. 11
Δεύτερη Κανονική Μορφή (2η NF) (1/4) Όταν ορίσουμε το (σύνθετο) κλειδί, συνεχίζουμε με τα εξής βήματα:. 1ο βήμα:. Στην αρχική σχέση που βρίσκεται στην 1η NF, ελέγχουμε ποια από τα πεδία εκτός κλειδιού αφορούν ολόκληρο το σύνθετο κλειδί. Με τα πεδία αυτά και με τα πεδία του σύνθετου κλειδιού κατασκευάζουμε ένα νέο πίνακα. 12
Δεύτερη Κανονική Μορφή (2η NF) 2ο βήμα:. (2/4) Στη συνέχεια, πάλι στην αρχική σχέση εξετάζουμε ποια από τα υπόλοιπα πεδία αφορούν (εξαρτώνται από αυτό) κάθε επιμέρους πεδίο του σύνθετου κλειδιού. Με αυτό το επιμέρους πεδίο ως κλειδί και με τα πεδία που το αφορούν κατασκευάζουμε κάθε φορά ένα νέο πίνακα. 13
Δεύτερη Κανονική Μορφή (2η NF) 3ο βήμα:. (3/4) Τέλος, πάλι στην αρχική σχέση εξετάζουμε αν υπάρχουν πεδία τα οποία να εξαρτώνται από το συνδυασμό των πεδίων του κλειδιού του. Στην περίπτωση που υπάρχουν, με τα πεδία αυτά και με κλειδί το συνδυασμό πεδίων στον οποίο αναφέρονται, κατασκευάζουμε ένα νέο πίνακα. 14
Δεύτερη Κανονική Μορφή (2η NF) (4/4) Λέμε ότι οι σχέσεις μας (η βάση μας) βρίσκεται στη 2η κανονική μορφή και έχουμε τον εξής άτυπο ορισμό: Ορισμός: Μία σχέση βρίσκεται στη 2η κανονική μορφή, όταν έχει προέλθει από σχέση της 1ης NF και επιπλέον τα πεδία που δεν ανήκουν στο κλειδί αφορούν πλήρως και μόνο το κλειδί. 15
Τρίτη Κανονική Μορφή (3η NF) Ορισμός: Μια σχέση βρίσκεται στην 3η κανονική μορφή, όταν ικανοποιεί τις απαιτήσεις της 1ης και της 2ης κανονικής μορφής (αν υπάρχει σύνθετο κλειδί) και επιπλέον κανένα πεδίο διαφορετικό του πρωτεύοντος κλειδιού δεν περιγράφει κάποιο γεγονός που να αφορά κάποιο άλλο πεδίο του πίνακα εκτός από αυτό του κλειδιού. Δηλαδή, κανένα πεδίο του πίνακα δεν εξαρτάται από κάποιο άλλο πεδίο εκτός από αυτό του κλειδιού. 16
Αποτελέσματα κανονικοποίησης (1/2) Δεν έχουμε επαναλήψεις δεδομένων στις σχέσεις μας, άρα έχει εξαλειφθεί ο πλεονασμός. Πρέπει πρώτα να ενημερώνονται οι επιμέρους πίνακες που δημιουργήσαμε στη διαδικασία κανονικοποίησης και μετά να εισάγονται εγγραφές στον αρχικό πίνακα. 17
Αποτελέσματα κανονικοποίησης (2/2) Δε θα προκύψουν ανωμαλίες τροποποίησης διότι εάν αλλάξουν τα δεδομένα σε ένα τμήμα νεότερου πίνακα δε θα επηρεαστούν οι εγγραφές του αρχικού πίνακα. Παρέχονται ευκολίες προσθήκης στοιχείων, π.χ. μπορούμε να προσθέσουμε και άλλα στοιχεία στους νεότερους πίνακες χωρίς να επηρεαστούν οι άλλοι πίνακες. 18
Βιβλιογραφία Ταμπακάς, Τ. Βασίλειος (2009) Εισαγωγή στις Βάσεις Δεδομένων, Έκδοση: 1/2009, Συγγραφείς: ISBN: 978-960-931217-2. 19
Τέλος Ενότητας
Σημείωμα Αναφοράς Copyright Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης, Δημοσθένης Πασχαλίδης. «Βάσεις Δεδομένων». Έκδοση: 1.0. Θεσσαλονίκη 2015. 21
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 22
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 23