gpt4 book ai didi

sql - 如何用SQL表示数据树?

转载 作者:行者123 更新时间:2023-12-03 06:35:26 25 4
gpt4 key购买 nike

我正在编写一个由 Tree 和 TreeNode 组合而成的数据树结构。树将包含数据的根和顶层操作。我正在使用 UI 库以 Windows 窗体形式呈现树,在其中我可以将树绑定(bind)到 TreeView。

我需要将这棵树和节点保存在数据库中。保存树并获得以下功能的最佳方法是什么:

  1. 直观的实现。
  2. 易于绑定(bind)。将很容易从树移动到数据库结构并返回(如果有的话)

我有两个想法。第一个是将数据序列化到表中的一个行中。第二种是保存在表中,但是当移动到数据实体时,我将丢失更改节点上表上的行状态。

有什么想法吗?

最佳答案

我已为这篇关于 SQL-Antipatterns 的幻灯片添加了书签,其中讨论了几种替代方案:http://www.slideshare.net/billkarwin/sql-antipatterns-strike-back?src=embed

那里的建议是使用闭包表(幻灯片中对此进行了解释)。

以下是摘要(幻灯片 77):

                  | Query Child | Query Subtree | Modify Tree | Ref. Integrity
Adjacency List | Easy | Hard | Easy | Yes
Path Enumeration | Easy | Easy | Hard | No
Nested Sets | Hard | Easy | Hard | No
Closure Table | Easy | Easy | Easy | Yes

关于sql - 如何用SQL表示数据树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2175882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com