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

[Dúvida] Por que desativar as restrições de chave estrangeira?

Por que é necessário desativar as restrições de chave estrangeira para prosseguir com a inserção das linhas? Imaginei que, se ficasse ativado, os dados já iriam se comunicando e preencheria as tabelas mais rápido...

1 resposta
solução!

Olá Gabriela, tudo certo?

Em resumo, desativar as restrições de chave estrangeira traz mais liberdade para a inserção de linhas, não é uma passo obrigatório se as informações forem inseridas primeiro na tabela pai depois na tabela filha.

No entanto, é preciso ativar ao final da inserção, para estabelecer ligação entre as tabelas.

Em outros tópicos aqui no fórum também foi discutido esse tema, se quiser dar uma olhadinha: https://cursos.alura.com.br/forum/topico-uso-do-set-foreign_key_checks-0-225388 https://cursos.alura.com.br/forum/topico-set-foreign_key_checks-0-244577 https://cursos.alura.com.br/forum/topico-desabilitar-chave-estrangeira-para-fazer-insert-231502 https://cursos.alura.com.br/forum/topico-foreign-key-checks-0-226535

Lembrando que a chave estrangeira não preenche as tabelas mais rapidamente, mesmo com a ligação entre as tabelas é preciso inserir as informações em cada uma delas. A restrição vai identificar, por exemplo, se uma venda foi registrada com cliente já cadastrado na base.

Espero te ajudado. Bons estudos =)