社区
基础编程
帖子详情
树状结构的数据,如何保存在表里面?
hbcb
2004-04-10 12:24:33
比如存放目录树,要体现目录的层次和隶属关系
我想这样
table_dir
id 层次 类型 名字
1 1 目录 /
2 1.1 文件 UNIX
3 1.2 目录 home
4 1.2.1 目录 my_home
5 1.2.1.1 文件 .profile
6 1.2.2 目录 you_home
7 1.3 目录 etc
不知道这样是不是合理呢?或者其他什么方法更好些?
...全文
238
5
打赏
收藏
树状结构的数据,如何保存在表里面?
比如存放目录树,要体现目录的层次和隶属关系 我想这样 table_dir id 层次 类型 名字 1 1 目录 / 2 1.1 文件 UNIX 3 1.2 目录 home 4 1.2.1 目录 my_home 5 1.2.1.1 文件 .profile 6 1.2.2 目录 you_home 7 1.3 目录 etc 不知道这样是不是合理呢?或者其他什么方法更好些?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sfply
2004-04-10
打赏
举报
回复
id 一级层次 二级层次 三级层次 类型 名字
1 0 0 0 目录 /
2 1 1 0 文件 UNIX
3 1 2 0 目录 home
4 0 3 1 目录 my_home
6 0 3 2 目录 you_home
7 1 3 0 目录 etc
如果层次不多可以用以上方式体现层次关系
如果多了就干脆用你目前的方式,在程序中多花点心思就是
ice_berg16
2004-04-10
打赏
举报
回复
将层次设成parentId
取一个目录下的数据时只需where parentId = dirName
52juanjuan
2004-04-10
打赏
举报
回复
如果把一个字段,做成这样,自己搞个约定如
0000
00000001这样区分就是说搞个层次字段,通过判断位数来实现,如果长度是n(比例基数)的几倍,就表示为第几层,这样也是可以的
amethyst99
2004-04-10
打赏
举报
回复
最基本的层用0表示,
比如
id 层次 类型 名字
1 0 目录 /
2 1 文件 UNIX
3 1 目录 home
4 3 目录 my_home
5 4 文件 .profile
6 3 目录 you_home
7 1 目录 etc
层次是和前面的id号关联,第2,3,7都是同一层次,都在/目录下,4,6都在home目录下,5在my_home下
amethyst99
2004-04-10
打赏
举报
回复
很多论坛都是树状结构的,也就是加了一个字段
如何高效处理
树状
结构
数据
最近在看到帖子,问道如何存储
树状
结构
数据
,常见使用场景就是文章的目录层级,分销关系。 回顾之前做了分销商城系统
里面
有一个分销功能,涉及到购买用户上下级关联、查询,还要修改上下级关系。原本很早就想写一篇文章来记录的,拖了好久,直到我看到一篇文章已经总结得很好:树形
结构
存储方案对比分析 总结: Adjacency List 邻接
表
:每一条记录存parent_id 【最简单,常用的,层级小可用】 Path Enumerations 物化路径:每一条记录存整个tree path经过的node枚举 【最简单,常
树状
结构
表
结构
和功能设计
在我们开发过程中经常会遇到各种组织树
结构
,比如我们的公司人员
结构
,权限资源的管理,等等。而我们这些
数据
落到
表
里面
是以一条条
数据
构成的,我们存储资源时按照一条条存储是非常简单的,但是在操作资源构建树的时候往往会碰到很多问题,下面我们以一条实例来探讨组织树资源的
表
结构
设计和功能点。
表
结构
设计(以mysql为基础) 我们要设计一个
树状
结构
的
数据
存储,第一反应是在
表
里面
加一个parent_id 这肯定没有错,我们通过
数据
的id和parent_id就能组装成整个的树
结构
,但是比如我们的需求往往不是这么简单,比如我
树状
结构
数据
,筛选指定
数据
树状
结构
,筛选指定展示
数据
树状
结构
数据
的
数据
库
表
设计及使用 - 4. 嵌套集(Nested Set)模型
本文以 MySQL 为例。文档比较长,故分为5部分发出: 嵌套集模型 嵌套集(Nested Set)模型的算法也叫做预排序遍历树算法 MPTT(Modified Preorder Tree Taversal)。在嵌套集的
表
里我们会有 lft 和 rgt 两个字段,分别用来记录遍历整个集合或整棵树时,一个节点的左右边到根节点左边的距离。 如果我们用集合的图来看的话,根节点左边初始为1,那么从左向右划过所有子集,碰到集合边缘时计数加1,各个子集(即节点)的左右边的数就一目了然的出来了。 换成用树形
结构
展示,那
java 树形
数据
_JAVA处理
树状
结构
数据
之前对于
树状
结构
的处理没什么困难,但是最近的一个需求就很麻烦。其实遍历出
树状
结构
并不是什么困难的事情,但是这个需求需要从底层节点统计数量,然后向上修改所有的父级
结构
。最难的地方就是这个地方,可能有的子节点大部分是最后一级,但是平级可能还会有多层
数据
。之前试过用递归
结构
实现。但是容易造成死锁,原因就是在向上修改
数据
时平级的子节点也在向上修改,就会造成死锁。这个需求搁置了很久,一直没有什么好办法。直到...
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章