当前位置: 首页 > 面试题库 >

在SQL数据库中存储地址的最佳实践/标准

陆子石
2023-03-14
问题内容

我想知道是否存在某种“标准”用于在数据库中存储美国地址?看来这是一项常见的任务,应该有某种标准。

我正在寻找的是数据库表应如何工作和交互的 特定 模式,已经是第三种标准形式,包括数据类型(MySQL)。一个好的UML文档将起作用。

也许我只是在偷懒,但这是一个非常常见的任务,而且我确信有人发布了在某处进行此操作的有效方法。我只是不知道在哪里寻找,而Google并没有帮助。请指出我的资源。谢谢。

编辑

尽管这更是一个普遍的问题,但我想澄清一下我的具体需求。

地址将用于指定事件地点的道路地址。这些地址必须采用最好能被分解和搜索的格式,并且最终被我的数据源链接到的任何第三方应用程序都将使用这些地址。

也。数据将在输入时经过地理编码(长,纬度)并分别存储,因此,无论哪种地理编码器/应用程序/库,数据都必须符合(尚未确定)协议。


问题答案:

http://www.upu.int具有国际地址的格式标准。http://usps.com上的出版物28
具有美国格式标准。

USPS希望将以下未标点的地址部分串联在一起:

* house number
* predirectional (N, SE, etc)
* street
* suffix (AVE, BLVD, etc)
* postdirectional (SW, E, etc)
* unit (APT, STE, etc)
* apartment/suite number

例如:102 N MAIN ST SE APTB。

如果将整个地址行都保留在数据库中的单个字段中,则输入和编辑都很容易,但是搜索可能会更加困难(例如,在SOUTH EAST LANE是S EAST
LN中的街道EAST还是LANE as在SE LANE ST?)。

如果您将地址解析为单独的字段,则搜索街道名称或公寓之类的组件会变得更加容易,但是您必须将所有内容附加在一起以进行输出,您需要CASS软件才能正确解析,并需要邮政信箱,乡村路线地址和APO
/ FPO地址具有特殊的解析。

在该位置具有多个地址的物理位置是一个多单元建筑物,在这种情况下,APT和STE等单元之后的字母/数字指定地址,或者是商业邮件接收机构(例如UPS商店)和一个投递箱/专用邮箱附加号码(例如100
MAIN ST STE B PMB
102),或者这是一家拥有一个USPS传递点的公司,并且在USPS传递后路由邮件(通常需要公司可能需要一个单独的mailstop字段,但USPS不需要在地址行上)。

具有多个实际地址的联系人通常是具有街道地址和邮政信箱的企业或个人。请注意,每个地址通常都有不同的邮政编码。

一项业务交易通常具有送货地址和账单地址(同样,具有不同的邮政编码),这是非常典型的。我保留的每个地址的信息是:

* name prefix (DR, MS, etc)
* first name and initial
* last name
* name suffix (III, PHD, etc)
* mail stop
* company name
* address (one line only per Pub 28 for USA)
* city
* state/province
* ZIP/postal code
* country

我通常会在人名和公司之间的某个地方打印邮件站点,因为该国家/地区包含州/邮编,该州/邮政编码包含城市,该城市包含的地址包含该公司,该公司包含一个包含该人的邮件站点。输入或编辑时,我使用CASS软件来验证和标准化地址。



 类似资料:
  • 问题内容: 我的角度应用程序有2个控制器。我的问题是,当用户离开页面时,控制器不会保留数据。 如何将所选控制器上的选定数据存储到数据存储中,以便可以在其他控制器之间使用? 问题答案: 选项1-自定义 您可以利用专用的角度服务在控制器之间存储和共享数据(服务是单实例对象) 服务定义 在多个控制器中的用法 选项2-HTML5 您可以使用内置的浏览器本地存储并从任何地方存储数据 写作 读 看看这个很棒的

  • 问题内容: 我出于好奇而问这个问题。基本上,我的问题是,当您拥有一个需要行条目才能具有像标志作用的事物的数据库时,最佳实践是什么?一个很好的例子就是堆栈溢出的标志,或者是bugzilla中的操作系统字段。可以为给定条目设置标志的任何子集。 通常,我会进行c和c ++的工作,因此我的直觉反应是将无符号整数字段用作一组可以翻转的位…但是我知道,由于多种原因,这不是一个好的解决方案。其中最明显的是可伸缩

  • 我开始创建一个系统,我(作为目前唯一的用户)将加载一个动态创建的PHP页面,该页面具有

  • 问题内容: 在我国,在线支付并不是一件老事,去年我第一次看到一个网络应用程序直接向本地银行帐户进行支付。 因此,我是一个新手编码的网络支付系统。 我的问题是,将信用卡信息存储到数据库中的最佳实践是什么? 我有很多想法:加密信用卡,数据库安全性限制等。 你做了什么? 问题答案: 不要做 只是涉及太多的风险,通常需要对您进行外部审核,以确保您遵守所有相关的当地法律和安全规定。 有许多第三方公司为您执行

  • 我正在开发一个非常繁忙的Web服务,它应该每秒收到数千个请求。我希望每个请求都会更新一个计数器字段。我该怎么做?将计数器保存在数据库中非常重要,因此在服务器死亡的情况下,我不会丢失信息。我已经尝试了以下代码,但这将是一个巨大的瓶颈,每秒数千个请求。你会怎么做?

  • 问题内容: 我正在开发一个J2ME应用程序,该应用程序具有要存储在设备上的大量数据(大约1MB,但是可变)。我不能依靠文件系统,所以我卡住了记录管理系统(RMS),该系统允许多个记录存储,但每个记录存储空间都有限。我最初的目标平台Blackberry将每个限制为64KB。 我想知道是否还有其他人必须解决在RMS中存储大量数据的问题,以及他们如何进行管理?我正在考虑必须计算记录大小并在多个存储区中拆