Please enable JavaScript.
Coggle requires JavaScript to display documents.
VINCOLI DI INTEGRITÀ - Coggle Diagram
VINCOLI DI INTEGRITÀ
Regole di inserimento
Inserimento dipendente
Si può inserire un figlio solo se esiste il padre
Inserimento automatico
Se manca il padre viene creato automaticamente
Inserimento nullo
Se manca il padre la chiave esterna viene messa a NULL
Inserimento di default
Se manca il padre viene inserito un valore predefinito
Nessun effetto
Nessun controllo
Rischia incoerenza
Regole di cancellazione
Con restrizione
Non si può cancellare il padre se esistono figli collegati
A cascata
Cancellando il padre si cancellano anche i figli
Nulla
Cancellando il padre le chiavi esterne dei figli diventano NULL
Di default
Cancellando il padre le chiavi esterne diventano valori predefiniti
Nessun effetto
La cancellazione avviene senza controlli
Vincoli di integrità
Sono regole imposte dal DBMS
Evitano dati errati
Evitano incoerenze
Garantiscono dati validi e consistenti
Vincoli intrarelazionali
Vincoli sugli attributi o di tupla
Controllano i valori inseriti
Devono rispettare il dominio
Vincoli statici
Si controllano in inserimento o modifica
Esempi
Codice fiscale corretto
Valore presente in un dizionario
Peso compreso tra valori accettabili
Vincoli dinamici
Dipendono dal tempo o da cambiamenti
Esempi
Data di scadenza dopo data di produzione
Stipendio nuovo maggiore del precedente
Vincoli di chiave
La chiave deve identificare una sola tupla
La chiave non può essere NULL
Integrità referenziale
Riguarda il collegamento tra chiave esterna e chiave primaria
Una chiave esterna deve riferirsi a un valore esistente nella tabella padre
Esempio
Un esame non può riferirsi a un paziente inesistente
Linee guida
Evitare inserimenti e cancellazioni con regola NULL quando possibile
Usare inserimento automatico o dipendente per mantenere coerenza
Usare cancellazione a cascata quando serve mantenere coerenza tra chiavi esterne
Dati integri
Sono dati validi
Rispettano i domini e le regole
Sono dati consistenti
Non creano contraddizioni tra tabelle
Categorie di vincoli
Vincoli intrarelazionali
Riguardano una sola tabella
Possono riguardare attributi, tuple o chiavi
Vincoli interrelazionali
Riguardano più tabelle
Collegano relazioni diverse
Validazione degli attributi
I valori devono essere controllati
Controlli possibili
In fase di aggiornamento
In fase di interrogazione
Periodicamente per attributi dinamici
Vincoli interrelazionali
Collegano dati presenti in tabelle diverse
Servono a mantenere corrette le relazioni
Regole di modifica
Sono simili alle regole di inserimento
La modifica di una chiave deve mantenere coerenza tra tabelle