问题标签 [hierarchy]

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 投票
6 回答
4259 浏览

php - 单表邻接树

我读过很多人讨论嵌套列表,但我想知道如何在 PHP 中遍历邻接列表/树。

我有一张桌子:id、title、parent_id

我已将所有记录选择到一个名为 $pages 的数组中。

然后使用这个php:

这类作品,但我最终会重复任何子菜单,例如

    • 消息
      • 子新闻
    • 文章
      • 文章
  • 消息
    • 子新闻
  • 文章
    • 文章
  • 子新闻
  • 文章

我尝试将当前 id 添加到通过函数传递的数组中,然后使用 in_array 检查它是否存在,但这样做我并不高兴。

任何帮助将非常感激。

我需要解析整个树,所以不能选择 parent 作为 0

0 投票
7 回答
33763 浏览

ms-access - 是否可以在 Access 中创建递归查询?

我有一张job桌子

根 ParentID 为 0。

是否可以在 Access 中创建查询以查找给定的根job?数据库是没有链接表的 MDB。Access版本是2003。一个job可以有好几级孙子深。

0 投票
4 回答
10763 浏览

sql - 将邻接列表层次结构展平为所有路径的列表

我有一个使用邻接列表模型存储层次信息的表。(使用自引用键 - 下面的示例。此表可能看起来很熟悉):


将上述数据“展平”成这样的最佳方法是什么?


每一行都是通过层次结构的一个“路径”,除了每​​个节点都有一行不仅仅是每个叶子节点)。category_id 列代表当前节点,“lvl”列是它的祖先。当前节点的值也必须在最右边的 lvl 列中。lvl1 列中的值将始终表示根节点,lvl2 中的值将始终表示 lvl1 的直接后代,依此类推。

如果可能,生成此输出的方法将使用 SQL,并且适用于 n 层层次结构。

0 投票
4 回答
2014 浏览

sql - 时间限制层次结构的最佳关系数据库表示

每个人都认为 SQL 中时限层次结构的最佳表示是什么?

我的意思是:
- 在任何给定日期,您都有一个正常的树层次结构
- 这个层次结构可以每天更改
- 每个孩子在任何给定日期仍然只有一个父母

第一天...

第二天...

在任何时候,孩子都可以第一次加入层次结构,也可以完全离开层次结构。(例如,新员工和退休员工。)

主要考虑:

  • 更新层次结构
  • 查看整个日期范围内的整个层次结构
  • 报告层次结构中的整个子树
  • 跨日期范围报告整个子树

我知道我目前是怎么做的,但我很想知道其他人会怎么做:)

编辑

我天真地假设了一些考虑因素,所以会更明确......

  • 每个“团队”或“个人”在其他地方的维度表中都有一个唯一的 ID
  • 其他事实表将使用这些 ID(例如,存储性能指标)
  • 该结构需要促进跨日期范围的历史报告
  • 使用 ETL 或触发器来维护替代结构是一种选择

通用性是最重要的(仅形成通用关系模式的一部分),并结合了易于使用的驱动报告(适用于任何日期范围内的树的任何部分)和可靠更新的能力。

0 投票
4 回答
2510 浏览

list - 层次视觉设计

我有一个类别层次结构,其中一个类别可以有一个父级(并且您可以有多个级别的子级。)

我正在研究向用户显示此信息的方法,似乎基本的香草树布局是最直观的方式。但我想知道是否有人可以提出其他方法。

要求是,

1)向用户清楚地展示列表的父/子关系 2)允许用户轻松移动项目(无论是通过拖放还是其他方法) 3)假设您有具有多个父级的层次结构数据,这将如何改变你的选择?

谢谢大家!- 凯文

0 投票
4 回答
3624 浏览

sql - 组织结构图的 SQL 查询?

我觉得这可能是一个常见问题,但从我的谷歌搜索中,我找不到与我的问题一样具体的解决方案。

我的数据库中有一个组织(表)列表,我需要能够根据它们的层次结构运行查询。例如,如果您查询最高组织,我想返回该组织下列出的所有组织的 ID。此外,如果我查询一个中等规模的组织,我只想要在该组织下列出的组织 ID。

a) 设置数据库模式和 b) 查询的最佳方法是什么?我只想发送最顶层的组织 ID,然后获取该组织下的 ID。

我认为这是有道理的,但如果有必要我可以澄清一下。

0 投票
3 回答
6743 浏览

sql-server-2005 - 多父树(或有向图)实现 sql server 2005

我需要在 SQL Server 2005 上实现一个多父树(或有向图)。我已经阅读了几篇文章,但其中大多数都使用具有唯一根的单父树,如下所示。

在这一个中,一切都来自一个根元素(我的电脑)。

就我而言,一个孩子可能有多个父母,如下所示:

所以我有以下代码:


它返回以下 SET:

预期结果集:

请注意,缺少 G->B 关系,因为它要求一个起始对象(这对我也不起作用,因为我从一开始就不知道根对象)并且使用 A 作为起点将忽略G->B 关系。

因此,此代码在我的情况下不起作用,因为它要求一个起始对象,这在单父树中很明显(将始终是根对象)。但是在多父树中,您可能有多个“根”对象(如在示例中,G 和 A 是“根”对象,其中根是没有父对象(祖先)的对象)。

所以我有点卡在这里......我需要修改查询以不要求起始对象并递归遍历整个树。我不知道 (Id, NextId) 实现是否有可能...可能我需要使用某种发生矩阵、邻接矩阵或其他任何东西将它存储为图形(请参阅http://willets.org/ sqlgraphs.html)。

有什么帮助吗?你们觉得怎么样?非常感谢您的宝贵时间 =)

干杯!

来源: 来源 1 来源 2 来源 3

0 投票
5 回答
1295 浏览

c# - 处理常见的递归函数

我注意到在我的项目中,我们经常编写递归函数。

我的问题是:有没有办法为使用递归迭代的每个层次结构创建递归函数作为通用函数?

也许我可以使用一个委托来获取递归的根和结束标志?

有任何想法吗?

谢谢。

0 投票
2 回答
4382 浏览

php - How to print list using hierarchical data structure?

When I run this code:

I get well formatted text like:

But I want to create a list with <ul><li>...:

I tried with:

But I have some extra ul tags and so on. I lost 2 days on this so if you can help me please post here...

0 投票
5 回答
6838 浏览

database - 分层数据模型:邻接表与嵌套集

我有一个产品目录。每个类别由不同数量(深度)的子类别组成。级别(深)的数量是未知的,但我很确定它不会超过 5,6 级别。数据更改比读取要少得多。

问题是:哪种类型的分层数据模型更适合这种情况。该项目基于 Django 框架,应考虑其特性(管理 i-face、模型处理......)。

非常感谢!