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...
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...
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 =)