Sobes.tech
Junior

Τι είναι η κανονικοποίηση σε μια βάση δεδομένων;

sobes.tech AI

Απάντηση από AI

Η κανονικοποίηση βάσης δεδομένων είναι η διαδικασία οργάνωσης των δεδομένων σε μια σχεσιακή βάση δεδομένων με σκοπό τη μείωση της πλεονασματικότητας (διπλότυπων δεδομένων) και τη βελτίωση της ακεραιότητας των δεδομένων. Αυτό επιτυγχάνεται με το διαχωρισμό μεγάλων πινάκων σε μικρότερους με τον καθορισμό σχέσεων μεταξύ τους.

Ο κύριος στόχος της κανονικοποίησης:

  • Μείωση της πλεονασματικότητας δεδομένων: Αποφυγή επανάληψης της ίδιας πληροφορίας σε διαφορετικά σημεία.
  • Βελτίωση της ακεραιότητας των δεδομένων: Διασφάλιση της ακρίβειας και της συνεκτικότητας των δεδομένων.
  • Εξασφάλιση ευελιξίας: Απλοποίηση της αλλαγής και επέκτασης της δομής της βάσης δεδομένων.

Η κανονικοποίηση ορίζεται μέσω ενός συνόλου κανόνων, που ονομάζονται κανονικές μορφές. Οι πιο διαδεδομένες είναι οι πρώτες τρεις κανονικές μορφές:

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

    • Κάστη στήλη του πίνακα πρέπει να περιέχει ατομικές (μη διαιρέσιμες) τιμές.
    • Δεν υπάρχουν επαναλαμβανόμενες ομάδες στηλών.
    • Κάθε γραμμή πρέπει να είναι μοναδική (μέσω του πρωτεύοντος κλειδιού).
  2. Δεύτερη κανονική μορφή (2NF):

    • Ο πίνακας βρίσκεται σε 1NF.
    • Όλες οι μη-κλειδιά ιδιότητες (στήλες που δεν ανήκουν στο πρωτεύον κλειδί) εξαρτώνται πλήρως από ολόκληρο το πρωτεύον κλειδί (αν αυτό είναι σύνθετο). Δεν υπάρχουν μερικές εξαρτήσεις.
  3. Τρίτη κανονική μορφή (3NF):

    • Ο πίνακας βρίσκεται σε 2NF.
    • Δεν υπάρχουν μεταβατικές εξαρτήσεις. Οι μη-κλειδιά ιδιότητες δεν εξαρτώνται από άλλες μη-κλειδιά.

Υπάρχουν και ανώτερες κανονικές μορφές (BCNF, 4NF, 5NF, 6NF), αλλά η 3NF θεωρείται συνήθως επαρκής για τις περισσότερες πρακτικές εφαρμογές.

Παράδειγμα (απλοποιημένο):

Αρχικός μη κανονικοποιημένος πίνακας (παραγγελία πελάτη):

ID Παραγγελίας Όνομα Πελάτη Διεύθυνση Πελάτη Προϊόντα Ποσότητα Τιμή ανά τεμάχιο
101 Ιωάννης Αθήνα Laptop 1 50000
101 Ιωάννης Αθήνα Ποντίκι 2 1000
102 Μαρία Θεσσαλονίκη Πληκτρολόγιο 1 3000

Μετά την κανονικοποίηση (π.χ., μέχρι 3NF):

Πίνακας Παραγγελίες:

ID Παραγγελίας ID Πελάτη Ημερομηνία Παραγγελίας
101 1 2023-10-26
102 2 2023-10-26

Πίνακας Πελάτες:

ID Πελάτη Όνομα Πελάτη Διεύθυνση Πελάτη
1 Ιωάννης Αθήνα
2 Μαρία Θεσσαλονίκη

Πίνακας Λεπτομερειών Παραγγελίας:

ID Λεπτομέρειας ID Παραγγελίας ID Προϊόντος Ποσότητα Τιμή ανά τεμάχιο
1 101 10 1 50000
2 101 20 2 1000
3 102 30 1 3000

Πίνακας Προϊόντων:

ID Προϊόντος Όνομα Προϊόντος
10 Laptop
20 Ποντίκι
30 Πληκτρολόγιο

Η αποκαλούμενη απο-κανονικοποίηση είναι η αντίστροφη διαδικασία της κανονικοποίησης, που μερικές φορές χρησιμοποιείται για τη βελτίωση της απόδοσης ανάγνωσης δεδομένων μέσω αύξησης της πλεονασματικότητας.