使用SQL Server数据库和.NET框架存储和检索邮政地址的最佳方法是什么?

时间:2020-03-05 18:55:21  来源:igfitidea点击:

我正在寻找一种将在数据库中存储和访问全局地址的通用模式。可以使用组件或者其他技术。必须遵循以下条件:

  • 地址的每一行都保存在每个国家/地区
  • 邮递区号在储存前先经过正则表达式测试
  • 原始国家/地区保存在其自己的字段中。显示数据时,地址格式以该国家/地区的样式显示
  • 当使用表格输入数据时,标签字段尽可能具有描述性,因此标签必须相对于原产国是动态的。
  • 地址占用最小的空间

解决方案

回答

如何将地址存储为文本(允许换行)。邮政编码必须使用正则表达式(根据国家/地区下拉列表进行选择)从地址中提取,并应存储在单独的列中。

这不能满足"尽可能描述性"的要求,但总的来说,对数据格式实施更多限制将导致一定百分比的有效地址被拒绝。它也将比单个varchar列占用更多空间。因此,我们列出的要求之间总会有折衷。

回答

我将把我们引到我的博客文章"地址存储中的一课",以说明为什么我们不应该以当前接受的格式存储地址,并且应该对其进行规范化!不要懒于地址存储,它只会让我们日后头疼!

另外,还有另一个StackOverflow问题问这个问题。标题为国际地理地址应如何存储在关系数据库中。