2017-08-04 25 views
0

我目前正在研究一个项目,我们有两种类型的用户。如何处理不同类型用户表的主键?

我有一个普通的用户表为他们的User_ID,user_name等所有的数据,这两个用户是相似的。

我在网上看了一遍,发现它共同做出2个独立的表格,只是在这些表格中有所不同。

由于现在我有两个表(A和B),我的主键不能与我的User_ID相同,因为我有2个数据库。如果用户1创建帐户A,它将匹配,但如果用户2创建帐户B,则User_ID为2,而表中的主键为1.

是否最好手动将主键设置为相同作为user_ID?或者处理这个问题的最好方法是什么?

+1

你有一个“普通用户”表。 。 。还有什么?什么是'A'?什么是'B'?什么是“账户A”? “帐户B”?示例数据将确实有助于传达您正在尝试执行的操作。 –

+0

表B应该有一个表A的外键,它应该是主用户表。 – EJP

+0

为什么不为所有用户设置一张表格,并且通过为此目的添加的字段的值来区分它们,例如,用户类型的枚举。 – RichGoldMD

回答

1

我在网上看了一遍,发现它共同做出2个独立的表格,只是在这些表格中有所不同。

我会很惊讶。这不是一个规范化的模式。

我想你应该有一个单一的表空列,否则按this answer here,否则(疯狂)干到底:完全正常化,并有表:一个用户ID表,一个电话 - 没有+地址表和一个电子邮件表,都带有UserID外键,这显然是主要的矫枉过正。如果使用辅助表,则只需从用户标识表中加入用户标识。

你当然不应该有两个用户表可以插入一个新的用户ID。这是不正常的。

相关问题