Κλειδιά DBMS: Υποψήφιος, Σούπερ, Κύριος, Τύποι Ξένων Κλειδιών με Παράδειγμα
Τι είναι τα κλειδιά στο DBMS;
ΚΛΕΙΔΙΑ στο DBMS είναι ένα χαρακτηριστικό ή ένα σύνολο χαρακτηριστικών που σας βοηθά να προσδιορίσετε μια σειρά (πλούδα) σε μια σχέση (πίνακα). Σας επιτρέπουν να βρείτε τη σχέση μεταξύ δύο πινάκων. Τα πλήκτρα σάς βοηθούν να προσδιορίσετε μοναδικά μια σειρά σε έναν πίνακα με συνδυασμό μιας ή περισσότερων στηλών σε αυτόν τον πίνακα. Το κλειδί είναι επίσης χρήσιμο για την εύρεση μοναδικής εγγραφής ή σειράς από τον πίνακα. Το κλειδί βάσης δεδομένων είναι επίσης χρήσιμο για την εύρεση μοναδικής εγγραφής ή σειράς από τον πίνακα.
Παράδειγμα:
Ταυτότητα Υπαλλήλου | Ονομα | Επίθετο |
---|---|---|
11 | Ανδρέας | Johnson |
22 | τόμος | Ξύλου |
33 | alex | Υγιής |
Στο παραπάνω παράδειγμα, το αναγνωριστικό υπαλλήλου είναι ένα πρωτεύον κλειδί επειδή προσδιορίζει μοναδικά μια εγγραφή υπαλλήλου. Σε αυτόν τον πίνακα, κανένας άλλος υπάλληλος δεν μπορεί να έχει την ίδια ταυτότητα υπαλλήλου.
Γιατί χρειαζόμαστε ένα κλειδί;
Ακολουθούν ορισμένοι λόγοι για τη χρήση του κλειδιού sql στο σύστημα DBMS.
- Τα πλήκτρα σάς βοηθούν να προσδιορίσετε οποιαδήποτε σειρά δεδομένων σε έναν πίνακα. Σε μια εφαρμογή πραγματικού κόσμου, ένας πίνακας θα μπορούσε να περιέχει χιλιάδες εγγραφές. Επιπλέον, τα αρχεία θα μπορούσαν να αντιγραφούν. Τα κλειδιά στο RDBMS διασφαλίζουν ότι μπορείτε να προσδιορίσετε μοναδικά μια εγγραφή πίνακα παρά αυτές τις προκλήσεις.
- Σας επιτρέπει να δημιουργήσετε μια σχέση μεταξύ και να προσδιορίσετε τη σχέση μεταξύ των πινάκων
- Σας βοηθά να επιβάλλετε την ταυτότητα και την ακεραιότητα στη σχέση.
Τύποι κλειδιών στο DBMS (σύστημα διαχείρισης βάσεων δεδομένων)
Υπάρχουν κυρίως οκτώ διαφορετικοί τύποι κλειδιών στο DBMS και κάθε κλειδί έχει τη διαφορετική λειτουργικότητά του:
- Σούπερ κλειδί
- Πρωτεύων κλειδί
- Υποψήφιο κλειδί
- Εναλλακτικό κλειδί
- Ξένο κλειδί
- Σύνθετο Κλειδί
- Σύνθετο κλειδί
- Υποκατάστατο κλειδί
Ας δούμε καθένα από τα κλειδιά στο DBMS με παράδειγμα:
- Super Key - Ένα υπερκλειδί είναι μια ομάδα μεμονωμένων ή πολλαπλών κλειδιών που προσδιορίζει σειρές σε έναν πίνακα.
- Πρωτεύων κλειδί - είναι μια στήλη ή μια ομάδα στηλών σε έναν πίνακα που προσδιορίζει μοναδικά κάθε γραμμή σε αυτόν τον πίνακα.
- Κλειδί υποψηφίου – είναι ένα σύνολο χαρακτηριστικών που προσδιορίζουν μοναδικά τις πλειάδες σε έναν πίνακα. Το Candidate Key είναι ένα σούπερ κλειδί χωρίς επαναλαμβανόμενα χαρακτηριστικά.
- Εναλλακτικό κλειδί - είναι μια στήλη ή μια ομάδα στηλών σε έναν πίνακα που προσδιορίζει μοναδικά κάθε γραμμή σε αυτόν τον πίνακα.
- Ξένο κλειδί - είναι μια στήλη που δημιουργεί μια σχέση μεταξύ δύο πινάκων. Ο σκοπός των ξένων κλειδιών είναι να διατηρούν την ακεραιότητα των δεδομένων και να επιτρέπουν την πλοήγηση μεταξύ δύο διαφορετικών περιπτώσεων μιας οντότητας.
- Σύνθετο κλειδί - έχει δύο ή περισσότερα χαρακτηριστικά που σας επιτρέπουν να αναγνωρίζετε μοναδικά μια συγκεκριμένη εγγραφή. Είναι πιθανό κάθε στήλη να μην είναι μοναδική από μόνη της μέσα στη βάση δεδομένων.
- Σύνθετο κλειδί - είναι ένας συνδυασμός δύο ή περισσότερων στηλών που προσδιορίζουν μοναδικά τις γραμμές σε έναν πίνακα. Ο συνδυασμός στηλών εγγυάται τη μοναδικότητα, αν και η ατομική μοναδικότητα δεν είναι εγγυημένη.
- Υποκατάστατο κλειδί - Ένα τεχνητό κλειδί που στοχεύει στη μοναδική αναγνώριση κάθε εγγραφής ονομάζεται υποκατάστατο κλειδί. Αυτά τα είδη κλειδιών είναι μοναδικά επειδή δημιουργούνται όταν δεν έχετε φυσικό πρωτεύον κλειδί.
Τι είναι το κλειδί Super;
Ένα υπερκλειδί είναι μια ομάδα μεμονωμένων ή πολλαπλών κλειδιών που προσδιορίζει σειρές σε έναν πίνακα. Ένα κλειδί Super μπορεί να έχει πρόσθετα χαρακτηριστικά που δεν χρειάζονται για μοναδική αναγνώριση.
Παράδειγμα:
EmpSSN | EmpNum | Empname |
---|---|---|
9812345098 | AB05 | Απεικονίζεται |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
Στο παραπάνω παράδειγμα, το EmpSSN και το EmpNum name είναι υπερκλειδιά.
Τι είναι το πρωτεύον κλειδί;
Κύριο κλειδί in DBMS είναι μια στήλη ή μια ομάδα στηλών σε έναν πίνακα που προσδιορίζει μοναδικά κάθε γραμμή σε αυτόν τον πίνακα. Το Πρωτεύον Κλειδί δεν μπορεί να είναι διπλότυπο που σημαίνει ότι η ίδια τιμή δεν μπορεί να εμφανίζεται περισσότερες από μία φορές στον πίνακα. Ένας πίνακας δεν μπορεί να έχει περισσότερα από ένα πρωτεύοντα κλειδιά.
Κανόνες για τον ορισμό του Πρωτεύοντος κλειδιού:
- Δύο σειρές δεν μπορούν να έχουν την ίδια τιμή πρωτεύοντος κλειδιού
- Πρέπει για κάθε σειρά να έχει μια τιμή πρωτεύοντος κλειδιού.
- Το πεδίο του πρωτεύοντος κλειδιού δεν μπορεί να είναι μηδενικό.
- Η τιμή σε μια στήλη πρωτεύοντος κλειδιού δεν μπορεί ποτέ να τροποποιηθεί ή να ενημερωθεί εάν οποιοδήποτε ξένο κλειδί αναφέρεται σε αυτό το πρωτεύον κλειδί.
Παράδειγμα:
Στο παρακάτω παράδειγμα, StudID
είναι ένα πρωτεύον κλειδί.
StudID | Ρολό Αρ | ΟΝΟΜΑ/ΕΠΩΝΥΜΟ | Επίθετο | |
---|---|---|---|---|
1 | 11 | τόμος | Τιμή | abc@gmail.com |
2 | 12 | Nick | Κατασκευαστής | xyz@gmail.com |
3 | 13 | Dana | Natan | mno@yahoo.com |
Τι είναι το Εναλλακτικό κλειδί;
ΕΝΑΛΛΑΚΤΙΚΑ ΚΛΕΙΔΙΑ είναι μια στήλη ή μια ομάδα στηλών σε έναν πίνακα που προσδιορίζει μοναδικά κάθε γραμμή σε αυτόν τον πίνακα. Ένας πίνακας μπορεί να έχει πολλαπλές επιλογές για ένα πρωτεύον κλειδί, αλλά μόνο μία μπορεί να οριστεί ως πρωτεύον κλειδί. Όλα τα κλειδιά που δεν είναι πρωτεύον κλειδί ονομάζονται εναλλακτικό κλειδί.
Παράδειγμα:
Σε αυτόν τον πίνακα, τα StudID, Roll No, Email είναι κατάλληλα για να γίνουν πρωτεύον κλειδί. Επειδή όμως το StudID είναι το πρωτεύον κλειδί, το Roll No, το email γίνεται το εναλλακτικό κλειδί.
StudID | Ρολό Αρ | ΟΝΟΜΑ/ΕΠΩΝΥΜΟ | Επίθετο | |
---|---|---|---|---|
1 | 11 | τόμος | Τιμή | abc@gmail.com |
2 | 12 | Nick | Κατασκευαστής | xyz@gmail.com |
3 | 13 | Dana | Natan | mno@yahoo.com |
Τι είναι το Υποψήφιο Κλειδί;
ΚΛΕΙΔΙ ΥΠΟΨΗΦΙΟΥ στην SQL είναι ένα σύνολο χαρακτηριστικών που προσδιορίζουν μοναδικά τις πλειάδες σε έναν πίνακα. Το Candidate Key είναι ένα σούπερ κλειδί χωρίς επαναλαμβανόμενα χαρακτηριστικά. Το Πρωτεύον κλειδί πρέπει να επιλεγεί από τα υποψήφια κλειδιά. Κάθε πίνακας πρέπει να έχει τουλάχιστον ένα μόνο υποψήφιο κλειδί. Ένας πίνακας μπορεί να έχει πολλά υποψήφια κλειδιά αλλά μόνο ένα πρωτεύον κλειδί.
Ιδιότητες του κλειδιού υποψηφίου:
- Πρέπει να περιέχει μοναδικές τιμές
- Το υποψήφιο κλειδί στην SQL μπορεί να έχει πολλαπλά χαρακτηριστικά
- Δεν πρέπει να περιέχει μηδενικές τιμές
- Θα πρέπει να περιέχει ελάχιστα πεδία για να διασφαλίζεται η μοναδικότητα
- Προσδιορίστε μοναδικά κάθε εγγραφή σε έναν πίνακα
Παράδειγμα κλειδιού υποψηφίου: Στον πίνακα που δίνεται, το αναγνωριστικό μελέτης, το Roll No και το email είναι υποψήφια κλειδιά που μας βοηθούν να προσδιορίσουμε μοναδικά την εγγραφή μαθητή στον πίνακα.
StudID | Ρολό Αρ | ΟΝΟΜΑ/ΕΠΩΝΥΜΟ | Επίθετο | |
---|---|---|---|---|
1 | 11 | τόμος | Τιμή | abc@gmail.com |
2 | 12 | Nick | Κατασκευαστής | xyz@gmail.com |
3 | 13 | Dana | Natan | mno@yahoo.com |
Τι είναι το Εξωτερικό κλειδί;
ΞΕΝΟ ΚΛΕΙΔΙ είναι μια στήλη που δημιουργεί μια σχέση μεταξύ δύο πινάκων. Ο σκοπός των ξένων κλειδιών είναι να διατηρούν την ακεραιότητα των δεδομένων και να επιτρέπουν την πλοήγηση μεταξύ δύο διαφορετικών περιπτώσεων μιας οντότητας. Λειτουργεί ως διασταύρωση μεταξύ δύο πινάκων καθώς αναφέρεται στο πρωτεύον κλειδί ενός άλλου πίνακα.
Παράδειγμα:
DeptCode | Όνομα τμήματος |
---|---|
001 | Επιστήμη |
002 | Αγγλικά |
005 | υπολογιστή |
Ταυτότητα εκπαιδευτικού | Fname | Lname |
---|---|---|
B002 | Δαβίδ | Προειδοποιών |
B017 | Sara | Ιωσήφ |
B009 | μικρόφωνο | Μπράντον |
Σε αυτό το κλειδί στο παράδειγμα dbms, έχουμε δύο πίνακες, διδασκαλία και τμήμα σε ένα σχολείο. Ωστόσο, δεν υπάρχει τρόπος να δείτε ποια αναζήτηση λειτουργεί σε ποιο τμήμα.
Σε αυτόν τον πίνακα, προσθέτοντας το ξένο κλειδί στο Deptcode στο όνομα του καθηγητή, μπορούμε να δημιουργήσουμε μια σχέση μεταξύ των δύο πινάκων.
Ταυτότητα εκπαιδευτικού | DeptCode | Fname | Lname |
---|---|---|---|
B002 | 002 | Δαβίδ | Προειδοποιών |
B017 | 002 | Sara | Ιωσήφ |
B009 | 001 | μικρόφωνο | Μπράντον |
Αυτή η έννοια είναι επίσης γνωστή ως Αναφορική Integrity.
Τι είναι το Σύνθετο κλειδί;
ΣΥΝΘΕΤΟ ΚΛΕΙΔΙ έχει δύο ή περισσότερα χαρακτηριστικά που σας επιτρέπουν να αναγνωρίζετε μοναδικά μια συγκεκριμένη εγγραφή. Είναι πιθανό κάθε στήλη να μην είναι μοναδική από μόνη της μέσα στη βάση δεδομένων. Ωστόσο, όταν συνδυάζεται με την άλλη στήλη ή στήλες, ο συνδυασμός των σύνθετων κλειδιών γίνεται μοναδικός. Ο σκοπός του σύνθετου κλειδιού στη βάση δεδομένων είναι να αναγνωρίζει μοναδικά κάθε εγγραφή στον πίνακα.
Παράδειγμα:
Αριθμός παραγγελίας | PorductID | Όνομα Προϊόντος | Ποσότητα (τεμάχια) |
---|---|---|---|
B005 | JAP102459 | Ποντίκι | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | Οθόνη LCD | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Εκτυπωτής με λέιζερ | 3 |
Σε αυτό το παράδειγμα, το OrderNo και το ProductID δεν μπορούν να είναι πρωτεύον κλειδί, καθώς δεν προσδιορίζουν μοναδικά μια εγγραφή. Ωστόσο, θα μπορούσε να χρησιμοποιηθεί ένα σύνθετο κλειδί για το αναγνωριστικό παραγγελίας και το αναγνωριστικό προϊόντος καθώς προσδιόριζε μοναδικά κάθε εγγραφή.
Τι είναι το Σύνθετο κλειδί;
ΣΥΝΘΕΤΟ ΚΛΕΙΔΙ είναι ένας συνδυασμός δύο ή περισσότερων στηλών που προσδιορίζουν μοναδικά τις γραμμές σε έναν πίνακα. Ο συνδυασμός στηλών εγγυάται τη μοναδικότητα, αν και η ατομική μοναδικότητα δεν είναι εγγυημένη. Ως εκ τούτου, συνδυάζονται για να αναγνωρίζουν μοναδικά τις εγγραφές σε έναν πίνακα.
Η διαφορά μεταξύ σύνθετου και σύνθετου κλειδιού είναι ότι οποιοδήποτε μέρος του σύνθετου κλειδιού μπορεί να είναι ξένο κλειδί, αλλά το σύνθετο κλειδί μπορεί ή όχι μέρος του ξένου κλειδιού.
Τι είναι το υποκατάστατο κλειδί;
ΑΝΑΠΛΗΡΩΜΑΤΙΚΑ ΚΛΕΙΔΙΑ είναι Ένα τεχνητό κλειδί που στοχεύει στη μοναδική αναγνώριση κάθε εγγραφής ονομάζεται υποκατάστατο κλειδί. Αυτό το είδος μερικού κλειδιού στα dbms είναι μοναδικό επειδή δημιουργείται όταν δεν έχετε φυσικό πρωτεύον κλειδί. Δεν προσδίδουν κανένα νόημα στα δεδομένα του πίνακα. Το υποκατάστατο κλειδί στο DBMS είναι συνήθως ένας ακέραιος αριθμός. Ένα υποκατάστατο κλειδί είναι μια τιμή που δημιουργείται ακριβώς πριν την εισαγωγή της εγγραφής σε έναν πίνακα.
Fname | Επίθετο | Ωρα έναρξης | Ώρα λήξης |
---|---|---|---|
Anne | Σιδεράς | 09:00 | 18:00 |
γρύλος | Francis | 08:00 | 17:00 |
Άννα | McLean | 11:00 | 20:00 |
Απεικονίζεται | Γουίλαμ | 14:00 | 23:00 |
Στο παραπάνω παράδειγμα, παρουσιάζονται οι χρόνοι βάρδιας του διαφορετικού υπαλλήλου. Σε αυτό το παράδειγμα, απαιτείται ένα υποκατάστατο κλειδί για να προσδιορίζει μοναδικά κάθε εργαζόμενο.
Υποκατάστατα κλειδιά μέσα SQL επιτρέπονται όταν
- Καμία ιδιότητα δεν έχει την παράμετρο του πρωτεύοντος κλειδιού.
- Στον πίνακα όταν το πρωτεύον κλειδί είναι πολύ μεγάλο ή πολύπλοκο.
Διαφορά μεταξύ πρωτεύοντος κλειδιού και ξένου κλειδιού
Ακολουθεί η κύρια διαφορά μεταξύ του πρωτεύοντος κλειδιού και του ξένου κλειδιού:
Πρωτεύων κλειδί | Ξένο κλειδί |
---|---|
Σας βοηθά να προσδιορίσετε μοναδικά μια εγγραφή στον πίνακα. | Είναι ένα πεδίο στον πίνακα που είναι το πρωτεύον κλειδί ενός άλλου πίνακα. |
Το πρωτεύον κλειδί δεν δέχεται ποτέ μηδενικές τιμές. | Ένα ξένο κλειδί μπορεί να δέχεται πολλές μηδενικές τιμές. |
Το πρωτεύον κλειδί είναι ένας ομαδοποιημένος δείκτης και τα δεδομένα στον πίνακα DBMS οργανώνονται φυσικά με τη σειρά του ευρετηρίου συμπλέγματος. | Ένα ξένο κλειδί δεν μπορεί να δημιουργήσει αυτόματα ένα ευρετήριο, συμπλεγμένο ή μη. Ωστόσο, μπορείτε να δημιουργήσετε μη αυτόματα ένα ευρετήριο στο ξένο κλειδί. |
Μπορείτε να έχετε το μοναδικό Κύριο κλειδί σε έναν πίνακα. | Μπορείτε να έχετε πολλά ξένα κλειδιά σε έναν πίνακα. |
Περίληψη
- Τι είναι το κλειδί στο DBMS: Ένα κλειδί στο DBMS είναι ένα χαρακτηριστικό ή ένα σύνολο χαρακτηριστικών που σας βοηθά να προσδιορίσετε μια σειρά (πλούδα) σε μια σχέση (πίνακας)
- Κλειδιά μέσα RDBMS σας επιτρέπουν να δημιουργήσετε μια σχέση μεταξύ και να προσδιορίσετε τη σχέση μεταξύ των πινάκων
- Οκτώ τύποι κλειδιών στο DBMS είναι Super, Primary, Candidate, Alternate, Foreign, Compound, Composite και Surrogate Key.
- Ένα υπερκλειδί είναι μια ομάδα μεμονωμένων ή πολλαπλών κλειδιών που προσδιορίζει σειρές σε έναν πίνακα.
- Μια στήλη ή μια ομάδα στηλών σε έναν πίνακα που μας βοηθά να προσδιορίζουμε μοναδικά κάθε γραμμή σε αυτόν τον πίνακα ονομάζεται πρωτεύον κλειδί
- Όλα τα διαφορετικά κλειδιά στο DBMS που δεν είναι πρωτεύον κλειδί ονομάζονται εναλλακτικό κλειδί
- Ένα υπερκλειδί χωρίς επαναλαμβανόμενο χαρακτηριστικό ονομάζεται υποψήφιο κλειδί
- Ένα σύνθετο κλειδί είναι ένα κλειδί που έχει πολλά πεδία που σας επιτρέπουν να αναγνωρίσετε μοναδικά μια συγκεκριμένη εγγραφή
- Ένα κλειδί που έχει πολλαπλά χαρακτηριστικά για τον μοναδικό προσδιορισμό σειρών σε έναν πίνακα ονομάζεται σύνθετο κλειδί
- Ένα τεχνητό κλειδί που στοχεύει στη μοναδική αναγνώριση κάθε εγγραφής ονομάζεται υποκατάστατο κλειδί
- Το πρωτεύον κλειδί δεν δέχεται ποτέ μηδενικές τιμές, ενώ ένα ξένο κλειδί μπορεί να δέχεται πολλές μηδενικές τιμές.