【问题标题】:What is the best data model design for Addresses in database数据库中地址的最佳数据模型设计是什么
【发布时间】:2018-08-06 16:08:11
【问题描述】:

在数据库中保存地址的最佳数据模型设计是什么,一种设计如下:

  1. Countries
  2. Provinces(转至Countries
  3. Cities(转至Provinces
  4. 桌子Addresses(转至Cities),大街栏目
  5. Customer
  6. CustomerAddresses(fk 到Customer 和fk 到Addresses

但是这种设计的问题是,有些客户的地址没有城市,只指定国家,或者为一个客户指定城市,但没有指定省和国家...

解决这个问题的最佳设计是什么?

【问题讨论】:

  • 当你考虑这个问题时,想想你需要如何处理这些数据。面向外部的 UI 将提供什么?内部用户界面呢?您是否需要通过 NCOA(或任何有问题的国家的类似数据库)运行这些地址?根据您现在设置的清洁程度以及数据的清洁程度,这可能会影响群发邮件的成本和折扣。简而言之,您的架构应该围绕预期的未来用途构建。 (不过,我会考虑添加一个邮政编码字段;对于美国,zip+4 可以带来不同的折扣。)

标签: sql-server database database-design entity-relationship


【解决方案1】:
    1- Table Countries
    2- Table Provinces (fk to countries)
    3- Table cities  (fk to Provinces)
    4- Table Addresses (fk to cities,fk to Countries,FK to Provinces,FK to Customers)
    5- Table Customer

现在Addresses的表格会是这样的:

{PK_ID,Customer_ID,Country_ID,Province_ID,City_ID,StreetAddress}

通过这种方式,您可以轻松地将客户地址保存到Addresses 表中

【讨论】:

  • 我认为它不是那么正常化。
  • 是的。您可以验证
猜你喜欢
  • 2011-11-30
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-14
  • 1970-01-01
相关资源
最近更新 更多