リレーションの種類
1対多
オブジェクトAの1件のレコードは、オブジェクトBの複数のレコードにリンクできます。
例: 1つの会社には多数の連絡先(従業員)がいます。
多対1
オブジェクトAの複数のレコードは、オブジェクトBの1件のレコードにリンクできます。
例: 多数の連絡先は1社に所属できます。
複数のオブジェクトタイプへのリレーション
一部のオブジェクトは、リレーションの片側で複数のオブジェクトタイプにリンクできます。
例: メモは、連絡先1件、会社1社、商談1件に同時にリンクできます。 メモは”多”の側にあり、複数の”1”の側にリンクしています。
同様に、プロジェクト(“1”の側)は、複数の連絡先、複数の会社、複数のメモからリンクを受け取ることができます。
インポート/エクスポートの制限: 複数のオブジェクトタイプを指すリレーションは、CSV のインポート/エクスポートにはまだ対応していません。 これはロードマップに含まれています。
多対多
オブジェクトAの複数のレコードは、オブジェクトBの複数のレコードにリンクできます。
例: 多数の連絡先は多数のプロジェクトにリンクでき、その逆も可能です。
多対多のリレーションでは、両側を接続する中間オブジェクトを用いるジャンクションオブジェクトパターンを使用します。 ジャンクションリレーション機能により、Twenty は最終的にリンクされたレコードを直接表示し、中間オブジェクトを UI から隠します。
ラボ機能: 使用前に Settings → Updates → Lab でジャンクションリレーションを有効化する必要があります。
完全なステップバイステップのガイドについては、多対多リレーションの作成方法 を参照してください。
リレーションフィールドの作成
- 設定 → データモデル に移動
- リレーションを追加したいオブジェクトを選択します
- + Add Field をクリック
- フィールドタイプとして Relation を選択
- 関連付け先のオブジェクトを選択します
- リレーションの設定を行います:
- ソースオブジェクト上のフィールド名: 編集しているオブジェクト上のリレーションフィールドの名前
- 対象オブジェクト上のフィールド名: 対象オブジェクトに表示されるリレーションフィールドの名前
- リレーションタイプ(1対多、多対1)
- 保存をクリック
標準リレーション
Twenty には標準オブジェクト間のあらかじめ用意されたリレーションがあります:
| 元オブジェクト | 宛先オブジェクト | リレーションタイプ |
|---|
| 人物 | 会社 | 多対1 |
| 商談 | 会社 | 多対1 |
| 商談 | 人物 | 多対1 |
ベストプラクティス
リレーションの計画
- データモデルをマッピング: 作成前にリレーションを計画する
- 方向性を検討: どのオブジェクトがそのリレーションを”所有”するかを考える
- 循環依存を避ける: データモデルをクリーンに保つ
リレーションの命名
- 明確な名前を使う: リレーションが何を表すかが一目でわかるようにする
- 一貫性を保つ: リレーション全体で似た命名パターンを使用する
- 両側を考慮する: リレーションの両側に適切な名前を付ける
パフォーマンス
- リレーションの作りすぎに注意: リレーションが多すぎるとワークスペースが遅くなる可能性があります
制限事項
- リレーションを削除するとリンクは削除されますが、関連レコード自体は削除されません。
- 循環リレーションはデータの整合性のため避けるべきです