在数据库中以一致和全面的方式存储地址是否有任何最佳实践(甚至是标准)?

更具体地说,我认为现阶段地址存储有两种情况:

  • 您只需将地址与人、建筑物或任何项目相关联(最常见的情况).那么包含文本列(地址1、地址2、邮政编码、城市)的平面表可能就足够了.这不是我感兴趣的案子.
  • 你想对你的地址进行统计:在特定的街道、城市或...然后你要避免任何拼写错误,并确保一致性.我的问题是关于这种特定情况下的最佳实践:建立一致地址数据库模型的最佳方法是什么?

针对特定国家的设计/解决方案将是一个极好的开端.

ANSWER:这个问题似乎还没有一个完美的答案,但是:

  • xAL,作为suggested by Hank,是最接近突然出现的全球标准的东西.不过,这似乎有些过头了,我不确定有多少人会想在他们的数据库中实现它...
  • 要开始自己的设计(针对特定的国家),Dave's linkUniversal Postal Union(万国邮联)站点是一个很好的起点.
  • 至于法国,有一个地址规范(非官方的,但事实上的标准),它有一个可爱的名字UPUA107&ts=1843530&CLE_ART=FA047725" rel="noreferrer">AFNOR XP Z10-011(仅限法语),并且必须付费.对法国的UPU描述就是基于这一规范的.
  • 我碰巧找到了瑞典的同等标准:SS 613401.
  • 在欧洲层面,已经做出了一些努力,形成了标准EN 14142-1.可通过CEN national members获得.

推荐答案

按照您的建议,我会使用Address表,并且我会以xAL跟踪的数据为基础.

Database相关问答推荐

如何在Ballina中的事务失败时回滚缓存插入操作

如何在保持相同 Flyway 校验和的同时更正语法?

使用 noSQL 和 MongoDB 在数据库中存储任何类型文件的最佳方法是什么

任何必要的可空外键示例?

java嵌入式库磁盘键值数据库

add_index 到数据模型 - Ruby on Rails 教程

在 PostgreSQL 的数组列中查找字符串

MySQL 慢查询日志(log) - 慢有多慢?

如何识别 DB2 端口号

PostgreSQL 是否对只读事务进行了一些性能优化

库存数据库的最佳 struct

如何在 DB2 的单个更新语句中更新多个列

是否可以在ORDER BY子句之后放置任何可能造成安全风险的内容?

更新列的子字符串

nvarchar (50) 与 nvarchar (max) 的含义

postgresql 在 where 子句中使用 json 子元素

如何使用 INSERT ... ON CONFLICT ... 更新所有列?

有人可以详细解释 SOLR requestHandlers 和 responseWriters 吗?

PHP 可以与 MS SQL 数据库一起使用吗

是否有任何支持协议缓冲区的数据库?