2

我必须将分层树存储到 SQL 数据库中。在网站上搜索后,我找到了几个解决方案,但我仍然需要一些帮助。

简而言之,我的“输入”必须根据输入信号的类型、树中的位置和时间路由到输出。

为了让它更复杂一点,我要求它应该与 MSSQL server 2005、MySQL 和 SQL lite 一起使用。也许我可以在某个时候放弃 SQL lite 要求,但现在我必须处理它。

在树上采取的最常见的操作是我必须从下到上搜索根节点以查找附加了一些信息的节点。

在我看来,实现这一点的最简单方法是创建一个引用父节点的表并首先选择底部节点,检查信息是否附加到它;如果没有选择父母并重复。

虽然简单且不需要任何特殊的数据库功能,但它需要许多查询。最多 6 级节点嵌套将是常见的,预计最多 14 级。

附加到节点的信息包含一些时间(一天/一周的时间段),取决于我必须找到的输入类型和输出之间的链接。下面是一个例子;当“节点 4”上的输入 1 被激活时,我想发现输出应该是“4”,如果在同一节点上激活输入 8,则输出应该是“0”。**图片链接**

我必须在哪里寻找有关这种结构的更多背景信息,或者有没有人知道如何为这个问题设计数据库结构?


编辑:

为了回应年轻鲍勃的回答,我将做一个测试。但是,如果有人有一个想法让我做一个选择(...)如果不存在重复父级,等等在一个查询中我很感兴趣。

4

1 回答 1

0

我建议您阅读 Joe Celko 关于嵌套集的著作。请参阅SQL - 如何存储和导航层次结构?讨论和有用的链接

于 2013-03-20T11:57:48.870 回答