database - 在数据库中存储国际地址的 "best"方式是什么?

标签 database internationalization globalization street-address

在数据库中存储国际地址的“最佳”方法是什么?以模式的形式回答,并解释你选择规范化(或不规范化)你所做的方式的原因。还要解释为什么选择每个字段的类型和长度。

注意:您可以决定您认为必要的字段。

最佳答案

纯自由格式文本。

验证世界上所有的邮政编码太难了;固定的国家名单在政治上过于敏感;强制性的州/地区/其他行政区划是完全不合适的(我经常被问到我住在哪个县——但我不问,因为大伦敦根本不是一个县)。

更重要的是,这完全没有必要。您的应用程序不太可能以任何严肃的方式对地址进行建模。如果您想要邮政地址,请询问邮政地址。大多数人不会愚蠢到输入邮政地址以外的其他内容,如果他们这样做,他们可以与新购买的元素吻别。

异常(exception)情况是,如果您正在做的事情自然受限于一个国家/地区。在这种情况下,您应该要求 { postcode, house number } 对,这足以识别邮政地址。我想您可以使用美国的扩展邮政编码实现类似的目的。

关于database - 在数据库中存储国际地址的 "best"方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24481/

相关文章:

MySQL非单调查询

java - 在mybatis中传递数据库名称

database - 为什么要使用 ORM?

database - SSDT SQL Server 数据库项目中模式比较的命令行/API?

java - 在java中检测windows系统区域设置

.net - 文化 es-DO 的默认 DateTimeFormat.ShortDatePattern 不正确

java - Tapestry 4.1.2 中的国际化页面属性

javascript - 带有 i18next 的 gettext 样式键和一般工作流

c# - 如何在 ASP.Net Core 1.1 中响应.Cookies.Append()?

c# - linq搜索法语字符