5° Anno TEORIA 4. Introduzione al linguaggio SQL | Page 5

16 . Il linguaggio SQL Vers . 9.3 – Marzo 2024
c ) Vincoli di integrità referenziale e politiche di violazione : Possono essere realizzati attraverso la seguente tipologia di clausola :
- FOREIGN KEY (< Attributo1 >,..,< AttributoN >) REFERENCES < NomeTabella > (< Attr1 >,…, < AttrN >) [ [ ON DELETE | ON UPDATE ] NO ACTION o RESTRICT | CASCADE | SET NULL | SET DEFAULT ]
Le colonne < Attributo1 >,..,< AttributoN > rappresentano la chiave esterna e corrispondono alle colonne < Attr1 >,..,< AttrN > che formano la chiave primaria della tabella < Nome Tabella >.
La parte opzionale successiva è relativa al tipo di politica da seguire , nella tabella che si sta creando , in caso di violazione del vincolo referenziale , durante una operazione di cancellazione o modifica della ennupla referenziata ( ossia la ennupla della tabella < NomeTabella > avente la chiave primaria uguale alla chiave esterna )
Al momento della cancellazione ( clausola ON DELETE ) dell ’ attributo / i chiave interessato / i da un vincolo referenziale , si può avere il seguente comportamento :
• con l ’ opzione CASCADE , vengono cancellate le righe corrispondenti ;
• con l ’ opzione SET NULL , vengono impostate a NULL le righe corrispondenti ;
• con l ’ opzione SET DEFAULT , vengono impostate al valore di default le righe corrispondenti ;
• con l ’ opzione NO ACTION ( analogo a RESTRICT ), non viene permessa l ’ esecuzione dell ’ azione .
( n . b . se la clausola ON DELETE non è specificata , NO ACTION ( o RESTRICT ) è l ’ impostazione di default ).
Al momento della modifica ( clausola ON UPDATE ) dell ’ attributo / i chiave interessato / i da un vincolo referenziale , si può avere il seguente comportamento :
• con l ’ opzione CASCADE , vengono aggiornate le righe corrispondenti con il nuovo valore ;
• con l ’ opzione SET NULL , vengono impostate a NULL le righe corrispondenti ;
• con l ’ opzione SET DEFAULT , vengono impostate al valore di default le righe corrispondenti ;
• con l ’ opzione NO ACTION ( analogo a RESTRICT ), non viene permessa l ’ esecuzione dell ’ azione .
( n . b . se la clausola ON UPDATE non è specificata , NO ACTION ( o RESTRICT ) è l ’ impostazione di default ).
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 5