関係フィールド

NocoBase では、関係フィールドを使用して異なるデータテーブル間の関連付けを作成します。これにより、1 件のレコードから別のテーブルの 1 件のレコード、または複数のレコードを参照できるようになります。たとえば、注文と顧客、タスクと担当者、学生とコースを関連付けることができます。

関係フィールドは、通常のフィールドとは完全には同じではありません。通常のフィールドは、データベース内の実際の列に対応し、テキスト、数値、日付などの値を保存します。一方、関係フィールドは、テーブル間の接続設定と、関連レコードを特定するためのキーを保存します。メインデータベースでは、フィールドの作成時に必要な関係設定を生成できます。外部データベースでは、通常、既存の主キー、外部キー、または一意フィールドを基に関係を構築し、外部データベースのテーブル構造を自動的に変更することはありません。

関係タイプの選択

一般的な関係タイプは次のとおりです。

関係タイプ適用シーン
一対一1 件のレコードが、別のテーブルの 1 件のレコードとのみ関連付けられます。たとえば、従業員と 1 件の入社記録を関連付ける場合です。
一対多1 件のレコードが、別のテーブルの複数のレコードと関連付けられます。たとえば、顧客と複数の注文を関連付ける場合です。
多対一複数のレコードが、同じ 1 件の対象レコードと関連付けられます。たとえば、複数の注文と同じ 1 人の顧客を関連付ける場合です。
多対多2 つのテーブル間で、複数のレコード同士を相互に関連付けられます。たとえば、学生とコースを相互に関連付ける場合です。
多対多(配列)配列フィールドを使用して複数の対象レコードの識別子を保存します。既存のテーブル構造で関連値がすでに配列として保存されている場合に適しています。

まずは業務上の意味に基づいて判断するのが基本です。現在のレコードが 1 件の対象レコードにのみ属する場合は、通常は多対一を使用します。現在のレコードから対象テーブルの複数のレコードを参照する必要がある場合は、通常は一対多を使用します。双方が複数のレコードと関連付けられる場合は、多対多を使用します。

設定のポイント

関係フィールドを設定する際は、次の項目を重点的に確認してください。

  • 対象データテーブル:どのテーブルと関連付けるか
  • 関係タイプ:一対一、一対多、多対一、多対多、または多対多(配列)
  • 関係キー:両側のレコードを特定するために使用するフィールド。通常は主キー、外部キー、または一意フィールド
  • タイトルフィールド:関連レコードをセレクターやブロックでデフォルト表示するフィールド
注意

外部データベースの関係フィールドは、主に NocoBase が保存する関係メタデータです。関係フィールドを追加しても、外部データベースに実際の外部キー、インデックス、中間テーブルが自動的に作成されることはありません。データベースレベルの外部キー制約が必要な場合は、先にデータベース側で設定してから、NocoBase に戻ってフィールドを同期・設定してください。

関連リンク

  • 一対一 — 一対一関係フィールドの設定を確認
  • 一対多 — 一対多関係フィールドの設定を確認
  • 多対一 — 多対一関係フィールドの設定を確認
  • 多対多 — 多対多関係フィールドの設定を確認
  • 多対多(配列) — 配列型の多対多関係を確認