天生我才必有用

博客园 首页 新随笔 联系 订阅 管理
近期由于需要在数据库中存储树形数据,并要对存储的数据进行方便的处理,于是在网上找了关于树形处理的许多资料,特收集于此,方便大家,也方便自己。

  在codeproject找了几篇关于树形结构的文章。
  1、 Trees in SQL databases
  2General trees persisted in relational databases

  上面两篇文章对数据库中的树形结构存储和处理提出了比较好的解决办法,并给出了相应的存储过程和SQL语句。

  如果要对树形数据处理有一个很详细的了解,推荐大家阅读Joe Celko写的一本关于树形和层次数据处理的书: Trees and Hierarchies in SQL for Smarties。

  在这本书里,Joe Celko对各种树形和层次数据的处理作了详细的描述,并给出了相应的SQL实现。本书中作者花了两章的内容,讲述了基于“Nested Set Model”的层次数据处理。

  “Nested Set Model”的最大优点就是查询相当方便,只需要一条SQL语句就完全可以胜任。其缺点就是插入、移动、删除等改变树的节点结构的操作时比较耗时。如果不是节点频繁变动的情况,采用这种技术进行节点的查询在性能上应用是很不错的。对它研究的文章在国外也很多,其中在
Storing Hierarchical Data in a Database中有它的PHP实现。

  如果大家需要进行树形数据的处理,建议大家看一看这本书。
posted on 2006-03-11 20:59  JR  阅读(1773)  评论(0编辑  收藏  举报