No diseño esquemas todos los días, pero cuando lo hago, trato de configurar las actualizaciones / eliminaciones en cascada correctamente para facilitar la administración. Entiendo cómo funcionan las cascadas, pero nunca puedo recordar qué tabla es cuál.
Por ejemplo, si tengo dos tablas - Parent
y Child
- con una clave foránea en Child
esas referencias Parent
y has ON DELETE CASCADE
, ¿qué registros desencadenan una cascada y qué registros son eliminados por la cascada? Mi primera suposición sería que los Child
registros se eliminan cuando Parent
se eliminan, ya que los Child
registros dependen de los Parent
registros, pero ON DELETE
es ambiguo; podría significar eliminar el Parent
registro cuando Child
se elimine el registro, o podría significar eliminar el Child
registro cuando Parent
se elimine. Entonces, ¿cuál es?
Desearía que la sintaxis fuera ON PARENT DELETE, CASCADE
, ON FOREIGN DELETE, CASCADE
o algo similar para eliminar la ambigüedad. ¿Alguien tiene alguna mnemotecnia para recordar esto?