更新 2013 年 5 月 15 日 問題に対する理解が変わり、「タイトル」が一致しなくなりました。これを閉じて、新しい投稿を開始する必要がありますか? (StackOverflow コミュニティでこのような編集を処理する適切な方法は何ですか?)。
次の基本的なテーブル構造を使用して、 aがUser
a のメンバーになることができる関係をどのように強制できますか?Group
User
Group
Tenant
エンティティ:
テナント:
- ID
- 名前
ユーザー
- ID
- fkテナントID
- 名前
グループ
- ID
- fkテナントID
- 名前
グループ内のユーザー
- fkUserID
- fkGroupID
例えば:
私は2を追加しTenants
ます:
ID: 名前
1: テナントA
2: テナントB
Group
それぞれに 1 を追加しTenant
ます。
ID: テナントID: 名前
1:1:グループA
2:2:グループB
User
ID が 1 の TenantAに 1 を追加します。
ID: テナントID: ユーザー名
1: 1: ユーザーA
UserA を GroupB に追加できないように制限するにはどうすればよいですか。
列 fkUserID、fkGroupIDを含むテーブルを作成するUsersInGroups
と、1:2 のようなレコードが無効と見なされるように制約する方法が思いつきません。
ありがとう!
スティーブ