• Roger Sampaio

Garantido que as informações não são tabajara: integridades


Fala meus guerreiros. Tabajara é um nome pejorativo dado aos produtos, equipamentos e coisas que não funcionam, algo que soa como pirata, falsificado e ninguém, absolutamente ninguém, deseja adquiri-los. E com os SGBD's (Sistema Gerenciadores de Banco de Dados) relacionais como produtos de softwares, não seria diferente. Não estou falando de licença de uso deles e sim de uma série de integridades sobre os dados que serão armazenados. Não basta apenas armazenar os dados de qualquer maneira, antemão existem regras que devem ser seguidas para que nosso SGBD relacional não seja um produto tabajara. Vamos compreender quais são elas e implementar cada uma, meu guerreiro?

  1. Conceito de Integridade

Segundo o dicionário da Língua Portuguesa dicio, integridade é a condição de algo que não sofreu alteração, está inteiro, sinônimo de probidade. Em um contexto de banco de dados, dados íntegros são aqueles que estão corretos, que podem ser transformados em informações úteis. Um bom exemplo seria a idade de uma pessoa. Esse dado estaria íntegro se respondem as seguintes perguntas:

1 - Armazena um valor inteiro e não um texto, valor real ou outro tipo? Pense comigo, ninguém possui 22,3 anos e sim apenas 22 anos.

2 - Representa de fato a idade da pessoa e o campo não está vazio ou nulo?


A responsabilidade de garantir a integridade do banco de dados é do profissional de banco de dados começando na modelagem lógica e será garantida por meio de quatro tipos.

1.2 Integridade de Entidade


Os banco de dados relacionais procuram ao máximo evitar a redundância de dados, isto é, o mesmo dado em mais de um local. Cada linha da tabela(entidade), deve ser única garantido por meio da chave primária (primary key). A chave primária é formada por uma ou mais colunas na tabela de modo a garantir a unicidade do registro. Cabe ao profissional de banco de dados escolher quais as colunas que formarão a chave primária. Suponha que tenhamos a seguinte entidade chamada 'Cliente':

Pense comigo, quais desses campos identifica melhor um cliente de forma única e exclusiva? Votaremos no CPF, que será a nossa chave primária. Para definir como chave-primária, escreveremos o seguinte código (veja a palavra PRIMARY KEY):


1.3 Integridade Semântica


Quando estamos criando uma tabela, cada coluna será de um tipo de dado. A integridade semântica garante que o dado inserido em um linha seja um valor válido, considerando o tipo que foi declarado explicitamente. Ela é definida automaticamente no momento que você define o tipo de cada coluna. Retornando a entidade 'Cliente', observe que a coluna 'idade' é do tipo NUMBER, ou seja, numérico.


Se você tentar inserir um registro definindo um texto na idade através de um comando INSERT, o SGBD gerará uma mensagem de erro e impedirá que você continue. Em outras palavras, se é do tipo NUMBER, somente aceitará valores numéricos.


1.4 Integridade de Domínio


Domínio é um intervalo de faixa de valores previamente definido para uma coluna. Exemplo: podemos definir a coluna sexo de 'Cliente' acima apenas com dois possíveis valores: 'M' (para masculino) e 'F' (para feminino). Obtemos integridade de domínio com a definição de constraints, que são regras que limitam o valor. No caso para delimitar o sexo em 'M' ou 'F' faremos:



1.5 Integridade Referencial


As tabelas estão ligadas logicamente, cada uma representando a abstração de um objeto do mundo real. Suponha que a entidade 'Cliente' tenha endereço. As informações de endereço como, por exemplo, CEP, cidade, estado .... estarão em outra entidade chamada 'Endereco'. Note que ainda cada entidade tem sua respectiva chave-primária. Cada cliente possui apenas um único endereço e cada endereço está ligado a um ou mais clientes (pode haver clientes que moram na mesma residência). A ligação entre ambas tabelas será por meio da chave-estrangeira (foreign key), que garante a integridade referencial. Note:



E para criar a chave-estrangeira vamos escrever o seguinte código. Ela vai garantir que todos os clientes possuam endereços válidos e vice-versa. Não existirá, por exemplo, um endereço que não esteja ligado a nenhum cliente. Veja em especial a palavra reservada 'FOREIGN KEY'.


2. E no Final das Contas


Garantir a integridade em banco de dados de dados não é de um longe uma tarefa trivial, porém altamente necessária para que seja possível transformar dados em informações úteis. Implementando a integridade de entidade através da chave-primária, integridade referencial por meio da chave estrangeira, integridade de domínio usando as constraints e por fim integridade semântica com a definição de cada tipo de dado, farão que o seu SGBD não seja um produto tabajara. E se você quiser saber mais sobre tudo que foi explorado nesse artigo e mais sobre banco de dados, recomendo o nosso curso gratuito SQL DE CADA DIA.

Abraços e até a próxima.





95 visualizações0 comentário

Posts recentes

Ver tudo

Adoraria ouvir de você

  • Ícone do Instagram Preto

© 2023 por Laura Castro. Orgulhosamente criado com Wix.com