基于单表结构的web动态树设计与实现

基于单表结构的web动态树设计与实现

ID:31359719

大小:113.00 KB

页数:8页

时间:2019-01-09

基于单表结构的web动态树设计与实现_第1页
基于单表结构的web动态树设计与实现_第2页
基于单表结构的web动态树设计与实现_第3页
基于单表结构的web动态树设计与实现_第4页
基于单表结构的web动态树设计与实现_第5页
资源描述:

《基于单表结构的web动态树设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于单表结构的Web动态树设计与实现  摘要:在Web系统开发过程中,如何更直观显示具有层级关系的信息备受关注。树型结构因其结构性强、层次性好、使用方便等特点在Web系统开发中得到了广泛应用。介绍了树型结构原理和树型结构在关系型数据库中的表示,阐述了一种基于单表结构的Web动态树设计与实现。这种树型结构简单、直观、易于数据组织,简化了数据库的设计过程,在Web系统开发中效果良好。  关键词:树型结构;关系数据库;层次关系;Web动态树  DOIDOI:10.11907/rjdk.161997  中图分类号:TP391  文献标识码:A文章编号文章编号:16727800(2016

2、)011017003  0引言  树型结构是一种非常重要的非线性数据结构,具有结构清晰、层次分明、操作方便等优点,在系统开发中应用广泛,如:Windows的资源管理器、文件系统中的文件管理、数据库中的索引等,都采用了树型结构[1]。随着互联网的迅速发展,树型结构在B/S结构系统开发中得到越来越广泛的应用。在Web页面上实现树型目录,既可简化创建、管理和维护工作,又可为浏览站点用户带来方便,将信息以更直观的层次结构展现给用户,充分利用了计算机屏幕空间。8  目前在互联网上广泛应用的树型结构有两种:静态结构和动态结构。静态结构使用最多,实现简单,但它不能根据信息的变化改变树的结构和

3、内容,因此无法反映信息变化,所以静态结构主要用于系统功能层次或固定组织结构表达中;而动态结构中树节点可以根据信息变化需要进行动态增删操作,可以展现动态的数据分类、组织机构等,但是实现相对复杂。  在动态树型结构的数据结构表达中,多数系统采用的是父子关系表的多表结构存储,表达动态树节点信息。这种方法虽然能不限层次地增加节点,但由于在进行统计分析等计算操作时,必须使用递归过程[2]致使计算过程十分复杂。本文将详细介绍使用单表结构来实现多级动态树[3]方法。  1树型结构原理  树型结构主要由根节点、叶子节点和分支节点组成。任何没有上一级节点即没有父辈节点的节点是根节点;任何没有下一

4、级节点即没有子女节点的节点是叶子节点;既不是叶子节点也不是根节点的为分支节点。一棵树只有一个根节点,分支节点可以有下一级分支节点,一个节点所有子树中的节点为该节点的子孙节点。树型结构中每个节点包含以下信息[4]:①节点自身信息;②双亲节点信息;③孩子节点信息,见图1。  由上述定义可看出:在树型结构中,树由多个子树构成,子树由一些更小的子树构成。总而言之,一个节点可以有0、1个或多个子节点,除根节点没有父节点[5]外,其余节点有且只有一个父节点。  关系数据库[6](RelationalDatabase8,简称RDB)已成为数据库产品的主流。关系数据库是将数据按表结构形式组织,

5、而树型结构是一种非线性的数据结构。显然,树与表格在结构上有很大差别,若把具有树结构的数据简单线性排列起来,就不能体现数据间的父子关系(层次关系),意味着信息的丢失。因此,在关系型数据库中需要解决如何把非线性数据线性化排列且保留数据间的原有关系问题。  在关系型数据库中通常采用下面几种表示树的方法[7]:①字段表示法;②代码表示法;③静态指针表示法。  本文采用一种新的表示法,这种表示法是对代码表示法的一种变型。代码段的宽度根据树的层次不同而不同(根结点一般是一个全局结构描述的节点,可以用一个静态节点表示,本文使用静态节点处理)。  例如:某树的层次结构是************

6、**,用空格来区分树型结构层次,用*表示每个层次的代码段宽度。这个层次结构有4个空格,说明这个树型结构层次是5层。第一层代码段的宽度是2,第二层代码段的宽度是3,第三层代码段的宽度是4,依此类推可以得出每一层代码段的宽度。为了更好地表示树型结构的层次关系,本文把当前层次节点以上的层次节点代码宽度都加到当前层次代码宽度上,修改后的层级代码宽度为:第一层代码宽度是2,第二层代码宽度是5,第三层代码宽度是8,第四层代码宽度是11,第五层代码宽度是14。  根据这个层次结构,第一级节点可以用01表示,第二级节点可以用01001表示(前两位01表示当前节点的父节点),第三级节点可以用01

7、001001表示(前五位01001表示当前节点的父节点),以此类推。这样不仅可以更直观地表示父节点、子节点及当前节点结构,还可以直观表示出树的层次关系。下面以部门为例对这种表示法进行说明。  2动态树实现8  2.1数据库设计  为了记录节点变化,本文以数据库为载体。数据库中数据表至少要有以下字段:节点编号、节点名称、节点说明、节点代码,这些是构建树结构所必须的信息。建立数据表如表1所示。  2.2创建树型结构流程  根据数据表设计,得到创建树型结构流程,如图2所示。  2.3树的实现  为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。