Banco de Dados: Regras de Integridade

Bancos de dados são baseados em princípios de integridade e consistência, devendo prover regras e procedimentos que garantam estas características nos dados armazenados. Os SGBDs podem, muitas vezes, tratar de regras de validação de valores sem que isto seja processado pela aplicação, como a inserção de dado sobre um município inexistente, por erro de digitação. São várias as regras de integridade, que tem por objetivo garantir que as informações no banco sejam corretas. As três formas mais comuns são a integridade de domínio, de entidade e referencial.

Integridade de Domínio

Esta característica é responsável por verificar se os valores corretos e necessários de um atributo, através da definição de regras de validação, como por exemplo:

  • Não permitir que certos números sejam negativos, quando o mínimo é zero (número de filhos, por exemplo);
  • Não permitir a inclusão sem a presença de todos os atributos obrigatórios;
  • Impedir que um registro esteja fora de uma faixa de valores válida (como aceitar uma data de inscrição fora do prazo em que esteja aberta).

Integridade de Entidade

É uma integridade baseada em validar os valores permitidos a partir dos valores que já foram inseridos no banco. Apenas após esta verificação é que podemos permitir ou não a inserção de um novo registro, como por exemplo:

  • Não permitir dois cadastros de alunos com o mesmo número de matrícula;
  • Impedir o empréstimo de um livro que seja para consulta ou já esteja reservado para outro usuário.

Integridade Referencial

É a responsável por aferir se as operações em bancos atendem às regras de relacionamento que já foram definidas para as tabelas do banco de dados. Esta integridade é a que cuida para que haja consistência entre registros de diversas tabelas.

Já sabemos, de acordo com os relacionamentos anteriormente discutidos, que o registro em uma tabela pai pode conter um ou vários registros filhos, ou até mesmo nenhum. Pela regra do relacionamento um-para-muitos, certas operações tem que atender às seguintes exigências:

  • Um registro na tabela pai só poderá ser excluído se não tiver nenhum registro filho. Imagine um cartório, se apagarmos o nome de um homem, sem sabermos se ele tem ou não filhos, eventualmente perderíamos a informação do pai de algum de seus filhos;
  • Para a inclusão de um registro filho, é necessário que exista um registro pai para ser associado. Não poderia, por exemplo, cadastrar uma cidade num município argentino se todas as UFs no banco são as do Brasil;
  • Um registro na tabela filho pode possuir um único registro na tabela pai (algo como as funções matemáticas, em que para um dado x posso ter uma única resposta y).

Saiba mais sobre bancos de dados relacionais neste artigo de João Roberto da Cunha, coordenador do Projeto de Banco de Dados Relacional do Departamento de Tecnologia no SERPRO.

2 comentários sobre “Banco de Dados: Regras de Integridade”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *