相关疑难解决方法(0)

国际地理地址应该如何存储在关系数据库中?

鉴于将国际地理地址存储在关系表中的任务,最灵活的架构是什么?地址的每个部分都应该分解到自己的字段中,还是应该更像自由文本?

将不同格式的地址分成不同的表是否有任何意义?例如,有一个表USAAddress,CanadianAddress,UKAddress ...?

database-design street-address

56
推荐指数
5
解决办法
2万
查看次数

如何最好地表示数据库中的地址

可能的重复:
世界上所有地址都有共同的街道地址数据库设计吗?
在数据库中存储国际地址的"最佳"方式是什么?
在数据库中实现一致且全面的地址存储的最佳实践

我目前有四个表,客户,联系人,设施和客户.

每个表都有以下字段:AddressLine1,AddressLine2,City,StateOrProvince,PostalCode.

我想将地址移到一个单独的表中,并且还能够指定地址类型(计费,运输,主要等).

我的解决方案如下:

  1. 从客户,联系人,设施和客户中删除AddressLine1,AddressLine2,City,StateOrProvince,PostalCode.
  2. 创建地址表,其中包含AddressID(PK),AddressLine1,AddressLine2,City,StateOrProvince,PostalCode,LastUpdateUser,LastUpdateTime字段.
  3. 使用字段AddressTypeID,AddressTypeName,AddressTypeDescription,AddressTypeActive,LastUpdateUser,LastUpdateTime创建AddressTypes表
  4. 使用字段CustomerID,AddressID,AddressTypeID,CustomerAddressActive,LastUpdateUser,LastUpdateTime创建CustomerAddresses表
  5. 使用ClientID,AddressID,AddressTypeID,ClientAddressActive,LastUpdateUser,LastUpdateTime字段创建ClientAddresses表
  6. 使用字段ContactID,AddressID,AddressTypeID,ContactAddressActive,LastUpdateUser,LastUpdateTime创建ContactAddresses表
  7. 创建FacilityAddresses表,其中包含FacilityID,AddressID,AddressTypeID,FacilityAddressActive,LastUpdateUser,LastUpdateTime字段

我正在寻找指导,以确定是否有比我设计的解决方案更好的解决方案.大家为什么这么想?

编辑:此时我并不关心美国以外的任何事情,也不关心如何存储街道地址,即街道号码与整个街道地址.我担心数据库设计和表结构的立场.

database-design data-modeling

12
推荐指数
1
解决办法
2万
查看次数