Pois é, Luiz, acontece que a questão quer saber sobre os tipos de integridade de um produto específico que é o SQL Server, e a que vc colocou não é especificamente dele. Só a título de informação, há vários outros tipos de integridade, que diversos autores, como [1] elenca, como(no caso da abordagem relacional):
- Integridade de domínio, onde o valor de um campo deve obedecer a definição de valores admitidos para a coluna (o domínio da coluna).
- Integridade de vazio, onde se especifica se os campos de uma coluna podem ou não ser vazios (se a coluna é obrigatória ou opcional).
- Integridade de chave, que trata da restrição que define que os valores da chave primária e alternativa devem ser únicos. - Integridade referencial, que é a restrição que define que os valores dos campos que aparecem em uma chave estrangeira devem aparecer na chave primária da tabela referenciada.
Em seguida, [1] prossegue com outros exemplos, afirmando haver muitas outras restrições de integridade que não se encaixam em nenhuma das categorias acima e que normalmente não são garantidas pelo SGBD. Essas restrições são chamadas de restrições semânticas. Alguns exemplos de restrições deste tipo poderiam ser:
- Um empregado do departamento denominado “Finanças” não pode ter a categoria funcional “Engenheiro”.
- Um empregado não pode ter um salário maior que seu superior imediato.
Pare estes últimos casos, como o autor não fala de integridade de entidade e como o exemplo descrito se encaixa perfeitamente nesse conceito, pois os termos descritos são entidades, infere-se que são restrição de entidade.
Perceba que descrevemos diversos tipos de integridade, e a questão arrola apenas 3 deles que o SQL possui, o que não invalida a questão. Mesmo que ele citasse apenas um desses três, ainda assim ela estaria correta.
Fonte:
[1] SBD, Heuser.
1. Integridade de entidade
Esse tipo de restrição está relacionado às regras impostas pelas chaves primárias. A integridade de entidade define somente que cada chave primária deve ser única e não nula. Também é conhecida como integridade primária ou de chave primária.
2. Integridade referencial
A integridade referencial está relacionada ao conceito de chave estrangeira. A regra simplesmente determina que uma chave estrangeira só pode estar em dois estados:
a) Fazendo referência a um registro válido da tabela referenciada;
b) Assumindo o valor NULL, caso em que o registro em questão não participa do relacionamento.
3. Integridade de domínio
O domínio é o conjunto dos valores possíveis para um determinado atributo. Dessa forma, a integridade de domínio determina que os valores de todas as colunas, em todos os registros de um banco de dados fazem parte de seus respectivos domínios. Por exemplo, se dizemos que um atributo é de um tipo numérico, um registro não poderá nunca ter um valor textual para esse atributo. Dentro da integridade de domínio temos uma subcategoria chamada integridade de vazio. Essa restrição determina se o atributo pode ou não assumir valores nulos.