Κανονικοποίηση βάσης δεδομένων Βασικά

Κανονικοποίηση της βάσης δεδομένων σας

Εάν εργάζεστε με βάσεις δεδομένων για κάποιο χρονικό διάστημα, πιθανότατα έχετε ακούσει τον όρο εξομάλυνση. Ίσως κάποιος σας ρώτησε "Είναι η βάση δεδομένων κανονικοποιημένη;" ή "Είναι αυτό στο BCNF ;" Η κανονικοποίηση συχνά παρεκκλίνει ως πολυτέλεια την οποία μόνο οι ακαδημαϊκοί έχουν χρόνο για. Ωστόσο, γνωρίζοντας τις αρχές της ομαλοποίησης και την εφαρμογή τους στις καθημερινές εργασίες σχεδίασης βάσεων δεδομένων δεν είναι πραγματικά τόσο περίπλοκο και θα μπορούσε να βελτιώσει δραστικά την απόδοση του DBMS σας.

Σε αυτό το άρθρο, θα εισαγάγουμε την έννοια της ομαλοποίησης και θα εξετάσουμε σύντομα τις πιο κοινές συνήθεις μορφές.

Τι είναι η κανονικοποίηση;

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

Οι κανονικές φόρμες

Η κοινότητα βάσεων δεδομένων έχει αναπτύξει μια σειρά κατευθυντήριων γραμμών για την εξασφάλιση της ομαλοποίησης των βάσεων δεδομένων. Αυτές αναφέρονται ως κανονικές μορφές και αριθμούνται από μία (τη χαμηλότερη μορφή κανονικοποίησης, που αναφέρεται ως πρώτη κανονική μορφή ή 1ΝΡ) μέσω πέντε (πέμπτη κανονική μορφή ή 5NF). Στις πρακτικές εφαρμογές, θα δείτε συχνά τα 1NF, 2NF και 3NF μαζί με το περιστασιακό 4NF. Η πέμπτη κανονική μορφή είναι πολύ σπάνια και δεν θα συζητηθεί σε αυτό το άρθρο.

Πριν ξεκινήσουμε τη συζήτησή μας για τις συνήθεις μορφές, είναι σημαντικό να επισημάνουμε ότι αποτελούν μόνο κατευθυντήριες γραμμές και κατευθυντήριες γραμμές. Περιστασιακά, είναι απαραίτητο να απομακρυνθούμε από αυτές για να ανταποκριθούμε στις πρακτικές επιχειρηματικές απαιτήσεις. Ωστόσο, όταν πραγματοποιούνται παραλλαγές, είναι εξαιρετικά σημαντικό να αξιολογήσετε τυχόν πιθανές διακλαδώσεις που θα μπορούσαν να έχουν στο σύστημά σας και να λάβουν υπόψη τυχόν ασυνέπειες. Τούτου λεχθέντος, ας διερευνήσουμε τις κανονικές μορφές.

Πρώτη κανονική φόρμα (1NF)

Η πρώτη κανονική μορφή (1NF) θέτει τους πολύ βασικούς κανόνες για μια οργανωμένη βάση δεδομένων:

Δεύτερη κανονική φόρμα (2NF)

Η δεύτερη κανονική μορφή (2NF) εξετάζει περαιτέρω την έννοια της κατάργησης των διπλών δεδομένων :

Τρίτη κανονική φόρμα (3NF)

Η τρίτη κανονική μορφή (3NF) πηγαίνει ένα μεγάλο βήμα περαιτέρω:

Boyce-Codd κανονική μορφή (BCNF ή 3.5NF)

Η Κανονική Μορφή Boyce-Codd, που επίσης αναφέρεται ως "η τρίτη και μισή (3.5) κανονική φόρμα", προσθέτει μία ακόμα απαίτηση:

Τέταρτη κανονική φόρμα (4NF)

Τέλος, η τέταρτη κανονική μορφή (4NF) έχει μια επιπλέον απαίτηση:

Να θυμάστε ότι αυτές οι κατευθυντήριες γραμμές κανονικοποίησης είναι σωρευτικές. Για να είναι μια βάση δεδομένων σε 2NF, πρέπει πρώτα να πληροί όλα τα κριτήρια μιας βάσης δεδομένων 1NF.

Πρέπει να Κανονικοποιήσω;

Ενώ η εξομάλυνση της βάσης δεδομένων είναι συχνά μια καλή ιδέα, δεν είναι απόλυτη απαίτηση. Στην πραγματικότητα, υπάρχουν ορισμένες περιπτώσεις όπου η σκόπιμη παραβίαση των κανόνων κανονικοποίησης είναι μια καλή πρακτική. Για περισσότερες πληροφορίες σχετικά με αυτό το θέμα, διαβάστε Πρέπει να Κανονικοποιήσω τη βάση δεδομένων μου;

Εάν θέλετε να διασφαλίσετε ότι η βάση δεδομένων σας είναι κανονική, ξεκινήστε με την εκμάθηση πώς να βάλετε τη βάση δεδομένων σας στην πρώτη κανονική φόρμα .