问题标签 [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.
mongodb - 在保持读/写性能的同时超过 NoSQL 项目大小限制
我需要一种方法来超越 NoSQL 文档项大小限制,同时保持读/写性能。
所有 NoSQL 实施都有文档项大小限制(例如 AWS DynamoDB 为 400KB,MongoDB 为 16MB)。此外,文档项大小越大,文档的检索就越慢。读取、写入、更新和删除性能在我的实现中很重要。
我已经在使用 NoSQL 数据库,并且我使用的文档具有四个级别的树结构(该文档描述了不同大小和复杂性的矢量图)。树的每个节点都是一个组件,它有一个 ID 和一个引用以下组件的主体。可以对整个树或树的部分执行读取和更新。
我考虑过切换到图形数据库,但它们已针对查询图形中的关系进行了优化。我需要一种简单且高性能的方式来存储扩展树文档而不是处理图形。
我在想我需要在 NoSQL 中实现Closure Table结构,以将树节点拆分为单独的组件,从而打破文档大小的障碍。在客户端,具有延迟加载的 ORM(对象关系映射器)将根据需要检索文档树节点。
我的问题是:
- 这以前是否已实施?
- 是否有另一种方法来获得上述功能?
如果您需要这样的功能,请对此表示赞成,以便更多的出口可以回答这个问题。
android - 如何在房间数据库中使用递归 CTE 构建闭包表
下面的类是从 API 调用返回的结构,减去 primaryKey、parentId 和 depth。我的目标是使用递归 CTE 在 Room DB 中构建一个闭包表。
当返回的 POJO 从可观察对象发出时,我尝试遍历树。问题在于 categoryId==parentId 的某些传递闭包的深度不正确。
那么...如何使用递归 CTE 在 Room DB 中构建闭包表?
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 中上课。我试着写:
我得到一个错误:
我应该如何解决这个问题?
mysql - 如何只获取第一级深度子节点?
我正在使用树存储。封闭表模式。
https://towardsdatascience.com/closure-table-pattern-to-model-hierarchies-in-nosql-c1be6a87e05b
如何获得没有孙子和曾孙的子节点?例如,从祖先 C,得到后代 G、H 和 F。
下面我以 Closure Table 数据库为例。
数据库关闭表
mysql - 如何获得没有孙子和曾孙的子节点?封闭表模式
我正在使用树存储。封闭表模式。
https://towardsdatascience.com/closure-table-pattern-to-model-hierarchies-in-nosql-c1be6a87e05b
如何获得没有孙子和曾孙的子节点?
我有一个 sql 查询:
它返回一棵完整的后代树,包括孙子和曾孙。
我需要归还没有孙子和曾孙的孩子。
怎么做?
数据库测试
typescript - @Tree('closure-table') 实体的 TypeORM 迁移文件
有没有办法为上述实体生成 TypeORM 迁移文件?我在文档中找不到它。
c# - 如何从闭包表重建树层次结构(Entity Framework Core 5)
我很难为 dto 构建树层次结构。树层次结构被捕获在具有深度的闭包表中。闭包表是使用数据库中的触发器构建的,并且没有关系映射到 EF 中的 Teams 表。
这是我的基本类结构:
闭包表的结构如下:
EF 定义如下:
对此进行查询时,我能做的最好的事情就是在第一级填充 subTeams。我正在使用 AutoMapper,但不喜欢 AutoMapper 解决方案。
我获取与用户相关的团队列表的查询(已经在 teamMemberships 列表中捕获,_mapper 是 AutoMapper 注入,_context 是我的数据库上下文注入)如下所示:
我需要以某种方式递归地拉出 SubTeams,以便在 Dto 中建立完整的树。我在想可能有一个引用闭包表的查询可以做到这一点。以 json 格式发送的 dto 应如下所示:
非常感谢任何见解。
sql - sql - 在具有多个相同路径的闭包表中删除
我有以下层次结构:
这是我想出的关闭表:
我想删除 and 之间的链接B
,D
因此我想删除 and 之间的链接A
(D
深度之一2
)。问题是我不想删除 和 之间的链接,A
因为D
我3
没有删除 和 之间的C
链接D
。
目前,这里是列出我要删除的链接的 SQL 语句:
但是这个语句给了我不想删除的行:
tree - 选择哪种树策略来保存兄弟位置?
在一个节点内,当孩子的位置很重要时,采用哪种树模式(邻接表、物化路径、嵌套集、闭包表等)来存储和获取按这些位置排序的整棵树?就易用性和性能而言,哪个是最好的?
例子
给定这些分层数据:
我希望能够切换给定节点的位置Node 1.1
并Node 1.2
存储新结果。那么获取的更新树应该是: