在数据库中存储国际地址的“ 最佳 ”方式是什么? 以模式的形式回答,并解释为什么选择标准化(或不标准化)您的方式。 还解释了为什么选择每个字段的类型和长度。

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

===============>>#1 票数:25 已采纳

简单的自由格式文本。

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

更重要的是,它根本就没有必要。 您的应用程序极不可能以任何严肃的方式建模地址。 如果您想要邮寄地址,请询问邮寄地址。 大多数人并不是那么愚蠢到不能放入邮寄地址以外的其他东西,如果他们这样做,他们可以亲吻他们新购买的物品。

例外情况是,如果您正在做一些自然受限于一个国家的事情。 在这种情况下,您应该询问,例如,{邮政编码,门牌号}对,这足以识别邮政地址。 我想你可以通过美国的扩展邮政编码实现类似的功能。

===============>>#2 票数:9

在过去,我已经在他们的网站上建立了ups / fedex送货地址表格之后需要成为国际的表格(我想如果他们不知道如何处理国际订单,我们都会被冲洗)。 他们使用的字段可用作设置架构的参考。

===============>>#3 票数:5

通常,您需要了解为什么需要地址。 是运送/邮寄吗? 然后真的只有一个要求,让国家分开。 其他行是自由形式的,由用户填写。 这样做的原因是邮件的常见转发策略:转发任何外国邮件而不查看其他地址行。 因此,详细信息仅由位于国家/地区的邮件分拣机解析。 像接收者一样,他们会熟悉国家的惯例。

(UPS可能将一些欧洲小国聚集在一起,所有的低地国家都可能来自比利时 - 这个想法仍然存在。)

===============>>#4 票数:2

我认为添加国家/城市和地址文本会没问题。 国家和城市应分开报告。 管理员总是要求您提供这些您不期望的报告,我不希望通过大型数据库运行LIKE查询。

===============>>#5 票数:2

不要给Facebook过分的尊重。 但是,在每天发布的许多Web应用程序中,数据库的整体结构似乎被忽略了。 显然,我认为没有一个完美的解决方案可以覆盖所有具有地址结构的潜在变量,而无需付出一些努力。 也就是说,结合自动完成功能,Facebook设法获取位置输入数据并消除大部分冗余条目。 他们通过组织数据库来实现这一点,以便以低成本,低错误的方式实时向客户端提供自动完成信息,从而允许他们或多或少地从现有列表中选择正确的位置。

我认为最好的解决方案是访问包含所需地理范围的第三方数据库,并使用它来初始化您的用户位置信息。 这将允许您避免做创建自己的groudwork。 如果幸运的话,您可以通过允许新用户直接从您的第三方供应商处接收正确的自动填充信息来减轻服务器的负担。 最终,您将能够从用户输入数据中填写您自己的数据库中包含的信息,以填充大多数自动填充功能,以获取城市,国家等位置信息。

===============>>#6 票数:-3

您需要提供有关计划如何使用数据的更多详细信息。 例如,City,State,Country等字段可以是单个表中的文本,也可以是链接到具有外键的单独表的代码。

最简单的是

Address_Line_01(必填,非空白)地址_Line_02地址_Line_03地标城市(必填)Pin(必填)省_District状态(必填)国家/地区(必填)

以上所有都可以是具有适当字段长度的文本/ Unicode。

电话号码(如适用)。

  ask by Ryan Montgomery translate from so

未解决问题?本站智能推荐:

14回复

将邮政地址存储在数据库(RDBMS)中的最佳做法?

在RDBMS中存储邮政地址的最佳实践是否有任何好的参考? 似乎有很多可以做出的权衡,并且每个都有很多优点和缺点需要评估 - 当然这已经一次又一次地完成了吗? 也许有人至少写过一些在某处学到的经验教训? 我所讨论的权衡的例子是将邮政编码存储为整数与char字段,如果房屋号码存储为单独的字
3回复

国际电话和地址数据?

我想这是一个多部分的问题。 我正在建立一个会员网站,并希望尽可能将这些帐户设为国际。 在允许国际号码的表格上收集电话号码的最佳方式是什么? 我不担心存储它们,只是收集和验证。 我现在拥有的是一个下拉列表,其中包含一个国家/地区列表,其中将添加国家/地区代码,然后根据国家/地区代码
1回复

如何在数据库中存储全局地址?

当前,我们具有以下以美国为中心的数据库设计,用于存储地址: 但是现在我知道有些国家不使用任何state_province分类。 现在我们正在改进数据库,还有其他方法可以使该数据库更加国际化吗?
1回复

用Java表示西班牙地址的最佳方法

我已将以下代码编码为代表西班牙的地址。 让我知道是否有更好的方法可以做到这一点,或者是否已经有一个处理i18n地址的开源库。
6回复

以编程方式找到常见的欧洲街道名称

我正在为德国和法国用户设计Web表单。 在此表单中,用户将不得不多次键入街道名称。 我想最大程度地减少用户的烦恼,并根据常见的法语和德语街道名称提供自动填充功能。 知道在哪里可以找到免版税清单吗?
11回复

使用整数列将美国邮政编码存储在数据库中是一个好主意吗?

乍一看,我认为在数据库表中存储邮政编码有两个基本选择: 文本(可能是最常见的),即char(5)或varchar(9)以支持+4扩展 数字,即32位整数 如果我们假设没有国际问题,两者都将满足数据的要求。 在过去,我们通常只是走了文本路线,但我想知道是否有人做相反的事
15回复

在数据库中找到重复的地址,阻止用户尽早输入?

如何在数据库中查找重复的地址,或者在填写表单时更好地阻止人们访问? 我猜越早越好? 有没有什么好方法可以提取街道,邮政编码等,以便可以检测到拼写错误和获得2个注册的简单尝试? 喜欢: 我说的是德国地址...谢谢!
3回复

这个地址数据库有多严重?

我仍然是数据库,规范化等方面的新手,可能需要一些帮助。 在此附上我数据库结构的一部分,我认为我的方法是一个坏主意。 在这里,我们的国家可以划分为不同的省份,所有城市/城镇都在特定的省份之内,还有一个barangay(我猜最接近的Layman术语是District)。 因此,如果您在我们国家
7回复

显示国际货币

全球公认的国际货币展示方式是什么? 例如:20美元,20美元,20美元(美国),20欧元,20欧元等? 如果有很多方法可以显示每种货币,那么显示货币的一般方法是什么?
10回复

在PHP应用程序中实现国际化(语言字符串)

我想构建一个可以处理获取区域设置字符串以支持国际化的CMS。 我计划将字符串存储在数据库中,然后在数据库和应用程序之间放置一个键/值缓存(如memcache),以防止性能下降,从而使每个页面的数据库都能进行翻译。 这比使用带有字符串数组的PHP文件更复杂 - 但是当你有2,000个翻译行