首页 / 知识
关于国际化:将国际地址存储在数据库中的“最佳”方法是什么?
2023-04-13 00:34:00

What is the “best” way to store international addresses in a database?在数据库中存储国际地址的"最佳"方法是什么? 以模式的形式回答,并解释为什么选择标准化(或不标准化)您的方式的原因。 还要说明为什么选择每个字段的类型和长度。 注意:您可以决定需要哪些字段。 纯格式文本。 验证世界上所有邮政编码都太难了;固定的国家清单在政治上过于敏感;强制性的州/地区/其他行政区划完全是不合适的(我经常被问到我住在哪个县,而不是,因为大伦敦根本不是一个县)。 更重要的是,这完全没有必要。您的应用程序极不可能以任何严肃的方式对地址进行建模。如果您想要一个邮政地址,请询问该邮政地址。大多数人都不会傻,除了邮寄地址外,别无他法,如果这样做,他们可以再见亲吻新购买的物品。 例外情况是,如果您执行的操作自然限制在一个国家/地区。在这种情况下,您应该要求输入{邮政编码,门牌号}对,这足以识别邮政地址。我想您可以在美国使用扩展的邮政编码来实现类似的目的。 过去,我在其网站上的ups / fedex送货地址表格之后对需要国际化的表格进行建模(我想如果他们不知道如何处理国际订单,我们都会被抽空)。他们使用的字段可用作设置架构的参考。 通常,您需要了解为什么要地址。是否用于运输/邮寄?那么实际上只有一个要求,将国家分开。其他行是自由格式,由用户填写。原因是邮件的常见转发策略:外国的任何传入邮件都被转发而无需查看其他地址行。因此,仅由位于该国家/地区本身的邮件分拣器来解析详细信息。像接收者一样,他们会熟悉国家惯例。 (UPS可能将一些小的欧洲国家聚集在一起,例如,所有的低谷国家都可以从比利时获得服务-这个想法仍然成立。) 不要给Facebook不当的尊重。但是,每天启动的许多Web应用程序似乎都忽略了数据库的整体结构。显然,我认为没有一种费力的工作就无法找到一种完美的解决方案来覆盖地址结构中的所有潜在变量。也就是说,结合自动完成功能,Facebook可以获取位置输入数据并消除其大部分冗余条目。他们通过充分组织数据库来以低成本,低错误的方式向客户端实时提供自动完成信息,从而使他们或多或少地从现有列表中选择正确的位置。 我认为最好的解决方案是访问包含您想要的地理范围的第三方数据库,并使用它最初为您的用户位置信息添加种子。这将使您避免创建自己的程序。运气好的话,您可以允许新用户直接从第三方供应商处接收正确的自动填充信息,从而减轻服务器的负载。最终,您将能够从用户输入数据中包含在您自己的数据库中的信息中,为位置信息(如城市,国家等)填充大多数自动填充功能。 我认为添加国家/城市和地址文字会很好。国家和城市应该分开报告。经理总是要求您提供这些您不期望的报告,我不希望通过大型数据库运行LIKE查询。 您需要提供有关计划如何使用数据的更多详细信息。例如,诸如"城市","州","国家/地区"之类的字段可以是单个表中的文本,也可以是使用外键链接到单独表的代码。 最简单的是
Address_Line_01(必填,非空白) 以上所有内容都可以是具有适当字段长度的Text / Unicode。 电话号码(如适用)。 |
最新内容
相关内容
python中获取路径的三种方法
python中获取路径的三种方法,工作,代码,情况,培训,下来,路径,文件,也就是,桌面,目录,python中获取路径总结下来分为三种情况:1、获取工作目录python是解释型吗?
python是解释型吗?,工作,平台,培训,解释性,虚拟机,语言,高层次,源码,脚本语言,之前,python是一种跨平台的计算机程序设计语言。是一个高层次python列表有哪些常用方法?
python列表有哪些常用方法?,位置,方法,培训,列表,语法,元素,示例,对象,以上,参数,列表是最常用的Python数据类型,它可以作为一个方括号内的逗Python如何创建对象,有哪些方法
Python如何创建对象,有哪些方法,培训,对象,方法,内容,函数,属性,所在,以上,以下,功能,以下介绍Python创建对象的9种方法。classPoint:def__iniPython静态函数和普通方法的区别
Python静态函数和普通方法的区别,培训,方法,静态,区别,实例,函数,属性,结果,例子,下面,下面通过一个例子,讲解Python静态函数、普通方法、类方python中什么是类方法
python中什么是类方法,培训,方法,实例,静态,定义,参数,函数,内部,变量,属性,python中的类方法,指的是在类中定义的函数,函数在类的内部称为方法python看类里有哪些方法
python看类里有哪些方法,信息,员工,培训,名称,方法,函数,冒号,字符串,语句,结尾,python使用class语句来创建一个新类,class之后为类的名称并以python怎么调用方法
python怎么调用方法,系统,培训,方法,参数,法名,定义,列表,实例,以上,函数,python调用的方法类的方法的定义1、定义一个类deffun_name(self,..python对象与方法的区别是什么
python对象与方法的区别是什么,地址,数据,培训,对象,函数,类型,字符串,方法,表示,身份,python使用对象模型来存储数据,也就是说构造任何类型的python调用方法必须实例化么
python调用方法必须实例化么,代码,培训,方法,静态,工厂,参数,程序,对象,实例,定义,python类中的实例方法和静态方法,在调用时,是有区别的。静态python调用本类方法
python调用本类方法,培训,方法,定义,静态,实例,关键字,以上,更多,内容,python如何调用本类方法要想调用类中的方法,首先要定义一个类,python中python解释器写代码如何换行
python解释器写代码如何换行,代码,培训,方法,示例,字符串,斜杠,行书,括号,有用,下面,使用以下方法可以使Python的代码换行:用反斜杠链接多行代