主键和复合唯一索引行为

时间:2015-08-31 03:57:49

标签: sql sql-server membership composite-primary-key

我正在做一个小型的自定义会员制度,而且我遇到了问题。我有这些表(用户,角色,应用程序,成员资格)。

我想这样做:

用户

|UserId | ApplicationId | Username | ...
|1      | 1             | abc      | ...
|1      | 2             | abcd     | ...

"尽管使用了不同的用户名"

,但是多个应用中的用户是相同的

角色

|RoleId | ApplicationId | rolename | ...
|1      | 1             | xxx      | ...
|1      | 2             | xxx      | ...

"在多个应用中扮演相同的角色"

使用userid / roleid主键和userid / roleid-applicationid复合唯一索引我知道系统不允许我在两个应用程序中创建用户。

我尝试使用复合主键,但在制作正确的FK之后会感到头痛,因为会员表也需要识别应用程序(一个用户可以为多个应用程序提供多个凭据)。

最好的方法是什么,如果可能的话?

0 个答案:

没有答案