我是一名程序员,需要一种实用的方法来将世界的街道地址结构存储在数据库中。那么,存储街道地址的最佳且常见的数据库设计是什么?它应该使用简单、查询快速并且能够动态存储世界上所有的街道地址。
可以在一组标准字段中表示来自许多不同国家/地区的地址。命名或编号建筑物所在的命名通道(通道)的基本概念是相当标准的,但有时在中国除外。其他近乎普遍的概念包括:命名定居点(城市/城镇/村庄),可以统称为地点;命名区域并分配字母数字邮政编码。请注意,邮政编码(也称为邮政编码)仅在某些国家/地区为纯数字。如果你真的想通用,你将需要很多字段。
万国邮政联盟 (UPU) 提供许多国家/地区的地址数据标准格式。请注意,UPU 格式保存整个国家/地区的所有地址(精确到可用字段精度),因此它是相关的。如果存储客户地址(仅存储所有可能地址的一小部分),最好使用包含所有字段和每行一个地址的单个表(或平面格式)。
存储地址的合理格式如下:
- 地址行 1-4
- Locality
- Region
- 邮政编码(或邮政编码)
- Country
地址线 1-4 可容纳以下组件:
- Building
- 副楼
- 房屋号码(门牌号)
- 前提范围
- 通道
- 次干道
- 双重依赖局部性
- 次区域
通常只使用 3 条地址线,但这通常是不够的。当然,可能需要更多行来表示正式格式中的所有地址,但逗号始终可以用作行分隔符,这意味着仍然可以捕获信息。
通常数据分析会按地点、地区、邮政编码和国家/地区进行,这些元素对于用户在输入数据时相当容易理解。这就是为什么这些元素应该存储为单独的字段。但是,不要强迫用户提供邮政编码或区域,它们可能不会在本地使用。
地点可能不清楚,特别是地图地点和邮政地点之间的区别。邮政地点是邮政当局认定的邮政地点,有时可能是附近的一个大城镇。然而,邮政编码通常会解决那里的任何问题或差异,以便即使不使用官方邮政地点也能正确投递。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)