一聚教程网:一个值得你收藏的教程网站

热门教程

树型结构在ASP中的简单解决

时间:2022-06-30 11:57:46 编辑:袖梨 来源:一聚教程网

树型结构在我们应用程序中还是很常见的,比如文件目录,BBS,权限设置,部门设置等。这些数
据信息都采用层次型结构,而在我们现在的关系型数据库中很难清淅表达。那么要在程序中遇到树型
结构问题该如何处理呢?
  最近笔者通过一个ASP权限管理的程序轻松解决了一这问题,现在将其整理出来以飨读者。
  首先,要将层次型数据模型转化为关系型数据模型。也就是说如何在我们的ACCESS,SQL SERVER
,ORACLE等关系型数据库中设计这个数据结构。
  拿个实例来讲吧,譬如下面一个数据:
文档管理 1
|----新建文档 2
|----文档修改 3
|----文档归档 4
| |----查看归档信息 5
| |----删除归档信息 6
| | |----删除历史文档 7
| | |----删除正式文档 8
|----系统管理 9
|----用户管理 10
人事管理 11
行政管理 12
财务管理 13
  这是一个很典型的层次型结构数据,那么大家想一想,如何将其通过二维表的形式来表达呢?初
看上去很难,是吧。可是仔细推敲一番还是有门路可钻的。
  可以这样,将上面所有的权限视为一个权限字段,那么这个权限字段肯定是要有一个ID值的。我
们再给这个关系型数据表再强行加一个字段――隶属ID字段,也就是表明这个权限是属于哪一级权限
之下的,即这个ID值隶属于哪一个ID值。比如:“查看归档信息”权限ID值为“5”,它是隶属于“文
档归档”权限之下的,那么它的隶属ID字段的值就应该是“4”。OK,如果这一点能理解的话,那么我
们的关系转化工作也就算基本完成了。
  下面我们就开始设计这张关系型数据表(以Sql Server 7.0 为例):
+-----------+-----------+-----------+-----------+----------+
  | 字段名 | 字段含义 | 字段类型 | 字段大小 | 字段属性 |
+-----------+-----------+-----------+-----------+----------+
| SelfID | 权限ID | Int | 4 | PK |
| PowerName | 权限名  | Varchar | 50 | Not Null |
| PowerInfo | 权限信息 | Varchar | 500 | |
| BelongID | 隶属ID | Int | 4 | |
+-----------+-----------+-----------+-----------+----------+
  好了,结构设计好你就可以轻松输入你的测试数据了。
  然后,我们就针对如何在网页中模仿层次结构显示这功能的ASP程序,这也是最关键的一步了。

热门栏目