Ποια είναι η διαφορά μεταξύ ενός υποψήφιου κλειδιού και ενός σούπερ κλειδιού;


Απάντηση 1:

Υποψήφιο κλειδί:

  • Ένα υποψήφιο κλειδί είναι απλώς το "συντομότερο" σούπερ κλειδί. Το Υποψήφιο Κλειδί είναι μεμονωμένες στήλες σε έναν πίνακα που πληροί τις προϋποθέσεις για τη μοναδικότητα κάθε σειράς / πλειάδας.Όλοι οι πίνακες πρέπει να έχουν τουλάχιστον ένα υποψήφιο κλειδί αλλά ταυτόχρονα να έχουν αρκετές.Ένα υποψήφιο κλειδί είναι ένα "ελάχιστο" σούπερ κλειδί - που σημαίνει το μικρότερο υποσύνολο των χαρακτηριστικών super key που είναι μοναδικά. Η κατάργηση κάθε χαρακτηριστικού από ένα υποψήφιο κλειδί θα το καθιστά μη μοναδικό. Τα πλήκτρα υποψηφίων είναι εκείνα τα πλήκτρα που είναι υποψήφια για το πρωτεύον κλειδί ενός πίνακα. Με απλά λόγια μπορούμε να καταλάβουμε ότι ένας τέτοιος τύπος πλήκτρων που πληρούν όλες τις απαιτήσεις του πρωτεύοντος κλειδιού, ο οποίος δεν είναι null και έχει μοναδικά αρχεία είναι υποψήφιος για το πρωτεύον κλειδί.

Super κλειδί:

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

Μάθετε περισσότερα σχετικά με τα κλειδιά που χρησιμοποιούνται στη βάση δεδομένων σε διαφορετικούς τύπους κλειδιών στη βάση δεδομένων

Μάθετε τα βασικά της βάσης δεδομένων SQL από αυτό το παρακάτω βίντεο


Απάντηση 2:

Ας πάρουμε παράδειγμα ενός πίνακα εργαζομένων: Εργαζόμενος (Εργαζόμενος ID, FullName, SSN, DeptID)

Εδώ Υποψήφιο κλειδί: είναι μεμονωμένες στήλες σε έναν πίνακα που πληροί τις προϋποθέσεις για μοναδικότητα όλων των σειρών. Εδώ στο πίνακα EmployeeID & SSN Employee table are Candidate keys.

Και το Super Key: Εάν προσθέσετε κάποια άλλη στήλη / ιδιότητα σε ένα πρωτεύον κλειδί, τότε θα γίνει ένα σούπερ κλειδί, όπως το EmployeeID + FullName είναι ένα Super Key.

Υπάρχουν και άλλοι τύποι κλειδιών:

3. Πρωτεύον κλειδί: είναι οι στήλες που επιλέγετε για να διατηρείτε μοναδικότητα σε έναν πίνακα. Εδώ στον πίνακα Employee μπορείτε να επιλέξετε είτε στήλες EmployeeID ή SSN, EmployeeID είναι προτιμότερη επιλογή, καθώς το SSN είναι μια ασφαλής τιμή.

4. Εναλλακτικό κλειδί: Η υποψήφια στήλη εκτός της στήλης "Πρωτεύουσα", όπως και αν το όνομα του υπαλλήλου είναι PK, τότε το SSN θα είναι το εναλλακτικό κλειδί.

5. Σύνθετο κλειδί: Εάν ένας πίνακας δεν έχει καμία στήλη που να πληροί τις προϋποθέσεις για ένα κλειδί υποψηφίου, τότε πρέπει να επιλέξετε 2 ή περισσότερες στήλες για να κάνετε μια σειρά μοναδική. Όπως και αν δεν υπάρχουν στήλες EmployeeID ή SSN, τότε μπορείτε να κάνετε το FullName + DateOfBirth ως το Σύνθετο πρωτεύον κλειδί. Αλλά εξακολουθεί να υπάρχει μια μικρή πιθανότητα διπλής σειράς.

Ελέγξτε εδώ: Βασικά DB - Ποια είναι τα Υποψήφια, Κύρια, Σύνθετα & Super Keys και η διαφορά μεταξύ τους;

~ SQL με τον Manoj


Απάντηση 3:

Ας πάρουμε παράδειγμα ενός πίνακα εργαζομένων: Εργαζόμενος (Εργαζόμενος ID, FullName, SSN, DeptID)

Εδώ Υποψήφιο κλειδί: είναι μεμονωμένες στήλες σε έναν πίνακα που πληροί τις προϋποθέσεις για μοναδικότητα όλων των σειρών. Εδώ στο πίνακα EmployeeID & SSN Employee table are Candidate keys.

Και το Super Key: Εάν προσθέσετε κάποια άλλη στήλη / ιδιότητα σε ένα πρωτεύον κλειδί, τότε θα γίνει ένα σούπερ κλειδί, όπως το EmployeeID + FullName είναι ένα Super Key.

Υπάρχουν και άλλοι τύποι κλειδιών:

3. Πρωτεύον κλειδί: είναι οι στήλες που επιλέγετε για να διατηρείτε μοναδικότητα σε έναν πίνακα. Εδώ στον πίνακα Employee μπορείτε να επιλέξετε είτε στήλες EmployeeID ή SSN, EmployeeID είναι προτιμότερη επιλογή, καθώς το SSN είναι μια ασφαλής τιμή.

4. Εναλλακτικό κλειδί: Η υποψήφια στήλη εκτός της στήλης "Πρωτεύουσα", όπως και αν το όνομα του υπαλλήλου είναι PK, τότε το SSN θα είναι το εναλλακτικό κλειδί.

5. Σύνθετο κλειδί: Εάν ένας πίνακας δεν έχει καμία στήλη που να πληροί τις προϋποθέσεις για ένα κλειδί υποψηφίου, τότε πρέπει να επιλέξετε 2 ή περισσότερες στήλες για να κάνετε μια σειρά μοναδική. Όπως και αν δεν υπάρχουν στήλες EmployeeID ή SSN, τότε μπορείτε να κάνετε το FullName + DateOfBirth ως το Σύνθετο πρωτεύον κλειδί. Αλλά εξακολουθεί να υπάρχει μια μικρή πιθανότητα διπλής σειράς.

Ελέγξτε εδώ: Βασικά DB - Ποια είναι τα Υποψήφια, Κύρια, Σύνθετα & Super Keys και η διαφορά μεταξύ τους;

~ SQL με τον Manoj


Απάντηση 4:

Ας πάρουμε παράδειγμα ενός πίνακα εργαζομένων: Εργαζόμενος (Εργαζόμενος ID, FullName, SSN, DeptID)

Εδώ Υποψήφιο κλειδί: είναι μεμονωμένες στήλες σε έναν πίνακα που πληροί τις προϋποθέσεις για μοναδικότητα όλων των σειρών. Εδώ στο πίνακα EmployeeID & SSN Employee table are Candidate keys.

Και το Super Key: Εάν προσθέσετε κάποια άλλη στήλη / ιδιότητα σε ένα πρωτεύον κλειδί, τότε θα γίνει ένα σούπερ κλειδί, όπως το EmployeeID + FullName είναι ένα Super Key.

Υπάρχουν και άλλοι τύποι κλειδιών:

3. Πρωτεύον κλειδί: είναι οι στήλες που επιλέγετε για να διατηρείτε μοναδικότητα σε έναν πίνακα. Εδώ στον πίνακα Employee μπορείτε να επιλέξετε είτε στήλες EmployeeID ή SSN, EmployeeID είναι προτιμότερη επιλογή, καθώς το SSN είναι μια ασφαλής τιμή.

4. Εναλλακτικό κλειδί: Η υποψήφια στήλη εκτός της στήλης "Πρωτεύουσα", όπως και αν το όνομα του υπαλλήλου είναι PK, τότε το SSN θα είναι το εναλλακτικό κλειδί.

5. Σύνθετο κλειδί: Εάν ένας πίνακας δεν έχει καμία στήλη που να πληροί τις προϋποθέσεις για ένα κλειδί υποψηφίου, τότε πρέπει να επιλέξετε 2 ή περισσότερες στήλες για να κάνετε μια σειρά μοναδική. Όπως και αν δεν υπάρχουν στήλες EmployeeID ή SSN, τότε μπορείτε να κάνετε το FullName + DateOfBirth ως το Σύνθετο πρωτεύον κλειδί. Αλλά εξακολουθεί να υπάρχει μια μικρή πιθανότητα διπλής σειράς.

Ελέγξτε εδώ: Βασικά DB - Ποια είναι τα Υποψήφια, Κύρια, Σύνθετα & Super Keys και η διαφορά μεταξύ τους;

~ SQL με τον Manoj