层次结构数据库结构

时间:2018-04-27 03:24:37

标签: database recursive-query

我正在为本地语言开发一个数据库,允许用户搜索押韵词。我正在尝试开发的系统不仅会搜索押韵词,还会搜索每个搜索项的押韵词。那可以达到n级。为简化起见,以下是示例:

如果我搜索单词'study',基本结果将会像血腥,哥们一样,但我还要搜索这些结果集中的每一个以包含每个结果集的押韵单词。换句话说,我想得到朋友朋友的朋友名单......直到第n级。

我知道我可以通过递归查询得到这个,但是当数据库增长时,该查询的响应速度很慢。

任何人都可以建议一些好的数据库表结构,这对我有帮助。

此致

1 个答案:

答案 0 :(得分:0)

我可能会考虑创建一种"查找"具有所有可能的押韵变化的表格,使用声音的语音表示作为您的密钥 - 这应该是合理的可管理大小,例如在你的例子中,你将有声音的表示" udy"在你的押韵查找中。让我们称那个表"拼音"

在第二张表中,包含您要分析或搜索的所有字词,让我们调用该表格" word"

在第3张表格中,您可以创建单词与"拼音"中的一个或多个条目之间的映射,让我们称之为"押韵"

需要更多考虑设置查找,但随着数据库的增长,您的性能也会扩展,因为这样您就可以搜索所有"押韵" "单词"的条目记录,然后找到相同的所有映射"语音"韵律"中的价值表。

如果你使用递归结构,我认为你会很快发现它无法扩展。