目前我们像这样存储我们的地址数据:
string suiteNumber (ie. unit number)
string streetNumber (building number)
string streetName
string streetDirection (N/NW/S/etc.)
string streetType (rd/st/ave/etc.)
// ... etc. (postal code/city/province/state/country
但是我遇到了(据我所知很常见)在处理和导入地址时解析前 5 个地址部分的问题。
我认为如果街道地址只是一个字符串(数据库中的 varchar),所有这一切都会变得容易得多。
对于为什么我们应该保持原样,我给出了 2 个论据: 1. 当您可以仅搜索街道名称或编号等时,搜索会更容易,但我认为 sql 脚本类似于SELECT x FROM Address WHERE streetAddress LIKE "% INPUT %"; 当然它没有那么快,但它会起作用(并且该搜索的数据集仅针对客户,比我们存储的所有地址的集合要小得多)。
- 目前我们有一个标记公寓的系统 - 如果您发现地址 A 的 1 个人是公寓,我们标记他们,它会搜索该街道编号/街道名称的所有其他人并标记他们(这有时很重要业务需求)
由于地址中有无数异常,我已经将它们全部存储为字符串。
所以我问,是否有特殊原因需要/想要单独存储街道地址部分?