1- Restrições de integridade em bancos de dados relacionais
1.1 Restrições de domínio
• restrições de atributo: como exemplo, define-se um atributo PESO e impõe-se uma restrição que o atributo PESO deve ser maior que zero. Então, qualquer expressão que é avaliada como sendo desse atributo deverá obedecer a essa restrição; em caso contrário, irá falhar.
• restrições de tipo: como exemplo, na definição do atributo VDATA (DATE); o atributo VDATA possui o seu valor limitado ao tipo DATE.
• restrições de tuplas: é uma restrição sobre uma tupla individual. Podendo incorporar restrições sobre vários atributos da mesma. As restrições de tuplas geralmente são executadas logo após qualquer instrução que possa fazer com que elas sejam violadas. Por exemplo, uma pessoa só poderá passar para o estado civil ‘casado’ se a sua idade for superior a 18 anos.
• restrições de banco de dados: é uma restrição que relaciona entre si duas ou mais tuplas distintas. Neste caso, é necessário que todas as restrições de tuplas envolvidas sejam atendidas; em caso contrário, a operação será desfeita. Por exemplo, o somatório das quantidades dos itens de um pedido não pode ser maior que o atributo quantidade total do pedido.
• restrições de transição de estado: como exemplo, em um banco de dados de pessoas, haveria uma série de restrições de transição relacionadas à mudança de estado civil. A passagem do estado SOLTEIRO para CASADO é válida, porém não é válida a passagem do estado SOLTEIRO para VIÚVO.
1.2 Restrições de chaves
Podem-se classificar as chaves como candidatas, primárias ou alternativas e estrangeiras.
1.3 Restrições de integridade referencial
A integridade referencial garante que o banco de dados não deve conter quaisquer valores de chaves estrangeiras não associados a uma chave primária, ou seja, se B faz relação a A, então A tem de existir.
1.4 Restrições quanto ao momento da verificação
Outro esquema de classificação de restrições de integridade em bancos de dados é quanto à questão de quando a verificação é feita. Geralmente, classifica-se em duas categorias de verificação: imediata e postergada. Na imediata, a verificação é feita no momento da ocorrência de uma operação, ou seja, imediatamente. Já na postergada, as restrições são verificadas no momento que a instrução COMMIT é executada. Caso a restrição seja violada, uma instrução ROLLBACK é executada.
1.5 Restrições baseadas em eventos
Existem restrições de integridade que podem ser programadas pelo usuário, e a sua verificação é independente das operações de atualização. Essas são denominadas restrições de integridade baseadas em eventos. Um exemplo é o pagamento automático de uma conta, ou seja, se o dia do vencimento da conta é igual ao dia atual, então a conta é paga, ou seja, as atualizações de saldo são feitas automaticamente no banco de dados.
Fonte: http://usuarios.upf.br/~lazzaretti/downloads/TI_V08.pdf