FK你选哪个?
如果 FK 在成员或环境中,它是正确的还是可以互换的。这取决于如何思考这些关系。前任。成员设置或设置成员。如果是MemberSetting,FK 将在member.member_id 中,否则如果是SettingMember,FK 将在setting.member_id 中。查询结果完全相同。关系时如何思考。给我会员设置,或者这就是会员的设置。
member
--------
member_id PK FK
username
setting
--------
member_id PK
color
Is it right or interchangeable if FK in member or setting. it dependents how to think the relations. ex. MemberSetting or SettingMember. if MemberSetting, FK will in member.member_id else if SettingMember, FK will in setting.member_id. it totally same result in query. how to think when relations. give me member settings, or thats setting of member.
member
--------
member_id PK FK
username
setting
--------
member_id PK
color
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在一对多关系中,外键应该位于该关系“多”端的表中。
在您的示例中,如果它与我在其中找到
member
和settings
表的其他数据库类似,我希望在settings
中看到外键code>table,因为一个成员可能有很多设置。反之则不然。演示:
以上是如何定义表格的假设示例。通过将外键放入
settings
表中,它会限制settings
表中的行,以便成员中必须存在行
表具有相同的member_id 值。但反之则不一定。即使成员在引用它的settings
表中有零行,它也可以存在。In a one-to-many relationship, the foreign key should be in the table on the "many" side of that relationship.
In your example, if it were similar to other databases where I found tables for
member
andsettings
, I would expect to see the foreign key in thesettings
table, because one member may have many settings. Not the other way around.Demo:
The above is a hypothetical example of how one could define the tables. By putting the foreign key in the
settings
table, it restricts rows of thesettings
table so that a row must exist in themember
table with the same member_id value. But the opposite is not necessarily true; a member can exist even if it has zero rows in thesettings
table that reference it.