对于在 RDBMS 中存储邮政地址的最佳实践,是否有任何好的引用资料?似乎可以做出很多权衡取舍,并且对每个权衡利弊进行评估 - 当然这已经一次又一次地完成了吗?也许有人至少在某处写下了一些经验教训?
我正在谈论的权衡示例是将邮政编码存储为整数而不是字符字段,门牌号是否应该存储为单独的字段或地址行 1 的一部分,套房/公寓/等号码是否应该标准化或只是作为一大块文本存储在地址行 2 中,您如何处理 zip +4(单独的字段或一个大字段,整数与文本)?等等
此时我主要关心美国地址,但我想还有一些最佳实践可以帮助您为走向全局的可能性做好准备(例如,适本地命名字段,例如区域而不是州或邮政编码而不是 zip 等
最佳答案
对于更多的国际用途,要考虑的一种模式是 Drupal Address Field 使用的模式。 .它基于 xNAL standard , 似乎涵盖了大多数国际案例。深入研究该模块将揭示一些用于解释和验证国际地址的好方法。它还有一套很好的行政区域(省、州、州等),带有 ISO 代码。
这是模式的要点,从模块页面复制:
country => Country (always required, 2 character ISO code)
name_line => Full name (default name entry)
first_name => First name
last_name => Last name
organisation_name => Company
administrative_area => State / Province / Region (ISO code when available)
sub_administrative_area => County / District (unused)
locality => City / Town
dependent_locality => Dependent locality (unused)
postal_code => Postal code / ZIP Code
thoroughfare => Street address
premise => Apartment, Suite, Box number, etc.
sub_premise => Sub premise (unused)
我的经验教训:
- 不要存储任何数字。
- 尽可能将国家和行政区域存储为 ISO 代码。
- 当您不知道时,请不要要求填写字段。某些国家/地区可能不会使用您认为理所当然的字段,甚至是
locality
和thoroughfare
等基本内容。
关于database - 在数据库 (RDBMS) 中存储邮政地址的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/310540/