我必须将分层树存储到SQL数据库中。在网站上搜索后,我发现了一些解决方案,但我仍需要一些帮助。
简而言之,根据输入信号的类型,树中的位置和时间,我必须将“输入”路由到输出。
为了使它更复杂,我要求它应该与MSSQL server 2005,MySQL和SQL lite一起使用。也许我可以在某个时候删除SQL lite要求,但是现在我必须处理它。
在树上采取的最常见的操作是我必须从下到上搜索根节点,找到附加了一些信息的节点。
在我看来,实现这一点的最简单方法是创建一个包含对父项的引用并首先选择底部节点的表,检查信息是否附加到它;如果没有选择父母并重复。
虽然简单且不需要任何特殊的数据库功能,但它需要许多查询。最多6个级别的节点嵌套将是常见的,预计最多14个级别。
附加到节点的信息包含一段时间(一天/一周)依赖于输入类型和我必须找到的输出之间的链接。下面是一个例子;当“节点4”上的输入1被激活时,我想要找到输出应为“4”,如果在同一节点上激活输入8,则输出应为“0”。
我必须查找有关此类结构的更多背景信息,或者是否有人知道如何为此问题设计数据库结构?
编辑:
为了回应Young Bob的回答,我会做一个测试。但是,如果有人想让我做一个选择(...)如果不存在重复父母,依此类推,我非常感兴趣。
答案 0 :(得分:0)
我建议您阅读Joe Celko关于嵌套集的工作。有关讨论和有用的链接,请参阅SQL - How to store and navigate hierarchies?