Nie projektuję schematów codziennie, ale kiedy to robię, próbuję poprawnie skonfigurować aktualizacje kaskadowe / usunąć, aby ułatwić administrację. Rozumiem, jak działają kaskady, ale nigdy nie pamiętam, który stół jest który.
Na przykład, jeśli mam dwie tabele - Parenti Child- z kluczem obcym do Childtych referencji Parenti ma ON DELETE CASCADE, które rekordy wyzwalają kaskadę, a które rekordy są kasowane? Moim pierwszym przypuszczeniem byłoby, że Childrekordy zostaną usunięte po Parentich usunięciu, ponieważ Childrekordy zależą od Parentakt, ale ON DELETEjest to niejednoznaczne; może to oznaczać usunięcie Parentrekordu po jego Childusunięciu lub może oznaczać usunięcie Childrekordu po jego Parentusunięciu. Więc co to jest?
Chciałbym, aby składnia była ON PARENT DELETE, CASCADE, ON FOREIGN DELETE, CASCADElub coś podobnego, aby usunąć dwuznaczność. Czy ktoś ma jakieś mnemoniki, żeby o tym pamiętać?