Database 层次数据库结构

Database 层次数据库结构,database,recursive-query,Database,Recursive Query,我正在开发一个本地语言数据库,允许用户搜索押韵词。我尝试开发的系统不仅会搜索押韵词,还会搜索每个搜索项的押韵词。可以达到n级。为了简化,下面是一个示例: 如果我搜索单词“study”,基本的结果集会像血腥一样,伙计,但是我还想搜索每个结果集,以包含每个结果集的押韵词。换句话说,我想得到朋友的朋友的朋友的名单。。。。直到第n级 我知道我可以通过递归查询得到这个结果,但是当数据库增长时,这个查询的响应速度会非常慢 谁能推荐一些好的数据库表结构来帮助我呢 关于我可能会考虑创建一种包含所有可能的押韵变体

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

如果我搜索单词“study”,基本的结果集会像血腥一样,伙计,但是我还想搜索每个结果集,以包含每个结果集的押韵词。换句话说,我想得到朋友的朋友的朋友的名单。。。。直到第n级

我知道我可以通过递归查询得到这个结果,但是当数据库增长时,这个查询的响应速度会非常慢

谁能推荐一些好的数据库表结构来帮助我呢


关于

我可能会考虑创建一种包含所有可能的押韵变体的“查找”表,使用声音的语音表示作为键-这应该是一个合理的可管理大小,例如,在您的示例中,您将在押韵查找中使用声音“udy”的表示。让我们称那张表为“拼音”

在第二个表格中,列出所有要分析或搜索的单词,我们将该表格称为“单词”

在第三个表中,您创建了单词与“拼音”中的一个或多个条目之间的映射,我们称之为“押韵”

设置查找需要更多的考虑,但随着数据库的增长,您的性能也会随之提升,因为这样您就可以搜索“单词”记录的所有“押韵”条目,然后在“押韵”表中找到指向相同“拼音”值的所有映射


如果使用递归结构,我想您很快就会发现它无法扩展。

您看过图形数据库吗?以neo4j为例。