我有3个表,User,AccessControlKey和AccessControlGroup。用户可以分配到多个产品。 AccessControlKeys可以分配给多个AccessControlGroups。但是,用户不能多次为其分配AccessControlKey,即对于分配给他的多个AccessControlGroup中的用户,AccessControlKey必须在分配给他的AccessContolGroup中是唯一的。
对于accesscontrolkeys和user之间的多对多关系以及accesscontrolkeys和accesscontrolgroups之间的多对多关系,我有两个单独的表。以下是3个表和关系映射表的表描述。如何为用户跨多个AccessControlGroup强制执行唯一的AccessControlKey?
答案 0 :(得分:0)
根据您的说明,我猜测每个User
只有一个AccessControlKey
,并且密钥可以属于多个AccessControlGroup
。
我可能会更改数据结构并将您的User_BelongsTo_AccessControlGroup
更改为User_AccessControlKey
(将User
更改为AccessControlKey
);你可以在这里强制执行唯一性。您仍然可以通过此表和User
访问AccessControlGroup
AccessControlKey_BelongsTo_AccessControlGroup
。