Κύριο κλειδί έναντι Μοναδικού κλειδιού
Μια στήλη ή ένα σύνολο στηλών, που μπορεί να χρησιμοποιηθεί για τον προσδιορισμό ή την πρόσβαση σε μια γραμμή ή ένα σύνολο γραμμών σε μια βάση δεδομένων ονομάζεται κλειδί. Ένα μοναδικό κλειδί είναι ένα κλειδί που μπορεί να προσδιορίσει μοναδικά μια σειρά σε έναν πίνακα στο πλαίσιο των σχεσιακών βάσεων δεδομένων. Ένα μοναδικό κλειδί αποτελείται από μία στήλη ή ένα σύνολο στηλών. Ένα πρωτεύον κλειδί είναι επίσης ένας συνδυασμός στηλών σε έναν πίνακα που προσδιορίζουν μοναδικά μια σειρά. Αλλά θεωρείται ότι είναι μια ειδική περίπτωση του μοναδικού κλειδιού.
Τι είναι το μοναδικό κλειδί;
Όπως αναφέρθηκε προηγουμένως, το μοναδικό κλειδί είναι μια μεμονωμένη στήλη ή σύνολο στηλών που μπορεί να προσδιορίσει μοναδικά μια σειρά σε έναν πίνακα. Έτσι, ένα μοναδικό κλειδί περιορίζεται έτσι ώστε να μην είναι ίσες δύο τιμές του. Μια σημαντική ιδιότητα είναι ότι τα μοναδικά κλειδιά δεν επιβάλλουν τον περιορισμό NOT NULL. Εφόσον το NULL αντιπροσωπεύει την έλλειψη τιμής, εάν δύο σειρές έχουν NULL σε μια στήλη, τότε δεν σημαίνει ότι οι τιμές είναι ίσες. Η στήλη που ορίζεται ως μοναδικό κλειδί επιτρέπει μόνο μία τιμή NULL σε αυτήν τη στήλη. Στη συνέχεια, αυτό μπορεί να χρησιμοποιηθεί για να προσδιορίσει τη συγκεκριμένη σειρά μοναδικά. Για παράδειγμα, σε έναν πίνακα που περιέχει πληροφορίες μαθητή, το αναγνωριστικό μαθητή μπορεί να οριστεί ως μοναδικό κλειδί. Δεδομένου ότι κανένας σπουδαστής δεν μπορεί να έχει την ίδια ταυτότητα, προσδιορίζει μοναδικά έναν μαθητή. Έτσι, η στήλη Student ID ικανοποιεί όλες τις ιδιότητες ενός μοναδικού κλειδιού. Ανάλογα με το σχεδιασμό μιας βάσης δεδομένων, ένας πίνακας μπορεί να έχει περισσότερα από ένα μοναδικά κλειδιά.
Τι είναι το πρωτεύον κλειδί;
Το Το πρωτεύον κλειδί είναι επίσης μια στήλη ή ένας συνδυασμός στηλών που ορίζει μοναδικά μια σειρά σε έναν πίνακα μιας σχεσιακής βάσης δεδομένων. Ένας πίνακας μπορεί να έχει το πολύ ένα πρωτεύον κλειδί. Το πρωτεύον κλειδί επιβάλλει τον σιωπηρό περιορισμό NOT NULL. Έτσι, μια στήλη που ορίζεται ως το πρωτεύον κλειδί δεν μπορεί να έχει NULL τιμές. Το πρωτεύον κλειδί μπορεί να είναι ένα κανονικό χαρακτηριστικό στον πίνακα που είναι εγγυημένο ότι είναι μοναδικό, όπως ο αριθμός κοινωνικής ασφάλισης ή θα μπορούσε να είναι μια μοναδική τιμή που δημιουργείται από το σύστημα διαχείρισης βάσης δεδομένων, όπως ένα Globally Unique Identifier (GUID) στον Microsoft SQL Server. Τα πρωτεύοντα κλειδιά ορίζονται μέσω του περιορισμού PRIMARY KEY στο ANSI SQL Standard. Το πρωτεύον κλειδί μπορεί επίσης να οριστεί κατά τη δημιουργία του πίνακα. Η SQL επιτρέπει το πρωτεύον κλειδί να αποτελείται από μία ή περισσότερες στήλες και κάθε στήλη που περιλαμβάνεται στο πρωτεύον κλειδί ορίζεται σιωπηρά ότι δεν είναι NOT NULL. Ωστόσο, ορισμένα συστήματα διαχείρισης βάσεων δεδομένων απαιτούν τη δημιουργία των στηλών του πρωτεύοντος κλειδιού ρητά NOT NULL.
Διαφορά μεταξύ του κύριου κλειδιού και του μοναδικού κλειδιού
Αν και τόσο το πρωτεύον κλειδί όσο και το μοναδικό κλειδί είναι μία ή περισσότερες στήλες που μπορούν να προσδιορίσουν μοναδικά μια σειρά σε έναν πίνακα, έχουν ορισμένες σημαντικές διαφορές. Το πιο σημαντικό, ένας πίνακας μπορεί να έχει μόνο ένα πρωτεύον κλειδί ενώ μπορεί να έχει περισσότερα από ένα μοναδικά κλειδιά. Το πρωτεύον κλειδί μπορεί να θεωρηθεί ως ειδική περίπτωση του μοναδικού κλειδιού. Μια άλλη διαφορά είναι ότι τα πρωτεύοντα κλειδιά έχουν έναν σιωπηρό περιορισμό NOT NULL ενώ το μοναδικό κλειδί δεν έχει αυτόν τον περιορισμό. Επομένως, οι στήλες μοναδικών κλειδιών μπορεί να περιέχουν ή να μην περιέχουν NULL τιμές, αλλά οι στήλες του πρωτεύοντος κλειδιού δεν μπορούν να περιέχουν NULL τιμές.