2013-05-14 84 views
0

更新2013年5月15日 我對問題的理解發生了變化,使我的「標題」不再匹配。我應該關閉並開始一個新的職位? (在StackOverflow社區中處理像這樣的編輯的正確方法是什麼?)。我該如何執行這種關係? (Formerley:是否有這種類型的數據庫結構的名稱?)

以下基本表結構,我怎麼能執行一個關係,其中一個User可以是Group的一員,但只有當UserGroup都與同一個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

+0

謝謝Marc,顯然你是對的。在發佈之前,我需要花更多時間進行審閱。 – Steve 2013-05-14 23:01:43

+0

關係,約束,依賴關係...我會拿起一本關於SQL Server的書,因爲有很多與你要求的相關的術語 – 2013-05-15 02:19:18

+0

嗨J Lo,謝謝!我不認爲我代表了我想要解決的問題,或者我對SQL Server的理解和體驗。我要編輯這個問題,如果你有時間的話,再看一下。 – Steve 2013-05-15 12:02:37

回答