2013-05-14 65 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

回答

相关问题