问题标签 [hierarchical-data]
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.
sql - 处理类别、子类别 - 分层数据的最佳方法是什么?
复制:
如果我有一个客户需要类别、子类别、子子类别等的数据库,那么最好的方法是什么?如果他们只需要三个,并且总是知道他们需要三个,我可以创建三个表 cat、subcat、subsubcat 等。但是,如果他们想要更深入怎么办?我不喜欢这三张桌子,但这是我知道如何做到这一点的唯一方法。
我看过“ sql adjacency list ”,但不知道这是否是唯一可能的方法。我希望输入,以便客户可以拥有任何级别的类别和子类别。我相信这意味着分层数据。
编辑:如果可能的话,希望 sql 能够将列表重新显示出来
谢谢你。
entity-framework - 如何将实体框架与分层数据一起使用?
我正在使用 sql server 中的大型分层数据集 - 使用标准的“EntityID,ParentID”类型的方法建模。整个树中大约有 25,000 个节点。
我经常需要访问树的子树,然后访问挂在子树节点上的相关数据。几年前,我基于表值函数构建了一个数据访问层,在给定子树的根节点的情况下,使用递归查询来获取任意子树。
我正在考虑使用实体框架,但我看不到如何查询这样的分层数据。AFAIK 在 Linq 中没有递归查询,我无法在我的实体数据模型中公开 TVF。
是继续使用存储过程的唯一解决方案吗?有没有其他人解决了这个问题?
澄清:树中的 25,000 个节点是指分层数据集的大小,与对象或实体框架无关。
.net - 将 IHierarchicalEnumerable 绑定到树视图,并指定自定义图像和导航 URL
我有一个实现 IHierarchicalEnumerable 的外部数据源。我正在尝试为我的 TreeView 使用该数据源,但我找不到指定控件应呈现的图像和单个导航 url 的方法(那里有一些业务逻辑)。
我看到的示例都假设 Url 以及 Name 和 Image 字段在数据源中直接可用,但这里不是这种情况。
我尝试创建另一个数据源作为实现这些属性的代理,但这证明比预期的要困难得多(由于 GetHierarchyData().GetChildren())所以我希望有其他方法。
谢谢您的帮助!
sql - SQL笛卡尔连接问题
我有三张桌子
- A:A.pID 主键,A.Name nvarchar(250)
- B:B.pID 主键,B.Name nvarchar(250)
- C: C.pID 主键,C.Name nvarchar(250)
A 和 B 之间存在 am 到 n 关系(lA_B
具有主键的表lA_B.pID
和.pInstanceA
表 A 的.pInstanceB
外键和表 B 的外键)
A 和 C 之间存在 am 到 n 关系(表 Atable lA_C
的主键lA_C.pID
和外键以及表 C 的外键).pInstanceA
.pInstanceB
- A1 与 B1、B2 和 C1 相关
- A2 与 B3 和 C2、C3 相关
- A3 与 B4 相关
- A4 与 C4 相关
- A5没有关系
这是我的 SQL:
这个查询:
返回
现在的问题:-) 如何查询接收
问题是,当我与 B 和 C 进行连接时,结果具有 B C 的所有组合。我怎样才能消除这个?
mysql - 在嵌套集中移动节点
我需要一个在嵌套集中移动节点及其所有子节点的 MySQL 查询。我找到了这个网站,但这个功能看起来很不合逻辑——没有嵌套集合模型universeid
或treeid
在嵌套集合模型中,而且代码本身比感觉需要的要长。我在表中得到的唯一额外列是parent
.
我不能只是删除并再次添加节点,因为它会丢失它的 ID。
oracle - Oracle 分层查询:如何包含顶级父级
我有一个分层查询来跟踪报告结构。这几乎可以工作,只是它没有报告最顶层的节点,可能是因为顶层的人向自己“报告”。
查询是:
这会产生:
我没有达到 4 级,因为它看起来像:
在不更改数据的情况下,有没有办法修改我的查询以便返回所有 4 个级别?目标是得到 empids,所以我可以检查
id in (hierarchical subquery)
顺便说一句,如果我从查询中删除 nocycle,我会收到错误消息。
database - 分层数据模型:邻接表与嵌套集
我有一个产品目录。每个类别由不同数量(深度)的子类别组成。级别(深)的数量是未知的,但我很确定它不会超过 5,6 级别。数据更改比读取要少得多。
问题是:哪种类型的分层数据模型更适合这种情况。该项目基于 Django 框架,应考虑其特性(管理 i-face、模型处理......)。
非常感谢!
php - MySQL父->子查询
我正在使用 mySQL,并且我需要从一个表中选择与另一个表中父-> 子数据层次结构中任何级别的 ID 匹配的数据。
此外,我想用一个写得很好的 SQL 查询来解决这个问题,而不是我的 PHP 代码中的递归函数,因为这个特性会被使用很多。
我确实尝试过搜索,并且偶然发现了许多类似的问题(大多数都已解决),但是没有一个对我有帮助。
为了帮助说明情况,这是我当前的设置
表“文章”:
- article_id
- 类别ID
- ...
表类别
- 类别ID
- parent_id
- ...
我需要从“articles.category_id”为10的“articles”中选择所有文章。但还要从“categories.category_id”10所属的树中接收所有类别的所有文章。
意思是,其中“10”是父母和所有的孩子,向上是10是孩子和所有的父母。
没有递归php函数可能吗?
谢谢你。
c# - 用于生成层次结构的 C# 算法
我有一个看起来像这样的文本文件:
我正在寻找一个通用的 C# 算法,它将从中创建一个对象层次结构。如果您愿意,可以使用“层次化”功能将此数据转换为对象层次结构。
有任何想法吗?
编辑我已经将文件解析为 .NET 对象:
现在我需要将对象实际排列到对象图中。
linq - 使用 LINQ 的分层数据总和?
是否可以使用 .NET 的 LINQ 对分层数据求和?
我的数据类如下所示:
所以我会有一些数据看起来像这样,但树当然可以任意深。
可以通过一个简单的 LINQ 查询将所有金额相加并获得结果 60?