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