ON DELETE CASCADE е добре, но само когато зависимите редове наистина са логическо разширение на реда, който се изтрива. Например, добре е за DELETE ORDERS да изтриете свързаните ORDER_LINES, защото очевидно искате да изтриете тази поръчка, която се състои от заглавка и няколко реда. От друга страна, DELETE CUSTOMER не трябва да изтрива свързаните ПОРЪЧКИ, защото ПОРЪЧКИТЕ са важни сами по себе си, те не са просто атрибути на клиент.
Един от начините да мисля за това е:ако издам DELETE X и той също изтрие Y, ще бъда ли щастлив или нещастен? И ако издам DELETE X и ми кажат „не мога да изтрия X, защото Y съществува“, ще се радвам ли на защитата или ще се раздразня от неудобството?