更新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