我有一个需要存储客户数据的数据库,我试图找出我需要哪些表。到目前为止,我在想这样的事情:
客户表:
- ID
- 公司名称
- 名
- 姓
- 笔记
- 电话
- 替代电话
地址表:
- 第1行
- 线2
- 镇
- 邮政编码
站点表(需要完成工作的物理站点)
- 网站名称
- 笔记
一个客户将有 1 个联系地址和 1 个以上的站点地址。这两个地址可能相同(如果客户使用公司地址作为联系人)。但是,有时联系地址与站点地址不同。
我需要两个地址表吗?一个用于客户地址,一个用于站点?电话也应该是一个单独的表,因为我有时会为每个客户存储 2 个?
我有一个需要存储客户数据的数据库,我试图找出我需要哪些表。到目前为止,我在想这样的事情:
客户表:
地址表:
站点表(需要完成工作的物理站点)
一个客户将有 1 个联系地址和 1 个以上的站点地址。这两个地址可能相同(如果客户使用公司地址作为联系人)。但是,有时联系地址与站点地址不同。
我需要两个地址表吗?一个用于客户地址,一个用于站点?电话也应该是一个单独的表,因为我有时会为每个客户存储 2 个?
您的设计看起来不错,尽管您可能希望在地址和站点中添加一个 id。我不确定您是否要在客户表中使用电话,除非您限制他们可以拥有的号码数量。站点是否需要地址(我只问是因为我不确定它是物理站点还是网站)?我提出这个是因为它会影响设计。如果与地址相关联的唯一实体是客户,那么在地址中有一个 customer_id 是有意义的。但是,如果地址在客户之间共享,或者在站点表中使用,那么我会为它制作连接表。
您提到用户可以拥有的电话号码数量是可变的。在这种情况下,我不会像您现在那样对拥有两个电话号码的客户进行硬编码。拥有一个单独的电话号码表将使这更加灵活。
电话表:
如果您有 Customer 表和 Site 表,您可以在其中引用 Address 表。
这将允许您为客户和站点使用相同的地址或不同的地址。请注意,更新地址将同时更新客户和站点的地址。
客户表:
网站表:
地址表:
至于电话号码,该表已经可以处理 2 个电话号码。你的意思是他们会有2个主号码,然后交替?