悟空-简单就好
.net企业级应用研究

考虑最复杂的情况
开发出最简单的实现


Word文档-资料管理系统!

导航

 

什么是穿透显示?
    穿透显示指选择父节点可直接显示子节点包含的内容;
如企业的组织架构中,选择处级单位可直接显示下属的各课级人员,而不仅仅是处长一人;
再如个人知识管理中知识分类体系,选择父分类,可直接显示所包含全部知识点。如图所示,单击“软件开发管理”,可显示其及其子分类包括的知识点

针式个人知识库管理系统
常见的实现方法:

1、SQL生成法:基本原理是搜寻节点树,生成用“or”连接的SQL语句;此法受SQL语句串长限制,有可能产生“SQL语句太够复杂”的出错。这个方法,我在开发针式个人知识库管理软件中使用,只要节点不太深,性能是不受影响的;做法是将ID作为Tag放在节点对象内

2、冗余法:基本原理是引入冗余字段和冗余表,冗余字段标示节点的位置,冗余表保存各节点的全部位置信息。比如,在人事档案管理系统中
,组织架构用OU1、OU2....OU8等字段构成的冗余表表示各OU所在位置;假如处级位置OU4,那显示某个处级全部人员的SQL为OU4=该单位ID即可实现穿透。

3、编码法:基本原理是使用一串字符来唯一表示节点的上下级关系信息,例“F2A”表示F公司2分公司A部门;这样显示某个特定部门的信息要
使用子串函数即可实现穿透。此法无法利用索引,所以性能有所影响


上述三种方法,各有优劣。平时可作性能、编码复杂度等测试,实际使用方可灵活选择。

   更多内容...

posted on 2008-04-29 13:27  新悟空  阅读(2324)  评论(11编辑  收藏  举报