How to use an erd template.
- 01主要エンティティとリレーションを特定する
CRMの主要オブジェクト(Tenant、User、Account、Contact、Lead、Deal)と、それらの関係(例:1つのTenantに複数のUserが属し、1人のUserが複数のDealを担当する)を一覧にします。
- 02テナント分離方式を選ぶ
TenantIdカラムを持つ共有データベース、テナントごとの個別スキーマ、専用データベースのいずれかを決めます。選択した方式を、テナント識別用の属性としてER図に反映します。
- 03属性とキーを追加する
主キー(UUIDまたは自動採番)、外部キー、テナント固有のカラムを設定します。データ分離を徹底するため、すべてのクエリでTenantIdによる絞り込みを行います。
- 04AIで図を生成する
ChatDiagramのER図ツールを使い、「テナント、ユーザー、連絡先、商談を含むマルチテナントCRMを設計して」のように入力すると、AIが初期ERDを作成します。
- 05検証して改善する
生成された図を業務要件と照らし合わせます。不足しているフィールドを追加し、リレーションを調整し、用途に合ったスキーマになるまで再生成します。
Questions about erd templates
マルチテナントCRMのER図とは何ですか?
複数のテナント(組織)向けに構築されたCRMシステムのデータベーススキーマを視覚化したものです。Tenant、User、Contactなどのテーブルと、各テナントのデータを分離するリレーションを示します。
ER図でテナント分離をモデル化するには?
最も一般的なのは、テナント固有のデータを保持するすべてのテーブルに「tenant_id」外部キーを追加する方法です。これにより、Tenantテーブルが他のすべてのエンティティに関連付けられ、スキーマレベルで分離を適用できます。
マルチテナントCRMのER図サンプルはカスタマイズできますか?
もちろんです。ギャラリーのすべてのサンプルは、ChatDiagramのツールで編集できます。任意のサンプルを開き、エンティティの追加・削除やリレーションの変更を行い、プロジェクトに合わせた新しい図をすぐに生成できます。
マルチテナントCRMに必要なエンティティは?
代表的なエンティティには、Tenant(組織)、User(ログインアカウント)、Contact(人物)、Account(企業)、Lead、Opportunity、Deal、Activityがあります。Tenantエンティティがマルチテナント構造の中心となり、他のすべてのテーブルに関連付けられます。
テナントごとに別々のテーブルを作るべきですか?
従来型のマルチテナント設計では、通常は使用しません。代わりに、判別用カラム(tenant_id)を持つ共通のテーブルセットを使い、データを論理的に分離します。テナントごとに別テーブルを作ると、保守やスケーリングが複雑になるため、ER図を見ると共通テーブル方式の方がすっきり設計できる理由が分かります。