Sobes.tech
Junior

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

sobes.tech AI

Απάντηση από AI

Το ξένο κλειδί (FOREIGN KEY) είναι ένας περιορισμός ακεραιότητας δεδομένων σε σχεσιακές βάσεις δεδομένων. Δημιουργεί μια σχέση μεταξύ δύο πινάκων, αναφερόμενο στο πρωτεύον κλειδί (ή άλλο ξένο κλειδί) σε έναν άλλο πίνακα.

Οι κύριες λειτουργίες του ξένου κλειδιού:

  • Εξασφάλιση αναφορικής ακεραιότητας: Διασφαλίζει ότι οι τιμές στο πεδίο του ξένου κλειδιού υπάρχουν στο αναφερόμενο πεδίο του πίνακα γονέα. Αυτό αποτρέπει "εγγραφές-φάντασμα".
  • Καθορισμός σχέσεων μεταξύ πινάκων: Ορίζει πώς σχετίζονται τα δεδομένα από διαφορετικούς πίνακες.
  • Ενέργειες σε αλυσίδα: Επιτρέπει την αυτόματη εκτέλεση ενεργειών (διαγραφή ή ενημέρωση) στον παιδικό πίνακα όταν αλλάζουν τα δεδομένα στον γονικό πίνακα.

Παράδειγμα δημιουργίας ξένου κλειδιού σε SQL:

CREATE TABLE `παραγγελίες` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `όνομα_πελάτη` VARCHAR(255),
    `προϊόν_id` INT,
    FOREIGN KEY (`προϊόν_id`) REFERENCES `προϊόντα`(`id`)
);

CREATE TABLE `προϊόντα` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `όνομα_προϊόντος` VARCHAR(255),
    `τιμή` DECIMAL(10, 2)
);

Σε αυτό το παράδειγμα, το προϊόν_id στον πίνακα παραγγελίες είναι ένα ξένο κλειδί που αναφέρεται στο id στον πίνακα προϊόντα. Αυτό διασφαλίζει ότι κάθε παραγγελία σχετίζεται με ένα υπάρχον προϊόν.