Nel contesto dei database, "vincoli di integrità" si riferisce a regole specifiche implementate per garantire l'accuratezza e la coerenza dei dati all'interno di un database relazionale . Queste regole regolano i dati man mano che vengono inseriti, aggiornati ed eliminati, prevenendo in tal modo il danneggiamento indesiderato dei dati e applicando la struttura logica desiderata. La definizione di vincoli di integrità può essere ulteriormente dettagliata in diversi aspetti:
Integrità del dominio: garantisce che tutte le voci in una determinata colonna siano coerenti e rientrino in un dominio definito. Ad esempio, se si prevede che una colonna contenga numeri positivi, il vincolo di dominio impedirà l'inserimento di numeri negativi o valori non numerici.
Integrità dell'entità: si riferisce all'unicità delle righe all'interno di una tabella, in genere applicata tramite l'uso di chiavi primarie. La chiave primaria identifica in modo univoco un record in una tabella e l'integrità dell'entità garantisce che non esistano chiavi duplicate, mantenendo così la distinzione di ciascun record.
Integrità referenziale: questo vincolo assicura che le relazioni tra le tabelle rimangano coerenti. Quando una tabella ha una chiave esterna che è un riferimento alla chiave primaria di un'altra tabella, l'integrità referenziale assicura che questa connessione venga mantenuta. Se un record a cui fa riferimento una chiave esterna viene eliminato o modificato, il database intraprenderà azioni definite, come l'aggiornamento della chiave di riferimento o il rifiuto della modifica.
Integrità definita dall'utente: questi vincoli sono specifici della logica aziendale o delle regole che riguardano il particolare caso d'uso del database. Ad esempio, un vincolo definito dall'utente potrebbe richiedere che lo stipendio di un dipendente non superi un determinato importo o che l'età di un cliente debba essere superiore a 18 anni. Queste regole possono essere adattate ai requisiti specifici di una determinata applicazione.
Controlla vincoli: questi vincoli consentono di definire regole più specifiche per i dati all'interno di una colonna o di un insieme di colonne. Ad esempio, un vincolo di controllo potrebbe richiedere che un valore percentuale debba essere compreso tra 0 e 100 o che una data di nascita debba essere precedente alla data corrente.
Vincoli nulli: determina se un valore nullo può essere consentito per un particolare attributo. Se un vincolo null viene applicato a una colonna, garantisce che ogni riga in quella colonna contenga un valore.
Integrità temporale: garantisce l'accuratezza e la coerenza dei dati di data e ora all'interno del database, spesso assicurando che i valori di data e ora seguano sequenze logiche e aderiscano a formati definiti.
I vincoli di integrità svolgono un ruolo cruciale nel mantenere l'affidabilità e la solidità di un sistema di database. In genere sono definiti durante la fase di progettazione del database e applicati dal sistema di gestione del database (DBMS).
Senza adeguati vincoli di integrità, un database potrebbe soffrire di incoerenze, ambiguità ed errori che potrebbero influire in modo significativo sulla sua usabilità e affidabilità. Questi vincoli, quindi, costituiscono una parte essenziale dell'architettura del database, garantendo che i dati aderiscano alle regole e agli standard di qualità previsti.