【发布时间】:2011-09-08 04:20:40
【问题描述】:
我正在我的网站上创建一个成员列表,我想让他们通过名字和姓氏或其中之一来查找彼此。问题是一个用户可以有多个名字,比如名字和昵称,一个人也可以有多个姓氏,他们的婚前姓氏和婚后姓氏。
一旦用户填写了他们的姓名和姓氏,每个用户可能有多个姓名和姓氏,例如,可能有一个人有 3 个姓名和 2 个姓氏 - 姓名:Eleonora、Ela、El 和姓氏:Smith、Brown。
然后,如果有人寻找 Ela Brown、Eleonora Brown、Eleonora Smith 或任何其他组合,他们应该找到这个人。
我的问题是,我应该如何在 sql (mysql) 中设置这一切,以便架构和搜索既高效又快速?不想重新发明轮子,所以我求助于专业人士并在这里提出问题。
谢谢大家
附:我想标准的解决方案是有一个用户表、fname 表、lname 表、带有 userid 和 fnameid 的 userfname 表以及带有 userid 和 lnameid 的 userlname 表,但我不确定这是否是最好的方法。或者不搜索会很快......
【问题讨论】: