在数据库中存储国际地址的“最佳”方法是什么?以模式的形式回答,并解释你选择规范化(或不规范化)你所做的方式的原因。还要解释为什么选择每个字段的类型和长度。
注意:您可以决定您认为必要的字段。
最佳答案
纯自由格式文本。
验证世界上所有的邮政编码太难了;固定的国家名单在政治上过于敏感;强制性的州/地区/其他行政区划是完全不合适的(我经常被问到我住在哪个县——但我不问,因为大伦敦根本不是一个县)。
更重要的是,这完全没有必要。您的应用程序不太可能以任何严肃的方式对地址进行建模。如果您想要邮政地址,请询问邮政地址。大多数人不会愚蠢到输入邮政地址以外的其他内容,如果他们这样做,他们可以与新购买的元素吻别。
异常(exception)情况是,如果您正在做的事情自然受限于一个国家/地区。在这种情况下,您应该要求 { postcode, house number } 对,这足以识别邮政地址。我想您可以使用美国的扩展邮政编码实现类似的目的。
关于database - 在数据库中存储国际地址的 "best"方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24481/