我有一个具有地址概念的系统(如邮政地址)。我们有一个地址表,其中包含字段地址 1-4、城市、邮政编码。
我正在尝试找出存储此地址数据的最佳方法,以便可以在用户界面中轻松查询它。用户通常不喜欢有单独的字段(邮政编码除外),因此要求他们在 5 个搜索字段中输入正确的字符串是行不通的。我觉得它需要是一个单一的搜索字段,它将尝试与部分地址进行匹配。
例如
Address1: Flat 23
Address2: Big Towers
Address3: 1 Baker Street
Address4: (Blank)
City: London
PostCode: W1U 6AA
例如,如果想查找“Flat 23 in Big Towers”,我可能想在查询框中输入“23 Big Towers”或“Big Towers 23”,并期望它找到上述内容。但由于字段是分开的,这很难实现。
该应用程序是完全专有的,因此更改地址的存储方式或以多种方式存储它是完全可行的。该应用程序是 C# UI 和 Java 中间层。
有人对如何存储地址和构建搜索 UI + 查询以使其从用户的角度变得简单有任何建议吗?
编辑:添加了一个示例
最佳答案
根据您的示例,您可以有一个生成的字段,用于连接所有其他字段(带有空格分隔符)。然后你可以只查询这个字段而不是其他字段,这样(用你的例子):
生成字段:
Flat 23 Big Towers 1 Baker Street London W1U 6AA
查询:
SELECT
*
FROM
Address
WHERE
GeneratedField LIKE '%searchTerm1%'
AND
GeneratedField LIKE '%searchTerm2%'
AND
GeneratedField LIKE '%searchTerm3%'
关于c# - 存储和查询邮政地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9104125/