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

时间:2008-09-16 07:45:24

标签: .net sql-server regex street-address postal-code

我正在寻找一种能够存储和访问数据库中全局地址的通用模式。可以使用组件或其他技术。必须遵守以下标准......

  • 为每个国家/地区保存地址的每一行
  • Postal codes在保存之前使用正则表达式进行测试
  • 原件的国家/地区保存在其自己的字段中显示数据时,[该地址已格式化](http://en.wikipedia.org/wiki/Postal_address)采用该国家/地区的风格
  • 使用表单输入数据时,标签字段尽可能具有描述性,因此标签必须是原始国家的动态标签。
  • 地址占用的空间最小

2 个答案:

答案 0 :(得分:4)

我会将您推荐给我的博客文章 - A lesson in address storage,原因是不应以当前接受的格式存储地址,并且应该正确规范化!不要懒惰地址存储,它会让你在将来头疼不已!

此外,还有另一个StackOverflow问题询问此问题。标题为How should international geographic addresses be stored in a relational database

答案 1 :(得分:0)

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

这不涉及“尽可能描述”的要求,但一般而言,对数据格式实施更多限制将导致一定百分比的有效地址被拒绝。它还需要比单个varchar列更多的空间。因此,您列出的要求之间始终存在折衷。