Η κανονικοποίηση οργανώνει τα δεδομένα για να μειώσει τον πλεονασμό και να βελτιώσει την ακεραιότητα. Ο στόχος είναι να αποθηκευτεί κάθε στοιχείο μία φορά. Εάν η διεύθυνση ενός πελάτη εμφανίζεται σε κάθε εγγραφή παραγγελίας, μια αλλαγή διεύθυνσης πρέπει να ενημερωθεί σε εκατοντάδες σημεία. Εάν παραλειφθεί μία και τα δεδομένα είναι ασυνεπή. Η κανονικοποίηση μετακινεί τη διεύθυνση σε έναν πίνακα πελατών. Οι παραγγελίες αναφέρονται στον πελάτη με βάση το αναγνωριστικό. Η διεύθυνση αποθηκεύεται μία φορά. Αλλάξτε την εκεί και κάθε παραγγελία αντικατοπτρίζει τη νέα τιμή.
Η διαδικασία ακολουθεί κανονικές μορφές. Η πρώτη κανονική μορφή εξαλείφει τις επαναλαμβανόμενες ομάδες. Η δεύτερη κανονική μορφή αφαιρεί τις μερικές εξαρτήσεις. Η τρίτη κανονική μορφή αφαιρεί τις μεταβατικές εξαρτήσεις. Κάθε μορφή προσθέτει περιορισμούς που μειώνουν περαιτέρω τον πλεονασμό. Υπάρχουν υψηλότερες μορφές, αλλά σπάνια χρησιμοποιούνται στην πράξη. Οι περισσότερες βάσεις δεδομένων συναλλαγών στοχεύουν στην τρίτη κανονική μορφή. Η κανονικοποίηση έχει αντισταθμίσεις. Περισσότεροι πίνακες σημαίνουν περισσότερες ενώσεις, οι οποίες μπορούν να επιβραδύνουν τα ερωτήματα. Για τα συστήματα συναλλαγών, τα οφέλη από την ακεραιότητα υπερτερούν του κόστους απόδοσης. Για τα αναλυτικά συστήματα, συχνά ισχύει το αντίθετο. Τα αποκανονικοποιημένα σχήματα με ευρείς πίνακες και πλεονάζουσες στήλες υποβάλλουν ερωτήματα πιο γρήγορα επειδή αποφεύγουν τις ενώσεις. Αυτός είναι ο λόγος για τον οποίο οι αποθήκες δεδομένων χρησιμοποιούν σχήματα αστεριού και χιονονιφάδας που αποκανονικοποιούν σκόπιμα. Το σωστό επίπεδο κανονικοποίησης εξαρτάται από το φόρτο εργασίας. Τα συστήματα συναλλαγών ομαλοποιούν. Τα αναλυτικά συστήματα αποκανονικοποιούν. Και τα δύο είναι σωστά για τον σκοπό τους.
Κανονικές μορφές
- Πρώτη κανονική μορφή — χωρίς επαναλαμβανόμενες ομάδες
- Δεύτερη κανονική μορφή — καμία μερική εξάρτηση
- Τρίτη κανονική μορφή — καμία μεταβατική εξάρτηση
- Κανονική μορφή Boyce-Codd — αυστηρότερη εκδοχή της τρίτης
Η κανονικοποίηση αφορά την ακεραιότητα. Αποθηκεύστε κάθε γεγονός μία φορά και τα δεδομένα θα παραμείνουν συνεπή. Αποθηκεύστε το πολλές φορές και η ασυνέπεια θα είναι αναπόφευκτη.
Comments
No comments yet. Be the first to share a thought.
Leave a comment