ON DELETE CASCADEは問題ありませんが、依存する行が実際に削除される行の論理的な拡張である場合に限ります。たとえば、ヘッダーといくつかの行で構成されるこの注文を明らかに削除したいので、DELETEORDERSが関連するORDER_LINESを削除しても問題ありません。一方、DELETE CUSTOMERは、関連するORDERSを削除しないでください。これは、ORDERS自体が重要であり、単なる顧客の属性ではないためです。
これについて考える1つの方法は、DELETE Xを発行し、それがYも削除する場合、私は幸せになるのか、それとも不幸になるのかということです。また、DELETE Xを発行して、「Yが存在するためXを削除できない」と言われた場合、保護されてうれしいですか、それとも不便にイライラしますか?