Sobes.tech
Junior

Cos'è una chiave esterna?

sobes.tech AI

Risposta dell'AI

La chiave esterna (FOREIGN KEY) è una restrizione di integrità dei dati nei database relazionali. Crea un collegamento tra due tabelle, facendo riferimento alla chiave primaria (o a un'altra chiave esterna) in un'altra tabella.

Funzioni principali della chiave esterna:

  • Garantire l'integrità referenziale: Assicura che i valori nel campo della chiave esterna esistano nel campo referenziato della tabella padre. Questo previene record "orfani".
  • Stabilire relazioni tra le tabelle: Definisce come i dati di tabelle diverse sono collegati.
  • Azioni in cascata: Permette di eseguire automaticamente azioni (cancellazione o aggiornamento) nella tabella figlia quando i dati nella tabella padre vengono modificati.

Esempio di creazione di una chiave esterna in SQL:

CREATE TABLE `ordini` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `nome_cliente` VARCHAR(255),
    `id_prodotto` INT,
    FOREIGN KEY (`id_prodotto`) REFERENCES `prodotti`(`id`)
);

CREATE TABLE `prodotti` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `nome_prodotto` VARCHAR(255),
    `prezzo` DECIMAL(10, 2)
);

In questo esempio, id_prodotto nella tabella ordini è una chiave esterna che fa riferimento a id nella tabella prodotti. Questo garantisce che ogni ordine sia associato a un prodotto esistente.