1

たとえば、以下のONDELETECASCADEを使用するのが良いかどうかを知りたいです。これは、ONDELETECASCADEを使用して行を削除する場合の一般的な考え方です。

モジュールテーブル:

ModuleId (PK) ModuleNo  ModuleName
11            CHI2333    ICT

Course_Moduleテーブル:

CourseId  ModuleId (FK)
3          11

セッションテーブル(試験):

SessionId  SessionName  ModuleId (FK)
5           ASDEE        11

上記の例では、Moduleテーブルから行を削除すると、同じModuleIdを含む他の2つのテーブルの行が削除されます。テーブルでは、Course_Moduleどのコースにどのモジュールが含まれているかを判別し、Sessionテーブルでは、試験の詳細を保持し、削除されたModuleIdを含む行(試験)を削除します。

上記の例でこれを実行しても大丈夫ですか?私の一般的な質問は、親テーブルの行が削除または削除されたときにON DELETE CASCADEを使用して外部キー行を削除するのが賢明で通常の方法ですか?

4

1 に答える 1

0

個人的には、DBに依存して作業を行うよりも、コードにそのロジックを含める方がよいと思います。これは、すべてのアプリをコーディングする方法です。

ちょうど私の2セント。

于 2013-01-17T19:18:29.093 に答える