次のテーブルは既に設計されています。
新しい要件は、すべてのテナントのカテゴリを表示する必要があることです。また、各テナントは新しいカテゴリをマスター カテゴリに追加できる必要があります。そのため、すべてのマスターと特定のカテゴリを確認できます
テナント表
TenantId
Name
グループテーブル
GroupId
Name
カテゴリー表
CategoryId
Name
テナント X カテゴリ
TenantId
CategoryId
それを達成するために、上記の表でどのような変更を加えることができますか? 私はこれを以下で試しました
カテゴリ表を以下に変更。
カテゴリー表
CategoryId
Name
TenantId NULL // This indicates tenant specific category
TenantId と Name の一意のキーを追加します
次に問い合わせた
SELECT *
FROM Category where TenantId = 1
UNION
SELECT *
FROM Category where TenantId IS NULL
しかし問題は、2 つのテナントが特定のカテゴリのみを表示したい場合、Category テーブルに他の TenantId を含む新しい行を追加する必要があることです。これは、ルックアップ テーブルに重複するエントリを作成していることを意味します。新しい要件を達成するための提案はありますか?