Tip

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

多対多

選考システムでは、学生とコースという2つのエンティティがあります。1人の学生が複数のコースを履修でき、1つのコースに複数の学生が履修できるため、多対多のリレーションシップが成立します。リレーショナルデータベースでは、学生とコース間の多対多のリレーションシップを表現するために、通常、履修コレクションのような中間コレクションを使用します。このコレクションには、各学生がどのコースを選択したか、また各コースをどの学生が履修したかが記録されます。このような設計により、学生とコース間の多対多のリレーションシップを効果的に表現できます。

ER図:

alt text

フィールド設定:

alt text

パラメータ説明

Source collection

ソースコレクション。現在のフィールドが存在するコレクションです。

Target collection

ターゲットコレクション。関連付けられるコレクションです。

Through collection

スルーコレクション。2つのエンティティ間に多対多のリレーションシップが存在する場合に、その関係を保存するために使用する中間コレクションです。スルーコレクションには、2つのエンティティ間の関連を維持するための2つの外部キーがあります。

Source key

ソースコレクション内のフィールドで、外部キー制約が参照するフィールドです。一意である必要があります。

Foreign key 1

スルーコレクション内のフィールドで、ソースコレクションとの関連を確立するために使用されます。

Foreign key 2

スルーコレクション内のフィールドで、ターゲットコレクションとの関連を確立するために使用されます。

Target key

ターゲットコレクション内のフィールドで、外部キー制約が参照するフィールドです。一意である必要があります。

ON DELETE

ON DELETEは、親コレクションのレコードが削除された際に、関連する子コレクション内の外部キー参照に適用される操作ルールを指します。これは、外部キー制約を定義する際に使用されるオプションです。一般的なON DELETEオプションは以下の通りです。

  • CASCADE: 親コレクションのレコードが削除されると、子コレクション内の関連するすべてのレコードも自動的に削除されます。
  • SET NULL: 親コレクションのレコードが削除されると、子コレクション内の関連するレコードの外部キー値がNULLに設定されます。
  • RESTRICT: デフォルトのオプションです。親コレクションのレコードを削除しようとした際に、関連する子コレクションのレコードが存在する場合、親コレクションのレコードの削除は拒否されます。
  • NO ACTION: RESTRICTに似ており、関連する子コレクションのレコードが存在する場合、親コレクションのレコードの削除は拒否されます。