Η βασική διαφορά μεταξύ του πρωτεύοντος κλειδιού και του μοναδικού κλειδιού είναι ότι το πρωτεύον κλειδί δεν δέχεται τιμές NULL ενώ οι τιμές NULL επιτρέπονται εντός των μοναδικών βασικών περιορισμών.
Συγκριτικό διάγραμμα
Βάση σύγκρισης | Πρωτεύων κλειδί | Μοναδικό κλειδί |
---|---|---|
Βασικός | Χρησιμοποιείται για να χρησιμεύσει ως μοναδικό αναγνωριστικό για κάθε σειρά ενός πίνακα. | Επίσης καθορίζει με μοναδικό τρόπο μια σειρά που δεν ορίζεται ως πρωτεύον κλειδί. |
NULL αποδοχή αξίας | Το πρωτεύον κλειδί δεν δέχεται τιμές NULL. | Μοναδική θα δεχθεί μια τιμή NULL. |
Αριθμός πλήκτρων που μπορούν να οριστούν στον πίνακα | Μόνο ένα πρωτεύον κλειδί | ΠΕΡΙΣΣΟΤΕΡΑ ΑΠΟ ΕΝΑ |
Δείκτης | Δημιουργεί συστοιχία ευρετηρίου | Δημιουργεί μη ομαδοποιημένο ευρετήριο |
Ορισμός του πρωτεύοντος κλειδιού
Μια στήλη μπορεί να καλείται ως πρωτεύον κλειδί του πίνακα της, αν αναγνωρίζει με μοναδικό τρόπο κάθε πλειάδα (σειρά) στον πίνακα αυτό. Επιβάλλει περιορισμούς ακεραιότητας στον πίνακα. Μόνο ένα πρωτεύον κλειδί επιτρέπεται σε έναν πίνακα. Το πρωτεύον κλειδί δεν δέχεται τις τιμές διπλότυπων και NULL. Το πρωτεύον κλειδί επιλέγεται με προσοχή, όπου οι αλλαγές μπορούν να συμβούν με σπάνιο τρόπο, σημαίνει ότι ένα πρωτεύον κλειδί σε έναν πίνακα αλλάζει πολύ σπάνια.
Ας καταλάβουμε την έννοια του πρωτεύοντος κλειδιού με τη βοήθεια ενός πίνακα. Εδώ δημιουργούμε έναν πίνακα που ονομάζεται πίνακας σπουδαστών, ο οποίος έχει χαρακτηριστικά όπως Roll_number, Name, Batch, Phone_number, Citizen_ID.
Ένα πρωτεύον κλειδί μπορεί να αναφέρεται από ξένο κλειδί. Δημιουργεί ένα μοναδικό σύμπλεγμα ευρετηρίου στο τραπέζι. Σε ένα ευρετήριο συμπλέγματος οι σειρές δεδομένων ταξινομούνται και αποθηκεύονται σε έναν πίνακα ή προβολές με βάση τις βασικές τιμές. Μπορεί να υπάρχει μόνο ένα ευρετήριο συμπλέγματος σε έναν πίνακα, ο λόγος πίσω από αυτό είναι ότι μια σειρά δεδομένων σε έναν πίνακα μπορεί να ταξινομηθεί σε μία μόνο σειρά.
Ορισμός μοναδικού κλειδιού
Παρόμοια με ένα πρωτεύον κλειδί, οι μοναδικοί περιορισμοί κλειδιών αναγνωρίζουν επίσης μια μεμονωμένη πλειάδα μοναδικά σε μια σχέση. Ωστόσο, υπάρχουν ορισμένες διαφορές μεταξύ τους. Ένας πίνακας μπορεί να έχει περισσότερα από ένα μοναδικά κλειδιά. Οι μοναδικοί περιορισμοί κλειδιών μπορούν να αποδεχθούν μόνο μία τιμή NULL για μια στήλη.
Ας καταλάβουμε αυτό με το παρόμοιο παράδειγμα, όπου είχαμε ένα τραπέζι Φοιτητών με τα χαρακτηριστικά Roll_number, Name, Batch, Phone_number και Citizen_ID. Το χαρακτηριστικό αριθμό ρόλου έχει αντιστοιχιστεί με το πρωτεύον κλειδί.
Οι μοναδικοί περιορισμοί αναφέρονται επίσης από το ξένο κλειδί. Μπορεί να χρησιμοποιηθεί όταν κάποιος θέλει να επιβάλει περιορισμούς σε μια στήλη και μια ομάδα στηλών που δεν είναι πρωτεύον κλειδί. Σε αντίθεση με το πρωτεύον κλειδί, δημιουργεί το μη ομαδοποιημένο ευρετήριο . Τα μη συγκεντρωμένα ευρετήρια έχουν μια ξεχωριστή δομή από τις σειρές δεδομένων. Κάθε καταχώρηση κλειδιού-τιμής σε αυτήν δείχνει τη σειρά δεδομένων που περιέχει την τιμή κλειδιού και επομένως χρησιμοποιεί δείκτες.
Βασικές διαφορές μεταξύ του κύριου κλειδιού και του μοναδικού κλειδιού
- Όταν ένα χαρακτηριστικό που δηλώνεται ως πρωτεύον κλειδί, δεν θα δεχτεί τιμές NULL. Από την άλλη πλευρά, όταν ένα χαρακτηριστικό που δηλώνεται ως μοναδικό, μπορεί να δεχθεί μία τιμή NULL.
- Ένας πίνακας μπορεί να έχει μόνο το πρωτεύον κλειδί, ενώ μπορεί να υπάρχουν πολλοί μοναδικοί περιορισμοί σε ένα τραπέζι.
- Δημιουργείται αυτόματα ένα ευρετήριο συμπλέγματος που δημιουργείται αυτόματα όταν ορίζεται ένα πρωτεύον κλειδί. Αντίθετα, το μοναδικό κλειδί δημιουργεί το μη ομαδοποιημένο ευρετήριο.
συμπέρασμα
Το πρωτεύον κλειδί και το μοναδικό κλειδί εξυπηρετούν το σκοπό ενός μοναδικού αναγνωριστικού για τις σειρές ενός πίνακα με τις μοναδικές τιμές σε μια στήλη ή ομάδα στηλών. Αυτοί οι περιορισμοί κλειδιών είναι σημαντικά διαφοροποιημένοι όπου κάθε πίνακας μπορεί να έχει το πολύ ένα πρωτεύον κλειδί ενώ ένας πίνακας μπορεί να έχει πολλαπλά μοναδικά κλειδιά που δεν είναι πρωταρχικά.