我有这个案子:
UserSettings
实际上不是一个联结表,因为它只有一个FK,它将是唯一的,一个用户UserSettings
。即使UserSettings
是唯一的FK,还是不必要,UserId
UserId
是否会将{{1}}标记为主键?
答案 0 :(得分:2)
UserSettings
理想情况下不应该存在。从逻辑上讲,所有这些都是一个表。
如果您希望保留一个单独的表(可能对性能或体系结构有用),您应该使用相同的主键。换句话说,UserSettings
应该使用FK作为PK。这有利于性能,存储空间和简单性。
答案 1 :(得分:2)
如果您想确保“这将是唯一的”要求,那么您需要将UserID定义为UNIQUE或主键约束。
答案 2 :(得分:2)
除了少数例外,每个表都应该有一个主键。所以,是的,即使它也是外键,我也会把它作为主键。