树状结构的数据,如何保存在表里面?

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 打赏 收藏 转发到动态 举报
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
  • 打赏
  • 举报
回复
很多论坛都是树状结构的,也就是加了一个字段

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧