繁体   English   中英

联接表与外键/引用

[英]Join Table vs Foreign Key/Ref

想象一下,我有两个表,它们之间存在一对多的关系。 使用Join表存储关系还是在这些表之一中发布外键更好? 看一下以下两种情况:

Situation A:
Table 1: CreditCard
Table 2: Person

在我看来,将creditCard_id放在Person表中非常有意义

Situation B:
Table 1: Order
Table 2: Person

这次我想将order_id和person_id放入Join表中?

我在上面犯了错误吗? 是否有标准/更好的方法来确定这一点?

对于“一对多”关系,人们通常将外键放入较重的表或“许多”表中。 因此,在您的示例中,同时进入CreditCard和Order表,这样做将删除重复的数据。

想象一下哪个更好:

  • FK转到“许多”表
    表人:
    ID名称
    1个
    2个

    表信用卡:
    ID PEOPLE_ID
    1 1
    2 1

  • FK转到“ 1”表:
    表人:
    ID NAME CreditCard_ID
    1 A 1
    1 A 2
    2 B 3

    表信用卡:
    ID
    1
    2
    3

注意:在第二个示例中,查看ID和名称的重复方式(ID = 1,NAME = A),如果将FK放在错误的表中会发生这种情况。

我要摆三张桌子; 一个包含所有信息(姓名,地址等)的人员表,一个包含所有信息(有效期,安全号码?等)的信用卡表,然后是另一个将其与PersonID和CreditCardID连接起来的表。 但我知道,我仍在上学,请耐心等待别人回答。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM