现有RDBMS上是否有任何开源分层数据库或仿真?

我正在搜索一个DMB(或插件到现有RDBMS),该DMB可以存储层次数据并允许在层次数据上执行查询(例如“选择级别...连接...”,“选择parent ...”例如)。我知道Oracle有一些支持,但是有更复杂的解决方案吗?

有帮助吗?

解决方案

没有标准化的插件来执行此操作。我看上去不止一次。但是,有许多选项。从我先前关于同一主题的问题中查看:

将层次数据存储在关系数据库中的选项是什么?

简而言之,如果您使用的是带有ID和parentID的表(又称邻接列表),则使用大多数数据库(通过是最值得注意的例外之一)使用的通用表表达式(Oracle's Connect)。 oto,诸如实体路径或嵌套集合之类的东西可能更适合您的情况 - 例如,可以轻松找到具有邻接列表的“谱系”的能力,这是一个昂贵的操作。

通常,最终发生的系统需要与层次数据(例如CMS)进行广泛合作的系统,因为它实现了这些解决方案之一。该假设的读取大量写入。

其他提示

关系数据不能直接以XML固有的层次结构的方式来支持层次结构。您必须使用嵌套集或直接自加入等数据模型来建模层次结构。

取决于您拥有的系统类型 通用表表达式 将让您在数据上运行分层查询。自2005年以来,SQL Server版本支持CTE,最新版本的DB/2和PostgreSQL - 以及可能其他一些系统。 CTE比Connect的cts稍微贴上了一些,但它们确实在各种各样的拼盘上运行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top