基于关系型数据库树形结构设计与实现.docVIP

基于关系型数据库树形结构设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于关系型数据库树形结构设计与实现

基于关系型数据库树形结构设计与实现   摘要:随着互联网的发展,基于关系型数据库开发应用系统的方式得到了广泛的应用。本文阐述了树型结构的特点,讨论了在关系型数据库中基于路径表示法与双亲表示法相结合的方式的将树型结构设计方案,并提出了在.net平台下利用Treeview控件显示树型结构数据的具体实现方法。   关键词:树型结构;Treeview控件   中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 17-0000-02   1 引言   在树型结构中,根节点没有前驱节点,其他节点均有一个前驱节点,叶子节点没有后续节点,其他节点均有一个或多个后续节点,其核心就是数据元素之间一对多的关系,比如设备管理、组织结构等。然而在关系型数据库中,表是以行和列的形式组织起来的数据集合,表的每一行是一个数据元素,数据元素之间呈线性排列,彼此间没有关系,在各种基于关系型数据库开发的应用系统中,我们往往要存储像组织结构这样的树型结构的数据,数据元素之间存在着一对多的关系,将具有树型结构的数据元素简单的呈线性排列是无法体现数据元素之间的关系,如何在关系型数据库中设计树型数据结构并有效应用,是我们要解决的问题。   2 数据结构设计   2.1 路径表示法   路径表示法是将从根节点到节点的路径记录下来,每条记录中的路径字段表明了节点在树中的层次关系,如表一。equipmentType列记录设备类型,path列记录设备类型路径。路径表示法优点在于查询方便,不受树深度的影响,缺点在于要修改某一节点在树中的隶属关系时需要维护路径,这样做非常麻烦。   2.2 双亲表示法   双亲表示法用两个字段来表示一个节点在树中的隶属关系,如表二。equipmentType列记录设备类型,equipmentTypeParent列父记录设备类型。双亲表示法的优点在于修改某一节点在树的隶属关系比较方便,只需要修改父节点信息既可,缺点在于查询单一节点信息方便,但是查询某一父节点下的所有子节点信息需要递归查询。   2.省略平台下利用Treeview控件对树型结构数据进行展示和数据维护的方法。图一为数据维护界面。   界面左侧为设备类型树,图二为Treeview控件的示例代码。程序初始化时,可以将已经设计好的数据表中的设备信息集合作为Treeview控件的数据源,当在树中点击任意设备类型时,右侧将显示此设备的详细信息,这一点在选择改变事件中可以用简单代码实现。数据初始化与选择改变事件关键代码如下:   using System.Windows.Controls;   public partial class mobileEquipmentTypeTreeManage : UserControl   {   dataformService ser = new dataformService();   public mobileEquipmentTypeTreeManage()   {   InitializeComponent();   elementTypeTree elementTypeTree;   ser.getMobileEquipmentTypeTree(out elementTypeTree);   mobileEquipmentTypeTreeView.ItemsSource = new List() { elementTypeTree };   ……   }   private void mobileEquipmentTypeTreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs e)   {   elementTypeTree elementTypeTree = mobileEquipmentTypeTreeView.SelectedItem as elementTypeTree;   if (elementTypeTree != null)   {   this.mobileEquipmentTypeTextBox.Text = elementTypeTree.current.type;   ……   }   }   ……   }   4 数据维护   基于数据结构设计采用路径表示法与双亲表示法相结合的方式,在这里只对数据维护要注意的事项进行说明。   4.1 增加节点   (1)父节点必须存在,可以在树中选择任意节点作为父节点。(2)新增节点路径 = 父节点路径 + 新增节点名称。(3)新增节点在树中不能已经存在。   4.2删除节点   (1)要删除的节点是否有子节点,如果有需先删除子节点。   4.3修改节点   

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档