Κλειδιά DBMS: Υποψήφιος, Σούπερ, Πρωτοβάθμιος, Ξένος (Παράδειγμα)

Πίνακας περιεχομένων:

Anonim

Τι είναι τα κλειδιά στο DBMS;

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

Παράδειγμα:

Ταυτότητα Υπαλλήλου Ονομα Επίθετο
11 Ανδρέας Τζόνσον
22 Κάποιος Ξύλο
33 Άλεξ Υγιής

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

Σε αυτό το σεμινάριο, θα μάθετε:

  • Τι είναι τα κλειδιά;
  • Γιατί χρειαζόμαστε ένα κλειδί;
  • Διάφορα κλειδιά στο σύστημα διαχείρισης βάσεων δεδομένων
  • Τι είναι το Super Key;
  • Τι είναι το πρωτεύον κλειδί;
  • Τι είναι το εναλλακτικό κλειδί;
  • Τι είναι το υποψήφιο κλειδί;
  • Τι είναι το Ξένο κλειδί;
  • Τι είναι το πλήκτρο Compound;
  • Τι είναι το σύνθετο κλειδί;
  • Τι είναι το Surrogate Key;
  • Διαφορά μεταξύ πρωτεύοντος κλειδιού και ξένου κλειδιού

Γιατί χρειαζόμαστε ένα κλειδί;

Ακολουθούν ορισμένοι λόγοι για τη χρήση του κλειδιού sql στο σύστημα DBMS.

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

Τύποι κλειδιών στο σύστημα διαχείρισης βάσεων δεδομένων

Υπάρχουν κυρίως επτά διαφορετικοί τύποι κλειδιών στο DBMS και κάθε κλειδί έχει διαφορετική λειτουργικότητα:

  • Super Key - Ένα super key είναι μια ομάδα απλών ή πολλαπλών πλήκτρων που προσδιορίζει σειρές σε έναν πίνακα.
  • Κύριο κλειδί - είναι μια στήλη ή ομάδα στηλών σε έναν πίνακα που προσδιορίζει μοναδικά κάθε σειρά σε αυτόν τον πίνακα.
  • Candidate Key - είναι ένα σύνολο χαρακτηριστικών που αναγνωρίζουν μοναδικά πλειάδες σε έναν πίνακα. Το Candidate Key είναι ένα σούπερ κλειδί χωρίς επαναλαμβανόμενα χαρακτηριστικά.
  • Alternate Key - είναι μια στήλη ή μια ομάδα στηλών σε έναν πίνακα που προσδιορίζει μοναδικά κάθε σειρά σε αυτόν τον πίνακα.
  • Ξένο κλειδί - είναι μια στήλη που δημιουργεί μια σχέση μεταξύ δύο πινάκων. Ο σκοπός των ξένων κλειδιών είναι να διατηρήσει την ακεραιότητα των δεδομένων και να επιτρέψει την πλοήγηση μεταξύ δύο διαφορετικών παρουσιών μιας οντότητας.
  • Compound Key - έχει δύο ή περισσότερα χαρακτηριστικά που σας επιτρέπουν να αναγνωρίζετε μοναδικά μια συγκεκριμένη εγγραφή. Είναι πιθανό κάθε στήλη να μην είναι από μόνη της μοναδική μέσα στη βάση δεδομένων.
  • Σύνθετο κλειδί - Ένα τεχνητό κλειδί που στοχεύει στον μοναδικό προσδιορισμό κάθε εγγραφής ονομάζεται υποκατάστατο κλειδί. Αυτό το είδος κλειδιού είναι μοναδικό επειδή δημιουργείται όταν δεν έχετε κανένα φυσικό πρωτεύον κλειδί.
  • Surrogate Key - Ένα τεχνητό κλειδί που στοχεύει στον μοναδικό προσδιορισμό κάθε εγγραφής ονομάζεται υποκατάστατο κλειδί. Αυτό το είδος κλειδιού είναι μοναδικό επειδή δημιουργείται όταν δεν έχετε κανένα φυσικό πρωτεύον κλειδί.

Τι είναι το Super Key;

Ένα superkey είναι μια ομάδα μεμονωμένων ή πολλαπλών πλήκτρων που προσδιορίζει σειρές σε έναν πίνακα. Ένα Super κλειδί μπορεί να έχει πρόσθετα χαρακτηριστικά που δεν χρειάζονται για μοναδική αναγνώριση.

Παράδειγμα:

EmpSSN EmpNum Επώνυμο
9812345098 AB05 Απεικονίζεται
9876512345 ΑΒ06 Ρόσλιν
199937890 AB07 Τζέιμς

Στο παραπάνω παράδειγμα, το όνομα EmpSSN και το EmpNum είναι superkeys.

Τι είναι το πρωτεύον κλειδί;

Το PRIMARY KEY είναι μια στήλη ή μια ομάδα στηλών σε έναν πίνακα που προσδιορίζει μοναδικά κάθε σειρά σε αυτόν τον πίνακα. Το Πρωτεύον Κλειδί δεν μπορεί να είναι διπλό που σημαίνει ότι η ίδια τιμή δεν μπορεί να εμφανίζεται περισσότερες από μία φορές στον πίνακα. Ένας πίνακας δεν μπορεί να έχει περισσότερα από ένα πρωτεύοντα κλειδί.

Κανόνες για τον ορισμό του πρωτεύοντος κλειδιού:

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

Παράδειγμα:

Στο ακόλουθο παράδειγμα, το StudID είναι ένα πρωτεύον κλειδί.

StudID Ρολό αρ Ονομα Επίθετο ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
1 11 Κάποιος Τιμή Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.
2 12 Νίκος Κατασκευαστής Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.
3 13 Ντάνα Νατάν Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.

Τι είναι το εναλλακτικό κλειδί;

Το ALTERNATE KEYS είναι μια στήλη ή ομάδα στηλών σε έναν πίνακα που προσδιορίζει μοναδικά κάθε σειρά σε αυτόν τον πίνακα. Ένας πίνακας μπορεί να έχει πολλές επιλογές για ένα πρωτεύον κλειδί, αλλά μόνο ένα μπορεί να οριστεί ως το πρωτεύον κλειδί. Όλα τα πλήκτρα που δεν είναι πρωτεύον κλειδί ονομάζονται εναλλακτικό κλειδί.

Παράδειγμα:

Σε αυτόν τον πίνακα, τα StudID, Roll No, Email είναι κατάλληλα για να γίνουν βασικό κλειδί. Αλλά επειδή το StudID είναι το κύριο κλειδί, το Roll No, το Email γίνεται το εναλλακτικό κλειδί.

StudID Ρολό αρ Ονομα Επίθετο ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
1 11 Κάποιος Τιμή Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.
2 12 Νίκος Κατασκευαστής Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.
3 13 Ντάνα Νατάν Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.

Τι είναι το υποψήφιο κλειδί;

CANDIDATE KEY είναι ένα σύνολο χαρακτηριστικών που αναγνωρίζουν μοναδικά τις πλειάδες σε έναν πίνακα. Το Candidate Key είναι ένα σούπερ κλειδί χωρίς επαναλαμβανόμενα χαρακτηριστικά. Το πρωτεύον κλειδί πρέπει να επιλεγεί από τα υποψήφια κλειδιά. Κάθε πίνακας πρέπει να έχει τουλάχιστον ένα μόνο υποψήφιο κλειδί. Ένας πίνακας μπορεί να έχει πολλά υποψήφια κλειδιά, αλλά μόνο ένα πρωτεύον κλειδί.

Ιδιότητες του υποψηφίου κλειδιού:

  • Πρέπει να περιέχει μοναδικές τιμές
  • Το υποψήφιο κλειδί μπορεί να έχει πολλά χαρακτηριστικά
  • Δεν πρέπει να περιέχει μηδενικές τιμές
  • Θα πρέπει να περιέχει ελάχιστα πεδία για τη διασφάλιση της μοναδικότητας
  • Προσδιορίστε μοναδικά κάθε εγγραφή σε έναν πίνακα

Παράδειγμα: Στον δεδομένο πίνακα, το αναγνωριστικό Stud, το Roll No και το email είναι υποψήφια κλειδιά που μας βοηθούν να προσδιορίσουμε με μοναδικό τρόπο την εγγραφή μαθητή στον πίνακα.

StudID Ρολό αρ Ονομα Επίθετο ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
1 11 Κάποιος Τιμή Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.
2 12 Νίκος Κατασκευαστής Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.
3 13 Ντάνα Νατάν Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.

Τι είναι το Ξένο κλειδί;

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

Παράδειγμα:

DeptCode Όνομα Dept
001 Επιστήμη
002 Αγγλικά
005 Υπολογιστή
Αναγνωριστικό δασκάλου Όνομα Όνομα
Β002 Δαβίδ Προειδοποιών
B017 Σάρα Ιωσήφ
Β009 Μικρόφωνο Μπράντον

Σε αυτό το κλειδί στο dbms παράδειγμα, έχουμε δύο πίνακες, διδάσκουμε και τμήματα σε ένα σχολείο. Ωστόσο, δεν υπάρχει τρόπος να δείτε ποια αναζήτηση λειτουργεί σε ποιο τμήμα.

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

Αναγνωριστικό δασκάλου DeptCode Όνομα Όνομα
Β002 002 Δαβίδ Προειδοποιών
B017 002 Σάρα Ιωσήφ
Β009 001 Μικρόφωνο Μπράντον

Αυτή η ιδέα είναι επίσης γνωστή ως Ακεραιότητα Αναφοράς.

Τι είναι το πλήκτρο Compound;

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

Παράδειγμα:

Αριθμός παραγγελίας PorductID Ονομασία προϊόντος Ποσότητα
Β005 JAP102459 Ποντίκι 5
Β005 DKT321573 USB 10
Β005 OMG446789 Οθόνη LCD 20
Β004 DKT321573 USB 15
Β002 OMG446789 Εκτυπωτής με λέιζερ 3

Σε αυτό το παράδειγμα, το OrderNo και το ProductID δεν μπορούν να είναι πρωτεύον κλειδί, καθώς δεν προσδιορίζει μοναδικά μια εγγραφή. Ωστόσο, ένα σύνθετο κλειδί του αναγνωριστικού παραγγελίας και του αναγνωριστικού προϊόντος θα μπορούσε να χρησιμοποιηθεί καθώς προσδιορίζει μοναδικά κάθε εγγραφή.

Τι είναι το σύνθετο κλειδί;

ΚΛΕΙΔΙ ΣΥΝΘΕΣΗΣ είναι ένας συνδυασμός δύο ή περισσότερων στηλών που προσδιορίζουν μοναδικά τις σειρές σε έναν πίνακα. Ο συνδυασμός στηλών εγγυάται μοναδικότητα, αν και η μοναδική μοναδικότητα δεν είναι εγγυημένη. Ως εκ τούτου, συνδυάζονται για να αναγνωρίζουν μοναδικά αρχεία σε έναν πίνακα.

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

Τι είναι το Surrogate Key;

SURROGATE KEYS είναι ένα τεχνητό κλειδί που στοχεύει στον μοναδικό προσδιορισμό κάθε εγγραφής ονομάζεται υποκατάστατο κλειδί. Αυτό το είδος μερικού κλειδιού σε dbms είναι μοναδικό επειδή δημιουργείται όταν δεν έχετε κανένα φυσικό πρωτεύον κλειδί. Δεν προσδίδουν νόημα στα δεδομένα του πίνακα. Το βασικό κλειδί είναι συνήθως ακέραιος. Ένα υποκατάστατο κλειδί είναι μια τιμή που δημιουργείται ακριβώς πριν από την εγγραφή εισαχθεί σε έναν πίνακα.

Όνομα Επίθετο Ωρα έναρξης Τέλος χρόνου
Άννα Σιδηρουργός 09:00 18:00
Γρύλος Φράνσις 08:00 17:00
Άννα McLean 11:00 20:00
Απεικονίζεται Γουίλαμ 14:00 23:00

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

Επιτρέπονται τα εναλλακτικά κλειδιά σε sql όταν

  • Καμία ιδιότητα δεν έχει την παράμετρο του πρωτεύοντος κλειδιού.
  • Στον πίνακα όταν το πρωτεύον κλειδί είναι πολύ μεγάλο ή περίπλοκο.

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

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

Περίληψη

  • Ένα κλειδί στη SQL είναι ένα χαρακτηριστικό ή ένα σύνολο χαρακτηριστικών που σας βοηθά να προσδιορίσετε μια σειρά (tuple) σε μια σχέση (πίνακας)
  • Τα κλειδιά DBMS σας επιτρέπουν να δημιουργήσετε μια σχέση μεταξύ και να προσδιορίσετε τη σχέση μεταξύ πινάκων
  • Επτά τύποι κλειδιών DBMS είναι Super, Primary, Candidate, Alternate, Foreign, Compound, Composite και Surrogate Key.
  • Ένα σούπερ κλειδί είναι μια ομάδα μεμονωμένων ή πολλαπλών πλήκτρων που προσδιορίζει σειρές σε έναν πίνακα.
  • Μια στήλη ή μια ομάδα στηλών σε έναν πίνακα που μας βοηθά να προσδιορίζουμε με μοναδικό τρόπο κάθε σειρά σε αυτόν τον πίνακα ονομάζεται πρωτεύον κλειδί
  • Όλα τα πλήκτρα που δεν είναι πρωτεύον κλειδί ονομάζονται εναλλακτικό κλειδί
  • Ένα σούπερ κλειδί χωρίς επαναλαμβανόμενο χαρακτηριστικό καλείται υποψήφιο κλειδί
  • Ένα σύνθετο κλειδί είναι ένα κλειδί που έχει πολλά πεδία που σας επιτρέπουν να αναγνωρίζετε μοναδικά μια συγκεκριμένη εγγραφή
  • Ένα κλειδί που έχει πολλαπλά χαρακτηριστικά για τον μοναδικό προσδιορισμό σειρών σε έναν πίνακα ονομάζεται σύνθετο κλειδί
  • Ένα τεχνητό κλειδί που στοχεύει στον μοναδικό προσδιορισμό κάθε εγγραφής ονομάζεται υποκατάστατο κλειδί
  • Το πρωτεύον κλειδί δεν δέχεται ποτέ μηδενικές τιμές ενώ ένα ξένο κλειδί μπορεί να δέχεται πολλές μηδενικές τιμές