更新2013年5月15日 我對問題的理解發生了變化,使我的「標題」不再匹配。我應該關閉並開始一個新的職位? (在StackOverflow社區中處理像這樣的編輯的正確方法是什麼?)。我該如何執行這種關係? (Formerley:是否有這種類型的數據庫結構的名稱?)
以下基本表結構,我怎麼能執行一個關係,其中一個User
可以是Group
的一員,但只有當User
和Group
都與同一個Tenant
?
實體:
租戶:
- ID
- 名稱
用戶
- ID
- fkTenantID
- 名稱
組
- ID
- fkTenantID
- 名稱
UsersInGroup
- fkUserID
- fkGroupID
例如:
我添加2 Tenants
:
ID:名稱
1:TenantA
2:TenantB
我添加1 Group
到每個Tenant
:
ID:TenantID :名稱
1:1:A組
2:2:組B
我添加1 User
至1具有ID TenantA:
ID:TenantID:用戶名
1:1: UserA
如何限制它,以便我無法將UserA添加到GroupB。
如果我用列fkUserID,fkGroupID創建表UsersInGroups
,我無法想象限制它的方式,因此像1:2這樣的記錄將被視爲無效。
謝謝!
Steve
謝謝Marc,顯然你是對的。在發佈之前,我需要花更多時間進行審閱。 – Steve 2013-05-14 23:01:43
關係,約束,依賴關係...我會拿起一本關於SQL Server的書,因爲有很多與你要求的相關的術語 – 2013-05-15 02:19:18
嗨J Lo,謝謝!我不認爲我代表了我想要解決的問題,或者我對SQL Server的理解和體驗。我要編輯這個問題,如果你有時間的話,再看一下。 – Steve 2013-05-15 12:02:37