问题标签 [transitive-closure-table]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
112 浏览

mongodb - 在保持读/写性能的同时超过 NoSQL 项目大小限制

我需要一种方法来超越 NoSQL 文档项大小限制,同时保持读/写性能。

所有 NoSQL 实施都有文档项大小限制(例如 AWS DynamoDB 为 400KB,MongoDB 为 16MB)。此外,文档项大小越大,文档的检索就越慢。读取、写入、更新和删除性能在我的实现中很重要。

我已经在使用 NoSQL 数据库,并且我使用的文档具有四个级别的树结构(该文档描述了不同大小和复杂性的矢量图)。树的每个节点都是一个组件,它有一个 ID 和一个引用以下组件的主体。可以对整个树或树的部分执行读取和更新。

我考虑过切换到图形数据库,但它们已针对查询图形中的关系进行了优化。我需要一种简单且高性能的方式来存储扩展树文档而不是处理图形。

我在想我需要在 NoSQL 中实现Closure Table结构,以将树节点拆分为单独的组件,从而打破文档大小的障碍。在客户端,具有延迟加载的 ORM(对象关系映射器)将根据需要检索文档树节点。

我的问题是:

  • 这以前是否已实施?
  • 是否有另一种方法来获得上述功能?

如果您需要这样的功能,请对此表示赞成,以便更多的出口可以回答这个问题。

0 投票
0 回答
53 浏览

android - 如何在房间数据库中使用递归 CTE 构建闭包表

下面的类是从 API 调用返回的结构,减去 primaryKey、parentId 和 depth。我的目标是使用递归 CTE 在 Room DB 中构建一个闭包表。

当返回的 POJO 从可观察对象发出时,我尝试遍历树。问题在于 categoryId==parentId 的某些传递闭包的深度不正确。

那么...如何使用递归 CTE 在 Room DB 中构建闭包表?

0 投票
0 回答
79 浏览

python - 在 sqlalchemy 中制作 Closure 表时出现 sqlalchemy.exc.NoForeignKeysError

我在数据库中有三个表。
任务表是

idTask 任务 后代ID
1 1+2+3+4 4
2 6+7+8+9 4

类别表是

id_c 名称类别
1 数学
2 代数
3 进步
4 编号规则

Closure_table_category 是

祖先 后裔 深度
1 1 0
1 2 1
1 3 2
1 4 3
2 2 0
2 3 1
2 4 2
3 3 0
3 4 1
4 4 0

我需要在 Flask 中上课。我试着写:

我得到一个错误:

我应该如何解决这个问题?

0 投票
1 回答
65 浏览

mysql - 如何只获取第一级深度子节点?

我正在使用树存储。封闭表模式。

https://towardsdatascience.com/closure-table-pattern-to-model-hierarchies-in-nosql-c1be6a87e05b

如何获得没有孙子和曾孙的子节点?例如,从祖先 C,得到后代 G、H 和 F。

在此处输入图像描述

下面我以 Closure Table 数据库为例。

数据库关闭表

0 投票
1 回答
71 浏览

mysql - 如何获得没有孙子和曾孙的子节点?封闭表模式

我正在使用树存储。封闭表模式。

https://towardsdatascience.com/closure-table-pattern-to-model-hierarchies-in-nosql-c1be6a87e05b

如何获得没有孙子和曾孙的子节点?

在此处输入图像描述

我有一个 sql 查询:

它返回一棵完整的后代树,包括孙子和曾孙。

我需要归还没有孙子和曾孙的孩子。

怎么做?

数据库测试

0 投票
0 回答
58 浏览

typescript - @Tree('closure-table') 实体的 TypeORM 迁移文件

有没有办法为上述实体生成 TypeORM 迁移文件?我在文档中找不到它。

0 投票
1 回答
111 浏览

c# - 如何从闭包表重建树层次结构(Entity Framework Core 5)

我很难为 dto 构建树层次结构。树层次结构被捕获在具有深度的闭包表中。闭包表是使用数据库中的触发器构建的,并且没有关系映射到 EF 中的 Teams 表。

这是我的基本类结构:

闭包表的结构如下:

EF 定义如下:

对此进行查询时,我能做的最好的事情就是在第一级填充 subTeams。我正在使用 AutoMapper,但不喜欢 AutoMapper 解决方案。

我获取与用户相关的团队列表的查询(已经在 teamMemberships 列表中捕获,_mapper 是 AutoMapper 注入,_context 是我的数据库上下文注入)如下所示:

我需要以某种方式递归地拉出 SubTeams,以便在 Dto 中建立完整的树。我在想可能有一个引用闭包表的查询可以做到这一点。以 json 格式发送的 dto 应如下所示:

非常感谢任何见解。

0 投票
1 回答
38 浏览

mysql - 如何从表中获取所有没有父节点的节点?

如何从表中获取所有没有父节点的节点?

我正在使用(闭包表)模板。

我需要获取所有没有父节点的节点。

考虑每个节点都引用自己的事实。也就是说,每个节点本身都是与其自身相关的父节点和子节点。

它看起来像这样。

在此处输入图像描述

下面我展示了一个测试数据库。

或许答案会是这样。

0 投票
2 回答
49 浏览

sql - sql - 在具有多个相同路径的闭包表中删除

我有以下层次结构:

这是我想出的关闭表:

我想删除 and 之间的链接BD因此我想删除 and 之间的链接AD深度之一2)。问题是我不想删除 和 之间的链接,A因为D3没有删除 和 之间的C链接D

目前,这里是列出我要删除的链接的 SQL 语句:

但是这个语句给了我不想删除的行:

0 投票
0 回答
17 浏览

tree - 选择哪种树策略来保存兄弟位置?

在一个节点内,当孩子的位置很重要时,采用哪种树模式(邻接表、物化路径、嵌套集、闭包表等)来存储和获取按这些位置排序的整棵树?就易用性和性能而言,哪个是最好的?

例子

给定这些分层数据:

我希望能够切换给定节点的位置Node 1.1Node 1.2存储新结果。那么获取的更新树应该是: