1
resposta

[Dúvida] Dúvidas sobre a Integridade de Dados e de como ela funciona.

Bom dia a todos!

Contudo em que eu estudei até o momento, o SQL surgiu da necessidade de manipular e armazenar dados em um Banco de Dados relacional, que possui relação entre as tabelas, isto é, possuem as Foreign Key (Chaves Estrangeiras), fazendo com que as informações tenham integridade, certo. Estava realizando alguns exercícios de criação e consultas SQL e tive uma dúvida sobre a Integridade da Informação.

Duvida:

As Chaves Estrangeiras são o que mantém a integridade dos dados. Um exemplo simples seria o da imagem a baixo que não pode ter um CPF do cliente na tabela vendas que não tenha sido previamente cadastrado na tabela cliente.

Aqui é um exemplo de um sistema básico de vendas em SQL.  sobre a ligação das tabelas vendedor e cliente com a Tabela vendas

Eu adicionei as Informações nas tabela Turma e Alunos, esperando que por causa das Chaves Estrangeiras essas informações teriam sido "Puxadas" para tabela Histórico. Exemplo a tabela Turma trazer os campos (Cod_dis e Cod_prof ) e a tabela aluno o campo (Matricula).

Minha Dúvida no final é como eu posso manter a Integridade sendo que eu posso colocar informações diferentes entre essas tabelas, como inserir uma matricula na tabela Histórico que não exista na tabela Alunos.

Uma consulta da tabela Turma, mostrando as informações inseridasUma consulta a tabela AlunosUma consulta a tabela Histórico

1 resposta

Oii Gustavo, tudo certinho?

As chaves estrangeiras não fazem automaticamente essa "puxada" de informações entre as tabelas. Elas apenas garantem que os dados inseridos estejam de acordo com as restrições definidas. Ou seja: caso você tente inserir uma informação em "histórico" que não tenha a matrícula presente na tabela "aluno", é esperado que um erro seja retornado. As informações são quase sempre carregadas manualmente, por meio do comando INSERT.

Perceba que a tabela "historico" ainda nem tem como relacionar os dados de cada aluno com cada turma. Esse tipo de informação é obtida de forma empírica, pelas pessoas que fazem o negócio.

As chaves estrangeiras servirão para visualizações, joins e filtros, além de garantir a integridade referencial.

Espero ter respondido sua dúvida, Gus. Fico à disposição se quiser conversar mais :)

Abraços!