マルチテナント SaaS ベースのアプリケーションを開発しており、TenantId 列を使用してすべてのテナント レコードを格納する共有データベースを使用しています。
問題は、すべてのテナントで共有する必要があるルックアップ レコードのリストがあることです。たとえば、ゲームのリスト。
ゲームテーブル
Id
GameName
また、テナント固有のレコードのみを格納するために別のテーブルを使用する
テナントゲームズ
Id
TenantId
GameName
基本的な必要性は、UserGames のような別のトランザクション テーブルに参加しながら、両方のテーブル データを使用して必要な詳細 (Game_Name) を取得することです。このデザインでこれを達成するにはどうすればよいですか? ここで、Game_Name は、Games Shared テーブルまたは TenantSpecificGames テーブルから参照できます。
共通マスター データとテナント マスター データの両方を JOIN で混在させることを可能にする他の DB 設計はありますか?
基本的な要件は、共通のデータを保持し、テナントが新しい項目を追加する場合にテナントのカスタマイズを許可することです。