Skip to main content

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

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

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

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

Το κύριο κλειδί για τον πίνακα των εκδόσεων θα μπορούσε να είναι κάτι σαν το Pub_id με τιμές: P01, P02, P03, κλπ. Θα δημιουργηθεί μια σχέση με τον πίνακα βιβλίων εάν περιείχε μια στήλη pub_id με τις ίδιες τιμές.Αυτό θα ήταν το ξένο κλειδί που θα σχετίζεται με αυτό το τραπέζι παιδιών πίσω στο γονέα του mdash.Ο πίνακας των εκδότη.

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