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.