Concetti Chiave
- Il comando create table include clausole fondamentali come Foreign Key references per gestire l'integrità referenziale.
- La clausola On Delete definisce l'azione da intraprendere sui valori della chiave esterna in caso di cancellazione della chiave primaria.
- La clausola On Update specifica le operazioni da eseguire sui valori della chiave esterna quando la chiave primaria viene modificata.
- I comportamenti del database in caso di cancellazione o modifica possono essere No action, Cascade o Set Null.
- No action impedisce modifiche sui vincoli, Cascade propaga le modifiche e Set Null azzera i valori delle chiavi esterne coinvolte.
Il comando create table presenta,oltre alla clausola Foreign Key references utilizzata per definire un vincolo di integrità referenziale in inserzione altre due clausole molto importanti ,utili per la gestione dei vincoli di integrità referenziale nelle operazioni di cancellazione o modifica delle righe delle tabelle vincolate:
Clausole on delete e on update
La clausola On Delete,che permette di indicare quale operazione compiere sui valori della chiave esterna che corrispondono a un valore della chiave primaria che sta per essere cancellato.
La clausola On UPDATE,che permette di indicare quale operazioni compiere sui valori della chiave esterna che corrispondono a un valore della chiave primaria che sta per essere modificato
Le due precedenti clausole consentono quindi di specificare come il database debba comportarsi i modo che il vincolo di integrità referenziale resti valido anche dopo le operazioni di cancellazione di modifica delle righe delle tabelle collegate logicamente. I comportamenti del database possono essere di tre tipi:
No action,le operazioni di cancellazione e modifica non sono ammesse sugli attributi legati da vincolo di integrità referenziale (opzione di default)
Cascade,le operazioni di cancellazione e di modifica si propagano a casca a tutte le righe coinvolte.
Set Null le operazioni di cancellazione e di modifica pongono a Null i valori della chiave esterna delle righe coinvolte.
Domande da interrogazione
- Quali sono le clausole principali per gestire i vincoli di integrità referenziale nelle operazioni di cancellazione e modifica?
- Quali sono i comportamenti che il database può adottare in caso di vincoli di integrità referenziale?
- Qual è l'opzione di default per le operazioni di cancellazione e modifica in presenza di vincoli di integrità referenziale?
Le clausole principali sono "On Delete" e "On Update", che specificano come il database deve comportarsi riguardo ai valori della chiave esterna quando la chiave primaria viene cancellata o modificata.
Il database può adottare tre comportamenti: "No action", che impedisce le operazioni; "Cascade", che propaga le operazioni a tutte le righe coinvolte; e "Set Null", che imposta a Null i valori della chiave esterna delle righe interessate.
L'opzione di default è "No action", che non consente le operazioni di cancellazione e modifica sugli attributi legati da vincolo di integrità referenziale.