Les concepts d'entité, association, attribut et sous-type sont insuffisants pour décrire tout ce qui caractérise les données d'un schéma EA. Les contraintes d’intégrité CI sont des règles définissant les états, ou transitions d'état possibles de la BD. Elles permettent d’exprimer tout ce qui ne peut pas être décrit avec les concepts du modèle. Si les valeurs de la BD ne satisfont pas ces contraintes, il y a une "erreur"; on dit que la BD est incohérente. En l'état actuel des SGBD, la plupart de ces règles ne peuvent être vérifiées que par des programmes ad hoc, établis lors de la programmation des applications.
Par exemple dans notre schéma EA, on aimerait pouvoir exprimer le fait que si une personne possède un bâtiment, cette personne doit avoir contracté un contrat d'assurance pour ce bâtiment auprès d'une compagnie d'assurance. Ceci s'exprime sous forme d'une CI: soit b une entité du TE BATIMENT, soit p une entité du TE PERSONNE, s'il existe une occurrence <p,b> du TA POSSEDE, alors soit c une occurrence du TE Cpie ASSURANCE, il existe une occurrence <p,b,c> du TA CONTRAT.