我有一个需要存储客户数据的数据库,我正在试图找出我需要的表格。到目前为止,我在想这样的事情:
客户表:
地址表:
站点表(需要完成工作的物理站点)
客户将拥有1个联系地址和1个站点地址。两个地址可能相同(如果客户使用商家地址作为联系人)。但是,有时联系地址将与站点地址不同。
我需要两个地址表吗?一个用于客户地址,一个用于站点? 电话应该是一个单独的表,因为我有时会为每个客户存储2个?
答案 0 :(得分:1)
你的设计看起来很不错,尽管你可能想要地址和网站中的id。我不确定您是否需要在客户表中打电话,除非您限制他们可以拥有的号码数量。一个站点是否需要一个地址(我是因为我不确定它是否是一个物理站点vs网站)?我提出这个问题是因为它可以影响设计。如果绑定到地址的唯一实体是客户,那么在地址中使用customer_id是有意义的。但是,如果地址在客户之间共享,或者在站点表中使用,那么我将为其创建连接表。
答案 1 :(得分:1)
您提到用户可以拥有的电话号码是可变的。在这种情况下,我不会像现在这样硬编码有两个电话号码的客户。拥有一个单独的电话号码表可以使这更灵活。
电话表:
答案 2 :(得分:0)
如果您有Customer表和Site表,则可以在其中引用Address表。
这将允许您为客户和站点使用相同的地址或不同的地址。请注意,更新地址将为客户和站点更新地址。
客户表:
网站表:
地址表:
对于电话号码,该表可以处理2个电话号码。你的意思是他们会有2个主要数字,然后交替吗?