gpt4 book ai didi

sql - 在 SQL 中对固定深度树建模

转载 作者:行者123 更新时间:2023-11-29 13:19:22 25 4
gpt4 key购买 nike

我正在创建一个 SQL 模式来表示树状层次结构,但我知道这个树的深度永远不会超过 N 层(其中 N 在应用程序设计时已知,很可能大约 4 或 5 个)。

如果这棵树的深度是固定的,那么通过将树的每一层建模为一张表来设计应用程序是否更好?还是考虑任意深度(例如邻接列表或嵌套集)来处理它会更好?

我纯粹是从可查询性的角度提问,例如报告树的各个级别。

最佳答案

使用具有众所周知的层次结构 (node_id, parent_id) 和附加列 depth 的单个表。该列在理论上是多余的,但在查询特定树级别时非常有帮助。当然,这样的结构使得使用递归查询从上到下遍历树变得容易(反之亦然)。

create table a_tree(
node_id int primary key,
parent_id int,
depth int
-- other columns
);

作为奖励,您可以在 SO 上为此类表找到许多现成的解决方案。

关于sql - 在 SQL 中对固定深度树建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44489124/

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