高分求教一个树型结构的问题,关于无限级栏目分类的问题~~~~

superj 2006-10-26 12:00:59
一般的树型在数据库中存储格式是这样的
ID
ClassName
parentID
一般的网上教学也是这样教的.
这种就是存储父结点.但是很多地方都做了扩展.加入了以下字段.如:
parentPath 用来存储父结点路径.用逗号分隔.
ChildNum 存储子结点数目.
RootId 用来存储根结点的ID
Depth 用来存储结点深度.

不知道以上扩展的优点在什么地方,在哪些地方易于遍历.

第二种做法是用只用父结点路径,也有很多地方用这种方法.

这种方法就是不存储parentId 而只用parentPath来存储.也不是用逗号分隔.比如:
0001
00010001
00010002

以四位数字作为路径存储.

第一种方法的优点是比较容易遍历父结点.但是如果我想遍历所有的子结点.
包括子结点的子结点.那就不容易了,更不容易的是遍历父结点下的所有子结点的具体内容.

如果树型深度过深的话,怎么样做才能使性能提高.

请高手讲解一下.
...全文
238 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pcgenius 2007-03-16
  • 打赏
  • 举报
回复
可以指定PARENTPATH存储路径.
superj 2007-02-09
  • 打赏
  • 举报
回复
可以指定PARENTPATH存储路径.
hegang888888888 2006-10-26
  • 打赏
  • 举报
回复
用交叉表
自然框架 2006-10-26
  • 打赏
  • 举报
回复
like '0001%'

不就是所有的子结点了吗?(包括子子结点)
KL_8266 2006-10-26
  • 打赏
  • 举报
回复
我也用第一中方法的,关于读取他的子接点数据我一般是用接点的Target和NodeData或NodeType这3个来保存要用的重要信息如ID或编号等以后便历的时候可以写个方法获得他的子结点。
aafshzj 2006-10-26
  • 打赏
  • 举报
回复
用AAF,呵呵。




欢迎大家来我的博客作客:http://blog.csdn.net/aafshzj/
我正在写一系列关于AAF组件框架的文章。该框架能对开发工作提供很多帮助,并极大地提高开发效率。希望大家看一看并提出宝贵建议。
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-26 12:00
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。