Συνιστάται, 2024

Επιλογή Συντάκτη

Διαφορά μεταξύ του κύριου κλειδιού και του μοναδικού κλειδιού

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

Η βασική διαφορά μεταξύ του πρωτεύοντος κλειδιού και του μοναδικού κλειδιού είναι ότι το πρωτεύον κλειδί δεν δέχεται τιμές NULL ενώ οι τιμές NULL επιτρέπονται εντός των μοναδικών βασικών περιορισμών.

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΠρωτεύων κλειδίΜοναδικό κλειδί
ΒασικόςΧρησιμοποιείται για να χρησιμεύσει ως μοναδικό αναγνωριστικό για κάθε σειρά ενός πίνακα.Επίσης καθορίζει με μοναδικό τρόπο μια σειρά που δεν ορίζεται ως πρωτεύον κλειδί.
NULL αποδοχή αξίαςΤο πρωτεύον κλειδί δεν δέχεται τιμές NULL.Μοναδική θα δεχθεί μια τιμή NULL.
Αριθμός πλήκτρων που μπορούν να οριστούν στον πίνακαΜόνο ένα πρωτεύον κλειδίΠΕΡΙΣΣΟΤΕΡΑ ΑΠΟ ΕΝΑ
ΔείκτηςΔημιουργεί συστοιχία ευρετηρίουΔημιουργεί μη ομαδοποιημένο ευρετήριο

Ορισμός του πρωτεύοντος κλειδιού

Μια στήλη μπορεί να καλείται ως πρωτεύον κλειδί του πίνακα της, αν αναγνωρίζει με μοναδικό τρόπο κάθε πλειάδα (σειρά) στον πίνακα αυτό. Επιβάλλει περιορισμούς ακεραιότητας στον πίνακα. Μόνο ένα πρωτεύον κλειδί επιτρέπεται σε έναν πίνακα. Το πρωτεύον κλειδί δεν δέχεται τις τιμές διπλότυπων και NULL. Το πρωτεύον κλειδί επιλέγεται με προσοχή, όπου οι αλλαγές μπορούν να συμβούν με σπάνιο τρόπο, σημαίνει ότι ένα πρωτεύον κλειδί σε έναν πίνακα αλλάζει πολύ σπάνια.

Ας καταλάβουμε την έννοια του πρωτεύοντος κλειδιού με τη βοήθεια ενός πίνακα. Εδώ δημιουργούμε έναν πίνακα που ονομάζεται πίνακας σπουδαστών, ο οποίος έχει χαρακτηριστικά όπως Roll_number, Name, Batch, Phone_number, Citizen_ID.

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

Ένα πρωτεύον κλειδί μπορεί να αναφέρεται από ξένο κλειδί. Δημιουργεί ένα μοναδικό σύμπλεγμα ευρετηρίου στο τραπέζι. Σε ένα ευρετήριο συμπλέγματος οι σειρές δεδομένων ταξινομούνται και αποθηκεύονται σε έναν πίνακα ή προβολές με βάση τις βασικές τιμές. Μπορεί να υπάρχει μόνο ένα ευρετήριο συμπλέγματος σε έναν πίνακα, ο λόγος πίσω από αυτό είναι ότι μια σειρά δεδομένων σε έναν πίνακα μπορεί να ταξινομηθεί σε μία μόνο σειρά.

Ορισμός μοναδικού κλειδιού

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

Ας καταλάβουμε αυτό με το παρόμοιο παράδειγμα, όπου είχαμε ένα τραπέζι Φοιτητών με τα χαρακτηριστικά Roll_number, Name, Batch, Phone_number και Citizen_ID. Το χαρακτηριστικό αριθμό ρόλου έχει αντιστοιχιστεί με το πρωτεύον κλειδί.

Στην περίπτωση του Citizen_ID μπορούν να ανατεθούν μοναδικοί περιορισμοί, όπου κάθε καταχώριση σε μια στήλη Citizen_ID πρέπει να είναι μοναδική και όχι διπλή, επειδή κάθε πολίτης μιας χώρας πρέπει να έχει τον μοναδικό αριθμό αναγνώρισης. Όμως, αν ένας σπουδαστής μεταναστεύσει από άλλη χώρα, στην περίπτωση αυτή, αυτός ή αυτή δεν θα είχε το όνομα Citizen_ID και η καταχώρηση θα μπορούσε να έχει τιμή NULL καθώς ένα NULL επιτρέπεται στον μοναδικό περιορισμό.

Οι μοναδικοί περιορισμοί αναφέρονται επίσης από το ξένο κλειδί. Μπορεί να χρησιμοποιηθεί όταν κάποιος θέλει να επιβάλει περιορισμούς σε μια στήλη και μια ομάδα στηλών που δεν είναι πρωτεύον κλειδί. Σε αντίθεση με το πρωτεύον κλειδί, δημιουργεί το μη ομαδοποιημένο ευρετήριο . Τα μη συγκεντρωμένα ευρετήρια έχουν μια ξεχωριστή δομή από τις σειρές δεδομένων. Κάθε καταχώρηση κλειδιού-τιμής σε αυτήν δείχνει τη σειρά δεδομένων που περιέχει την τιμή κλειδιού και επομένως χρησιμοποιεί δείκτες.

Βασικές διαφορές μεταξύ του κύριου κλειδιού και του μοναδικού κλειδιού

  1. Όταν ένα χαρακτηριστικό που δηλώνεται ως πρωτεύον κλειδί, δεν θα δεχτεί τιμές NULL. Από την άλλη πλευρά, όταν ένα χαρακτηριστικό που δηλώνεται ως μοναδικό, μπορεί να δεχθεί μία τιμή NULL.
  2. Ένας πίνακας μπορεί να έχει μόνο το πρωτεύον κλειδί, ενώ μπορεί να υπάρχουν πολλοί μοναδικοί περιορισμοί σε ένα τραπέζι.
  3. Δημιουργείται αυτόματα ένα ευρετήριο συμπλέγματος που δημιουργείται αυτόματα όταν ορίζεται ένα πρωτεύον κλειδί. Αντίθετα, το μοναδικό κλειδί δημιουργεί το μη ομαδοποιημένο ευρετήριο.

συμπέρασμα

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

Top