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

Deletando Registros da Tabela Notas e Seus Itens Correspondentes Automaticamente

Para esta atividade, adotei uma abordagem diferente ao criar a chave estrangeira (foreign key) na tabela Itens_notas, referenciando a tabela Notas. Utilizei as cláusulas ON DELETE CASCADE e ON UPDATE CASCADE. Como o banco de dados é relacional, essas cláusulas permitem que, ao excluir (DELETE) ou atualizar (UPDATE) um registro na tabela Notas, as alterações sejam automaticamente refletidas na tabela Itens_notas. Dessa forma, não é necessário executar comandos de exclusão ou atualização manualmente na tabela Itens_notas, garantindo que as operações ocorram de forma automática e integrada.

ALTER TABLE ITENS_NOTAS
ADD CONSTRAINT FK_NOTAS
FOREIGN KEY (NUMERO) REFERENCES NOTAS (NUMERO)
ON DELETE CASCADE
ON UPDATE CASCADE;

Observação: Como neste caso estamos lidando apenas com duas tabelas relacionadas, sinto-me confortável em utilizar a opção de CASCADE na criação da chave estrangeira. Isso significa que, ao executar o comando DELETE FROM NOTAS, todos os registros correspondentes na tabela ITENS_NOTAS são automaticamente deletados. No entanto, em sistemas com múltiplas tabelas inter-relacionadas, o uso de CASCADE pode se tornar mais complexo e potencialmente prejudicial. Ainda não sei até que ponto essa abordagem é vantajosa ou desvantajosa em cenários mais complexos, deixo aqui essa dúvida.

1 resposta
solução!

Olá, Charles! Como vai?

Parabéns por concluir a atividade e obrigada por compartilhar com a comunidade! Tenho certeza de que vai ser útil para outras pessoas.

Parabéns pela forma como você usou as cláusulas ON DELETE CASCADE e ON UPDATE CASCADE, isso facilita bastante a manutenção dos dados! :)

→ Sobre a sua dúvida em relação ao uso de CASCADE em sistemas mais complexos, realmente, em ambientes com múltiplas tabelas inter-relacionadas, o uso de CASCADE pode exigir um planejamento cuidadoso. Isso porque uma exclusão em cascata pode propagar-se através de várias tabelas, podendo remover mais dados do que o esperado. Por isso, é sempre importante entender bem todas as relações e impactos antes de utilizar essa abordagem em sistemas complexos.

Espero ter ajudado!

Abraço ✨

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!