1
resposta

[Dúvida] Unidade 5 - ON Delete e ON Update

Quando eu limito com RESTRICT ou permito com CASCADE aplica-se a tabela de referencia da FOREIGN KEY?

1 resposta

Ei Sergio, tudo bem? Verifica se isso pode te ajudar

Quando você utiliza a cláusula RESTRICT ou CASCADE em uma FOREIGN KEY, você está definindo uma ação que deve ser realizada na tabela referenciada pela chave estrangeira (tabela pai) quando uma operação de UPDATE ou DELETE é realizada na tabela que contém a chave estrangeira (tabela filha).

Com a cláusula RESTRICT, você está dizendo que a operação de UPDATE ou DELETE na tabela pai deve ser restrita e não permitida se existirem registros relacionados na tabela filha. Já com a cláusula CASCADE, você está dizendo que a operação de UPDATE ou DELETE na tabela pai deve ser propagada para a tabela filha, atualizando ou excluindo automaticamente os registros relacionados.

Por exemplo, se você tiver uma tabela "Pedido" com uma chave estrangeira "id_cliente" que referencia a tabela "Cliente", e a cláusula RESTRICT estiver definida para a chave estrangeira, isso significa que não será possível atualizar ou excluir um registro da tabela "Cliente" se houver registros na tabela "Pedido" que façam referência a esse cliente.

Da mesma forma, se a cláusula CASCADE estiver definida para a chave estrangeira, a atualização ou exclusão de um registro na tabela "Cliente" será propagada para a tabela "Pedido", atualizando ou excluindo automaticamente os registros relacionados.

Portanto, é a tabela referenciada (tabela pai) que é afetada pela cláusula RESTRICT ou CASCADE na definição da FOREIGN KEY.