Não desenho esquemas todos os dias, mas quando o faço, tento configurar as atualizações / exclusões em cascata corretamente para facilitar a administração. Entendo como as cascatas funcionam, mas nunca consigo me lembrar de qual tabela é qual.
Por exemplo, se eu tiver duas tabelas - Parente Child- com uma chave estrangeira nessas Childreferências Parente tiver ON DELETE CASCADE, quais registros acionam uma cascata e quais são excluídos pela cascata? Meu primeiro palpite seria que os Childregistros sejam excluídos quando os Parentregistros forem excluídos, pois os Childregistros dependem dos Parentregistros, mas isso ON DELETEé ambíguo; isso pode significar excluir o Parentregistro quando o Childregistro for excluído ou pode excluir o Childregistro quando ele Parentfor excluído. Então qual é?
Eu gostaria que a sintaxe fosse ON PARENT DELETE, CASCADE, ON FOREIGN DELETE, CASCADEou algo semelhante, para remover a ambiguidade. Alguém tem alguma mnemônica para lembrar disso?