数据库设计最佳实践 - 链接/联结表与多个引用

时间:2015-09-22 10:46:10

标签: database-design relational-database

我将成员资格和人员表与多人关系中的membership_person链接表链接在一起(列:person_id和membership_id)

每个人都可以拥有一个或多个地址,电话和电子邮件。它们存储在单独的表中,例如地址,电话和电子邮件表。

我现在面临的新方案是拥有多个会员资格但他/她更喜欢为每个会员使用不同地址,电话号码和电子邮件的人。

以下是一个例子:

M1 => P1 
   => address-1 
   => phone-1 
   => Email-1

M2 => P1 
   => address-2 
   => phone-2 
   => Email-2

M3 => P1 
   => address-3 
   => phone-3 
   => Email-3

处理上述问题的数据库最佳做法是什么?我应该创建一个单独的链接表,例如membership_address,membership_phone和membership_email?或者只是将address_id,phone_id,email_id添加到现有的membership member_表中?

谢谢:)

1 个答案:

答案 0 :(得分:0)

扩展,以下是一个建议。

:Membership_Person

复合主键(membership_id,person_id,table_id,优先级)

<强>字段

  • membership_id - 引用会员资格表
  • person_id - 引用人员表
  • table_id - 表示电话,地址或电子邮件表格作为此行的引用表格
  • table_entry_id - 引用表的主键
  • 优先 - 此人的首选条目+会员资格+(电话, 地址或电子邮件)