L’integrità delle entità è una delle regole principali per una costruzione efficace del database. Si riferisce al processo di applicazione di una chiave primaria per ogni tabella in un database, in cui la chiave deve essere una riga o una combinazione di righe che sono valori univoci non nulli. Mantenendo l’integrità dell’entità, ogni record in ogni tabella di un database può essere identificato in modo specifico tramite la chiave primaria. Ciò impedisce record duplicati e altri problemi che potrebbero compromettere indirettamente l’integrità del database. In assenza di integrità dell’entità, le voci in un database possono sovrapporsi accidentalmente, poiché non sarà possibile estrarre una voce specifica dalla tabella.
Quando si considera la prima parte dell’integrità dell’entità, un valore “unico”, è importante comprendere il concetto di chiave primaria. Una chiave primaria in un database è un valore utilizzato per identificare in modo specifico ogni singolo record. Per essere efficace, una chiave primaria deve essere univoca; in altre parole, deve risultare impossibile recuperare più record cercando un’unica chiave primaria. Un numero di previdenza sociale sarebbe una buona chiave primaria per un database incentrato sui singoli record personali negli Stati Uniti, poiché due persone non hanno mai lo stesso numero. Chiunque cerchi nel database un numero di previdenza sociale specifico, per definizione, recupererebbe solo un singolo record alla volta.
Per vedere i problemi che sorgono in assenza di integrità dell’entità attraverso chiavi primarie univoche, si potrebbe immaginare un database in cui il cognome di un individuo viene utilizzato come chiave primaria. Poiché più di una persona può condividere un cognome, inserendo “Smith” o “Jones” come criteri di ricerca si potrebbero produrre dozzine di record. Se ciò accade, l’integrità del database è in discussione perché l’utente finale non dispone più di un metodo per recuperare i singoli record.
La seconda parte dell’integrità dell’entità afferma che il valore scelto come chiave primaria non deve mai essere un valore nullo o vuoto per qualsiasi elemento nel database. Se il valore della chiave primaria rimane nullo per uno o più record nel database, alcuni record diventeranno impossibili da recuperare, poiché un valore null non è sufficiente per identificare in modo univoco questi record. In altre parole, se un numero di previdenza sociale viene utilizzato come chiave primaria e un dipendente non proviene dagli Stati Uniti e quindi non ne ha uno, il record del dipendente straniero sarà impossibile da identificare utilizzando la chiave primaria, invalidando l’integrità del database .