我有两个表
表每个当前员工都有一个条目,并包含每个用户的正确拼写。在给定的时间内,只有80名员工,但名字本身会定期更改。
它看起来有点像这样:
EmployeeID它成为了一种设计选择,无论是在模式中还是在UI中。
- 谁将管理名称
Alias
数据? - 是否有一个用户体验来澄清当一个独特的匹配不能确定?
- 有多少不同的进程需要使用
Alias
? Alias
查找要使用的频率是多少?- 你需要多大程度的确定性,数据有多重要?
如果您希望用户能够管理已知的Alias
或常见的拼写错误,请务必创建一个允许用户(或管理员)管理查找的表(或数组)。
这也归结为场景。如果你需要频繁导入数据,那么你需要一个明确的数据源来匹配,以给你信心,你的过程将工作。
在此场景中,我将根据每个名称的映射Alias
值验证输入,如果无法识别唯一的名称,则失败输入,直到找到唯一的结果,这将迫使DBA、Admin或用户相应地更新Alias
列表。
如果这种情况很少发生,那么在首先解析和修改输入的脚本中管理它可能更简单,而不是将其构建到模式中。然后,当员工列表发生更改或出现新的拼写错误时,您或执行输入的DBA可以管理脚本。
注意不要像这样过度设计解决方案。Levenshtein非常适合根据搜索参数对用户列表进行排序,以帮助用户找到某人,但由于国际化、多元文化以及人们的一般古怪选择,冲突的名称数量或返回错误匹配的数量可能是不可接受的。