Mysql SQL架构-默认值为1:Many

Mysql SQL架构-默认值为1:Many,mysql,schema,entity-relationship,Mysql,Schema,Entity Relationship,如何指定1:Many关系的默认值。。。例如,假设一个用户有5个电话号码。。。我需要记录“首选”电话号码。我应该在电话号码记录上使用一个属性来表示首选号码,还是应该使用用户记录的属性(例如,preferred\u phone\u number)作为电话号码表的主键 谢谢 User.preferred\u phone:每个用户都有零个或一个首选号码 Phone.is_preferred:您可以为每个用户提供任意数量的首选号码,而无需选择“最首选”的号码,甚至与任何用户都不相关的“首选号码” 因此,我

如何指定1:Many关系的默认值。。。例如,假设一个用户有5个电话号码。。。我需要记录“首选”电话号码。我应该在电话号码记录上使用一个属性来表示首选号码,还是应该使用用户记录的属性(例如,
preferred\u phone\u number
)作为电话号码表的主键

谢谢

  • User.preferred\u phone
    :每个用户都有零个或一个首选号码

  • Phone.is_preferred
    :您可以为每个用户提供任意数量的首选号码,而无需选择“最首选”的号码,甚至与任何用户都不相关的“首选号码”


  • 因此,我显然会坚持使用#1。

    和User.preferred#u phone将是phone#u numbers表中的主键?ie外键(很抱歉,过度澄清-只是让我的头进入这个东西!)是的,可为空
    用户。首选的\u phone
    是引用
    phone.id
    的外键。这样,您总是指向有效电话(或无电话)。还有一个缺点:您可能会指向与此用户无关的手机。更新时的
    触发器可能会检查这一点。