Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Erro na atividade 2 - Faça como eu fiz, quarta questão

*OBSERVE ABAIXO QUE A TABELA LIVRO CONTÉM APENAS CAMPOS COM O ID_LIVRO NO MÁXIMO ATÉ O 9 (NOVE UNIDADE DE LIVROS), MAS O CAMANDO SUGERIDO PARA PREENCHER A TABELA ESTOQUE, COLOCA COMO ID_LIVRO NÚMEROS NÃO EXISTENTES NA TABELA, O QUE CONFIGURA UM ERRO PARA INSERÇÃO DE DADOS DENTRO DA TABELA, VEJA ABAIXO: * Insira aqui a descrição dessa imagem para ajudar na acessibilidade

COMO É POSSÍVEL VER, NÃO HÁ ID_LIVRO 10, NEM 11, NEM 12, POIS NÃO INSERIMOS OS LIVROS 10, 11 E 12 NA TABELA LIVROS. CORRIGINDO ESSE ERRO, CONSEGUI INSERIR AS INSTÂNCIAS NA TABELA ESTOQUE. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

É POSSÍVEL OBSERVAR TAMBÉM, QUE SE ALTERARMOS A ORDEM MESMO ASSIM, O ID_LIVRO = 10 NÃO EXISTE, IMPLICANDO UM ERRO AO INSERIR.

1 resposta
solução!

Oi, Natalí! Tudo bem?

Desde já, peço desculpas pela demora em retornar.

Agradeço sua preocupação em nos avisar sobre essa falta de registros em algumas tabelas do Clube do Livro. Quando estamos trabalhando com banco de dados, isso pode causar inconsistências e erros.

Contudo, nessa situação, essa falta foi didaticamente proposital. Ao longo do curso, outros conceitos envolvendo a modelagem de banco de dados relacional e a linguagem SQL serão apresentados, como:

  • Inserção de dados fora de ordem: etapa em que novos dados de livros serão inseridos;
  • Junção de tabelas: momento em que uniremos tabelas de distintas formas (sendo que em algumas dessas maneiras o nosso foco será analisar esses dados faltantes que conversamos anteriormente).

Caso tentemos inserir alguns dados com outros ausentes, teremos um erro no MySQL Workbench. Logo, para evitar que ele ocorra, precisamos executar o seguinte comando SQL:

SET FOREIGN_KEY_CHECKS = 0;

Com isso, temos uma maior liberdade em inserir dados, uma vez que as chaves estrangeiras serão, temporariamente, “desativadas” — o que desabilitará a relação entre as tabelas e evita o surgimento de conflitos.

Depois da inserção de novos dados, podemos ativar as chaves estrangeiras novamente, apenas alterando o número 0 pelo 1, desta forma:

SET FOREIGN_KEY_CHECKS = 1;

Obrigada mais uma vez Natalí! Além disso, espero ter ajudado com a explicação. Caso surja alguma dúvida durante os seus estudos, conte com o fórum!

Abraços!