Я не проектирую схемы каждый день, но когда я это делаю, я пытаюсь правильно настроить / удалить каскадные обновления, чтобы упростить администрирование. Я понимаю, как работают каскады, но я никогда не могу вспомнить, какой стол какой.
Например, если у меня есть две таблицы - Parentи Child- с внешним ключом для Childэтих ссылок Parentи имеет ON DELETE CASCADE, какие записи вызывают каскад и какие записи удаляются каскадом? Моим первым предположением будет Childудаление Parentзаписей при удалении записей, поскольку Childзаписи зависят от Parentзаписей, но ON DELETEэто неоднозначно; это может означать удаление Parentзаписи при Childудалении записи, или это может означать удаление Childзаписи при Parentудалении. Так что это?
Я хочу синтаксис был ON PARENT DELETE, CASCADE, ON FOREIGN DELETE, CASCADEили что - то подобное для устранения неясности. У кого-нибудь есть мнемоника для запоминания этого?