我有两种用户的数据库。喜欢的东西:数据库:在哪里把外键放在“有”关系?
User:
name: String
email: String
PowerUser
address: String
paypalAcct: String
,每一个用户是User
,但谁签署了延长服务等人也有PowerUser
连接到他们的帐户。我想单独将User
和PowerUser
分开,因为我认为将User
表重新用于已成为PowerUser
的人员会很好,因为他们应该拥有所有正常的东西User
。
这是正确的做法,还是应该将User
字段添加到PowerUser
表中,并且只使用它?
如果是做正确的事,应该User
有一个PowerUser
一个外键指向,还是应该PowerUser
有一个指向User
外键?我想这取决于这些东西应该访问的顺序?在这种情况下,我几乎总是从User
开始,检查是否有相关的PowerUser
,而不是相反。
如果我把User
的外键,那么大量的用户将有一个空外键。如果我将外键放在PowerUsers
中,那么它们将全部填满,但是从User
s到PowerUser
s将需要迭代整个PowerUser
的表格。哪个更好?
-Haoyi