Σπίτι Βάσεις δεδομένων Ποια είναι η διαφορά ανάμεσα σε ένα σύνθετο κλειδί, το πρωτεύον κλειδί και το ξένο κλειδί;

Ποια είναι η διαφορά ανάμεσα σε ένα σύνθετο κλειδί, το πρωτεύον κλειδί και το ξένο κλειδί;

Anonim

Ερ:

Ποια είναι η διαφορά ανάμεσα σε ένα σύνθετο κλειδί, το πρωτεύον κλειδί και το ξένο κλειδί;

ΕΝΑ:

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

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

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

Σε ορισμένες περιπτώσεις, τα σπίτια μπορούν να αναγνωρίζονται μόνο με έναν αριθμό υποθήκης - όλα τα άλλα δεδομένα (πόλεις, δρόμοι, αριθμοί κατοικιών) δεν είναι μοναδικά σε κάθε αρχείο. Ο αριθμός υποθήκης θα είναι το πρωτεύον κλειδί. Ας υποθέσουμε, ωστόσο, ότι μια τεχνολογία καταχώρησης του MLS realtor αποδίδει τους δικούς του μοναδικούς αριθμούς στις εγγραφές στον πίνακα. Στη συνέχεια, θα υπάρχουν δύο κλειδιά που οι προγραμματιστές θα μπορούσαν να αναγνωρίσουν ως "υποψήφια κλειδιά": τον αριθμό υποθήκης και τον αριθμό MLS. Ένας από αυτούς θα χαρακτηριστεί ως "πρωτεύον κλειδί" σε αυτό που ορισμένοι θα θεωρούσαν αυθαίρετο τρόπο.

Ένα σύνθετο κλειδί, λοιπόν, θα ήταν ο συνδυασμός δύο κλειδιών: για παράδειγμα, ο συνδυασμός του αριθμού κατοικίας και του δρόμου μπορεί να χαρακτηριστεί ως σύνθετο κλειδί, δεδομένου ότι οι λίστες της αγοράς είναι τοπικές. Αν ναι, τότε όταν κάποιος ψάχνει χρησιμοποιώντας τόσο τον αριθμό του σπιτιού όσο και τον δρόμο, θα πρέπει να επιστρέψει μόνο μία εγγραφή.

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

Ποια είναι η διαφορά ανάμεσα σε ένα σύνθετο κλειδί, το πρωτεύον κλειδί και το ξένο κλειδί;