Tip

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

一対一

従業員とプロフィールの関係では、各従業員は1つのプロフィールレコードのみを持つことができ、各プロフィールレコードも1人の従業員にのみ対応します。このような場合、従業員とプロフィールの関係は一対一です。

一対一関係における外部キーは、ソースコレクションまたはターゲットコレクションのどちらに配置しても構いません。もし「〜を持つ」関係を表す場合は、外部キーをターゲットコレクションに配置する方がより適切です。一方、「〜に属する」関係を表す場合は、ソースコレクションに配置する方がより適しています。

上記の例では、従業員が1つのプロフィールのみを持ち、プロフィールが従業員に属しているため、この外部キーはプロフィールコレクションに配置するのが適切です。

一対一(〜を持つ)

ある従業員がプロフィールレコードを1つ持つことを示します。

ER関係

alt text

フィールド設定

alt text

一対一(〜に属する)

あるプロフィールが特定の従業員に属することを示します。

ER関係

フィールド設定

alt text

パラメータ説明

Source collection

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

Target collection

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

Foreign key

2つのコレクション間の関連を確立するために使用されます。一対一関係における外部キーは、ソースコレクションまたはターゲットコレクションのどちらに配置しても構いません。もし「〜を持つ」関係を表す場合は、外部キーをターゲットコレクションに配置する方がより適切です。一方、「〜に属する」関係を表す場合は、ソースコレクションに配置する方がより適しています。

Source key <- Foreign key(外部キーがターゲットコレクションにある場合)

外部キー制約が参照するフィールドで、一意である必要があります。外部キーがターゲットコレクションに配置されている場合、「〜を持つ」関係を示します。

Target key <- Foreign key(外部キーがソースコレクションにある場合)

外部キー制約が参照するフィールドで、一意である必要があります。外部キーがソースコレクションに配置されている場合、「〜に属する」関係を示します。

ON DELETE

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

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