Saya tidak merancang skema setiap hari, tetapi ketika saya melakukannya, saya mencoba untuk mengatur pembaruan / penghapusan kaskade dengan benar untuk membuat administrasi lebih mudah. Saya mengerti bagaimana kaskade bekerja, tetapi saya tidak pernah ingat tabel mana yang mana.
Sebagai contoh, jika saya memiliki dua tabel - Parentdan Child- dengan kunci asing pada Childreferensi itu Parentdan memiliki ON DELETE CASCADE, catatan mana yang memicu kaskade dan catatan mana yang bisa dihapus oleh kaskade? Dugaan pertama saya adalah Childrekaman yang dihapus ketika Parentcatatan dihapus, karena Childcatatan bergantung pada Parentcatatan, tetapi ON DELETEambigu; itu bisa berarti menghapus Parentcatatan ketika Childcatatan dihapus, atau itu bisa berarti menghapus Childcatatan ketika Parentdihapus. Jadi yang mana?
Saya berharap sintaksnya ON PARENT DELETE, CASCADE, ON FOREIGN DELETE, CASCADEatau sesuatu yang serupa untuk menghapus ambiguitas. Adakah yang punya mnemonik untuk mengingat ini?