Integridade de dados com constraints no MySQL
Aprenda a manter a integridade de dados no MySQL utilizando chave primária e estrangeira em conjunto com constraints.
PUBLICADO POR AYLTON INACIO
Tutoriais e Artigos > Gerenciamento de dados
E aí turma, hoje vamos falar de integridade de dados, um dos assuntos mais importantes na vida de todo administrador de banco de dados em conjunto com outros asuntos como segurança, backup, disponibilidade e desempenho.
Neste post eu vou usar um banco de dados simples com três tabelas que armazenam informações sobre vendas de carros, então vamos ter as tabelas de clientes, carros e vendas.
Integridade de dados
Para entender a integridade de dados, imagine um quebra-cabeça, onde todas as peças precisam se encaixar para formar o desenho final. Agora imagine um banco de dados, com dados de clientes e vendas armazenados, mas sem integridade, o que seria isso na prática?
Se preferir, tem o vídeo completo sobre Integridade de dados com constraints no MySQL aqui! Aproveite para assinar o canal e ficar por dentro das novidades em vídeo.
Vamos analisar o banco de dados de exemplo do nosso post. Como foi dito no começo, vamos usar um banco de dados para armazenar vendas de carros, então são 3 tabelas: clientes; carros; vendas.
As imagens a seguir mostram a estrutura e dados das tabelas, e existe um erro de integridade.
Encontrou o erro? Foi registrada uma venda com o id de cliente igual a 5, e esse id não existe na tabela de clientes. Na prática foi algo como vender um carro para uma pessoa que não existe!
Integridade de dados com constraints
Como vimos anteriormente, a definição de chave primária e estrangeira só garante a ligação lógica, servindo para realizar consultas com INNER, LEFT e RIGHT JOIN.
Para realmente garantir a integridade de forma automática, ou seja, fazer com que o banco de dados não deixe entrar dados fora da relação de chaves, é necessário definir Constraints.
Antes de começar, altere o registro na tabela de vendas que possui o id de cliente igual a 5. Você pode colocar para outro cliente que existe ou remover o registro.
Pelo Workbench, você pode alterar a tabela de vendas, clicar em Foreign Keys e criar as regras, como na imagem a seguir.
Repare que você deve definir a tabela de clientes como referência e fazer a ligação dos campos que são chave primária e estrangeira, no caso é id_cliente na tabela de vendas e id na tabela de clientes.
Com a constraint definida, tente agora alterar ou inserir algum registro na tabela de vendas com o id de um cliente que não existe. Você receberá um erro parecido com o da imagem a seguir.
Então é isso, eu espero que você tenha gostado desta publicação. Fique à vontade para compartilhar nas suas redes sociais para ajudar na divulgação e crescimento do site.
Aproveite para se inscrever no meu canal do YouTube e também na News do site pra ficar por dentro das novidades em artigos, tutoriais e cursos online.
Abraço e até a próxima!