Integrità referenziale significa che la chiave esterna di una tabella referente deve sempre fare riferimento a una riga valida nella tabella referenziata. L'integrità referenziale assicura che la relazione tra due tabelle resti sincronizzata durante gli aggiornamenti e le cancellazioni.
Si supponga ad esempio che nell'applicazione siano previste sia la tabella Titoli che la tabella Editori, con i seguenti campi:
Tabella Titoli Tabella Editori
ti_isbn (chiave) ed_id (chiave)
ti_titolo ed_nome
ti_annopubblicazione ed_indirizzo
ed_id (chiave esterna) ed_telefono
Si ha integrità referenziale quando queste due tabelle restano sincronizzate, ossia ogni identificativo di editore (ed_id) nella tabella Titoli deve esistere anche nella tabella Editori.
L'applicazione non dovrà eliminare la riga ed_id dalla tabella Editori perché altrimenti la riga ed_id della tabella Titoli resterebbe senza un riferimento. Per poter cancellare la riga ed_id dalla tabella Editori è necessario cancellare anche ogni riga nella tabella Titoli che abbia lo stesso ed_id. Tale operazione consentirebbe di mantenere l'integrità referenziale per queste due tabelle.
L'applicazione non dovrà neppure aggiungere una riga alla tabella Titoli senza che sia presente un campo ed_id valido nella tabella Editori. In caso contrario ne risulterebbero dati non affidabili nel campo ed_id. L'applicazione deve quindi verificare che vi sia una riga valida nella tabella Editori prima di inserire la riga correlata nella tabella Titoli.
L'implementazione reale dell'integrità referenziale dipende interamente dal modulo di memorizzazione dei dati scelto e dai requisiti di progettazione dell'applicazione. Fino a qualche tempo fa le applicazioni che utilizzavano i file di mainframe VSAM si servivano di codice applicativo per gestire l'integrità referenziale. Oggi, anche se l'applicazione utilizza SQL Server, non necessariamente si devono utilizzare trigger, chiavi esterne, vincoli e cancellazioni a cascata per mantenere l'integrità referenziale, ma si può continuare a preferire una gestione dei problemi di integrità referenziale basata su codice applicativo.