数据库存储 层次树形结构 的标准做法

Posted yfceshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库存储 层次树形结构 的标准做法相关的知识,希望对你有一定的参考价值。


标准做法有3种:
1、最早的做法:节点id里包含完整路径(曾祖父id-爷id-父id-本id)
財务的会计科目编号就是这么做的
如今基本非常少使用了

2、递归做法:父id,本id(更早、完整的关系提供递归才干得到)
眼下比較普遍
优点是直观简单,增删方便
坏处是生成树须要递归

3、直接保存法:本id,根id,层次数,在根(子树)里的序号
好像没看到别人这么用的,我在自己的树形论坛离线阅读器里採用过
优点是避免了递归。生成树记录高效方便
坏处是增删节点。须要更新半个子树的节点记录

(曾公布在: http://bbs.csdn.net/topics/390248889#post-392670699 )

以上是关于数据库存储 层次树形结构 的标准做法的主要内容,如果未能解决你的问题,请参考以下文章

MySQL疑难杂症如何将树形结构存储在数据库中(方案Adjacency List)

第三次作业

怎么往数据库里插入一个树形结构的表,并且用一句SQL语句将其遍历出来

第一章概论

Oracle--树形自关联表查询SQL

什么是网站的扁平结构与树形结构