Modelagem de Dados – Restrições de Integridade

Restrições de Integridade em Bancos de Dados

Artigo complementar do Curso Completo de Modelagem de Dados da Bóson Treinamentos no YouTube.

A integridade de dados se refere á acurácia, completude e consistência dos dados armazenados em um sistema de banco de dados relacional (ou outro sistema). Isso garante que os dados armazenados possam ser armazenados, consultados e utilizados com confiabilidade, sendo assim dados íntegros – daí o nome integridade de dados. Trata-se, portanto, da manutenção e garantia da consistência e precisão dos dados, sendo um aspecto crítico no design, implementação e uso de sistemas de armazenamento de dados.

Para que seja possível garantir a integridade dos dados, é necessário conhecer e aplicar determinadas restrições de armazenamento, que chamamos de Restrições de Integridade, que dizem respeito a aspectos como tipos dos dados armazenados, relacionamentos entre colunas de chave primária e estrangeira, possibilidade de haver valores nulos ou não, e regras de negócio específicas importantes requisitadas pelo cliente, por exemplo.

Tipos de Restrições de Integridade

Os tipos de restrições de integridade que estudaremos neste artigo são os seguintes:

  • Integridade Referencial
  • Integridade de Domínio
  • Integridade de Vazio
  • Integridade de Chave
  • Integridade Definida pelo Usuário

Vamos detalhar cada um deles a partir de agora.

Integridade de Domínio

Valores inseridos em uma coluna devem sempre obedecer à definição dos valores que são permitidos para essa coluna – os valores do domínio.

Ex.: em uma coluna que armazena preços de mercadorias, os valores admitidos são do domínio numérico – ou seja, apenas números. Não há preços usando letras para sua representação.

Integridade de Domínio: Fatores

Os seguintes fatores impactam a integridade de domínio:

  • Tipo de Dado do campo
  • Representação interna do tipo de dado
  • Presença ou não do dado
  • Intervalos de valores no domínio
  • Conjuntos de valores discretos

Exemplo

Suponha um atributo Preço do Produto: Valor Monetário

  • Valor permitido:
    • 25,33
  • Valores não permitidos:
    • 25 Reais e 33 centavos
    • -32,33

Neste exemplo, não há preços usando letras ou valores negativos, e o valor 25,33 atende à integridade de domínio (numérico e positivo).

Integridade Referencial

Uma restrição de Integridade Referencial assegura que valores de uma coluna em uma tabela são válidos baseados nos valores em uma outra tabela relacionada.

Ex.: Se um produto de ID 523 foi cadastrado em uma tabela de Vendas, então um produto com ID 523 deve existir na tabela de Produtos relacionada.

Em resumo: cada valor de uma chave estrangeira deve corresponder a um valor de uma chave primária existente. Serve para manter a consistência entre tuplas de duas relações; Aparecem devido aos relacionamentos entre entidades

Exemplo

Atributo Nome_Produto: Caracteres

  • Valores permitidos (produtos cadastrados):
    • Água
    • Refrigerante
    • Suco
  • Valores não permitidos para venda (não existentes na tabela de produtos):
    • Cerveja

Neste exemplo, há um problema na Tabela de Bebidas: o item Cerveja viola a integridade referencial. Não é possível cadastrar uma venda com esse produto, pois ele não existe na tabela de produtos.

Integridade Referencial em Bancos de Dados

Integridade Referencial: Atualização e Exclusão de Registros

Se um registro for excluído em uma tabela (operações DELETE e TRUNCATE), então os registros relacionados em outras tabelas que o referenciam talvez precisem ser excluídos.

Caso contrário ocorrerá erro. O mesmo se dá com a atualização de registros (operação UPDATE).

Integridade de Vazio

Este tipo de integridade informa se a coluna é obrigatória ou opcional – ou seja, se é possível não inserir um valor na coluna.

Uma coluna de chave primária, por exemplo, sempre deve ter dados inseridos, e nunca pode estar vazia, para nenhum registro.

Valores Nulos – NULL

Um valor NULL significa que não existem dados disponíveis para o campo em particular. É diferente de zero, espaço, string vazia ou tabulação, que consistem em algo armazenado.

Os nulos podem ser problemáticos, pois indicam:

  • O valor da coluna não é apropriado;
  • O valor não foi inserido;
  • O valor é desconhecido.

Exemplos de valores NULL

Suponha uma tabela de cadastro de alunos. Nesta tabela todo aluno deverá ter um nome cadastrado, de modo que esse campo é obrigatório (atributo não-nulo – NOT NULL)

Nem todo aluno possui telefone, portanto esse campo não é obrigatório (atributo nulo)

Valores nulos em modelagem de dados

Valor nulo em uma tabela

Integridade de Chave

Os valores inseridos na coluna de chave primária (PK) devem ser sempre únicos, não admitindo-se repetições nesses valores. Desta forma, as tuplas (registros) serão sempre distintas.

Os valores de chave primária também não podem ser nulos.

Integridade Definida pelo Usuário

Diz respeito a regras de negócio específicas que são definidas pelo usuário do banco de dados. Por exemplo, pode-se definir que uma coluna somente aceitará um conjunto restrito de valores, como por exemplo apenas as siglas dos estados da federação, e mais nenhum outro valor diferente.

Conclusão

Conhecer as formas de integridade de dados é muito importante durante o processo de modelagem de dados, pois, é de crucial importância garantir de forma adequada que os dados armazenados sejam confiáveis e que possam ser utilizados com tranquilidade, senado sempre associados a outros dados, além de estarem sempre disponíveis.

Próximo: Dependências em Bancos de Dados

 

Sobre Fábio dos Reis (1333 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

1 Comentário em Modelagem de Dados – Restrições de Integridade

  1. Opa, beleza? tô na instalação do Ubunto, e tá uma tela preta checking files e eu posso cancelar, poderia me informar sobre isso?

Escreva um comentário

Seu e-mail não será divulgado


*