一种快速生成树结构的数据库设计方法

文档序号:6379209阅读:397来源:国知局
专利名称:一种快速生成树结构的数据库设计方法
技术领域
本发明涉及计算机技术领域,更具体的说,涉及应用系统中的数据库设计领域。
背景技术
目前,在传统的应用系统中,树形结构数据库的设计都是子节点记录父节点的ID,页面展现时采用递归的方式生产树形结构,这种设计方法使大数据量展现时严重影响系统效率,有可能导致整个应用系统处于假死状态。

发明内容
本发明的目的是提供一种快速生成树结构的数据库设计方法,所述方法在所有的应用系统中生成树结构数据时采用直接排序的方式直接生成。为了解决现有技术存在的困难,达到上述目的,本发明提供了一种快速生成树结构的数据库设计方法,所述方法包括如下步骤步骤一、在具有树状关系数据的数据库中创建二维表,包括树结构信息表,用于记录树结构中的节点信息;Sort表,与所述树结构信息表进行关联,用于记录树结构的节点之间的关系,每个节点具有一 Sort ID值;步骤二、对所述树结构信息表中的节点信息进行修改时,将修改信息保存到所述树结构信息表中,并将修改信息在Sort表中进行关联,然后在同一事务中重新排序所述Sort表,以使修改后的树结构关系记录在所述Sort表中;步骤三、按Sort表中的字段ID值排序读取数据,查询树结构信息。优选的是,所述节点信息包括节点ID、节点名称、其父节点ID及其其他属性值信息的描述。优选的是,所述Sort表中包括Sort ID、节点ID及其父节点ID、排序类型、节点所属层级节点在所属层级的具体位置。优选的是,步骤二中所述的节点信息的修改包括增加和删除子节点。本发明的有益效果是本发明所述的快速生成树结构的数据库设计方法,使得在所有的应用系统中生成树结构数据时不采用递归方式,而采用直接排序的方式直接生成,提高了运行效率,节省了服务器资源;独特的数据库结构设计,把生成树时占用的资源进行合理分配,把部分资源占用转移到新增、删除节点时,来提高生成树结构效率;本发明所述方法大大简化了生成树结构的过程,用简单的Sql查询语句排序查询即可。


图I为本发明所述方法的流程示意2为本发明实施例中创建的二维表
具体实施例方式下面结合附图对本发明做进一步说明,以使本领域普通技术人员参照本说明书后能够据以实施。如图I所示,本发明所述的快速生成树结构的数据库设计方法,包括如下步骤·步骤一、在具有树状关系数据的数据库中创建二维表,包括树结构信息表和Sort表,所述树结构信息表用于记录树结构中的节点信息,所述节点信息包括节点ID、节点名称、其父节点ID及其其他属性信息的描述。传统方式中是利用所述树结构信息表,生成树结构数据时采用递归方式,这种设计方法当大数据量展现时严重影响系统效率,有可能致使整个应用系统处于假死状态。所述Sort表,与所树结构信息表进行关联,用于记录树结构的节点之间的关系,所述Sort表中包括Sort ID、节点ID及其父节点ID、排序类型、节点所属层级、节点在所属层级的具体位置及外接数据表的其他信息等,所述排序类型指数据的显示顺序,例如有多个部门,可以设置这些部门的显示顺序以便于查看,设置市场部排第一位,技术部拍第二位等,如没有排序类型,则数据按名称的首字母顺利进行自动排序。图2为创建的所述二维表的举例,比如一个公司管理层包括第一层级董事长和第二层级总经理,总经理管辖副经理A、副经理B和副经理C,为第三层级管理层,每个副经理管理的部门为第四层级,副经理A管理市场部和采购部,副经理B管理生产部和技术部,副经理C管理办公室和人事部,这样就形成了一个公司的简单树状结构关系。所述节点信息包括,如02、副经理B、父节点为总经理、管理的是技术和生产领域等;或者是07、市场部、父节点为副经理A、主要工作任务是做市场的开发等。所述Sort表包括IV、02、属于第三层级的第二个位置等;或VII、07、属于第四层级的第一个位置等。所述Sort ID和sort level (所属层级)、level code (所属层级的具体位置)是相对应的,即属于第一层级的第一个位置的Sort ID值是最小的,排在最前面。步骤二、对所述树结构信息表中的节点信息进行修改时,先对所述节点信息进行修改并保存到所述树结构信息表中,并将修改信息增加到Sort表中进行关联,然后在同一事务中调用程序重新排序Sort表,使所述Sort表记录修改后的树结构关系,所述的节点信息的修改包括增加和删除子节点。增加或删除子节点时,首先将修改后的信息保存在树结构信息表中,并将修改信息在Sort表中进行关联,此时会有一些信息随之变化,如删除第二层级的总经理,则第三层级的副总经理就变为第二层级,其父节点变为董事长,第四层级的各个部门就变为第三层级,要对Sort表重新排序。此时,在同一事务中调用程序重新排序Sort表,使所述Sort表记录修改后的树结构关系。重新排序Sort表的代码为
权利要求
1.一种快速生成树结构的数据库设计方法,其特征在于,所述方法包括如下步骤 步骤一、在具有树状关系数据的数据库中创建二维表,包括 树结构信息表,用于记录树结构中的节点信息; Sort表,与所述树结构信息表进行关联,用于记录树结构的节点之间的关系,每个节点具有一 Sort ID值; 步骤二、对所述树结构信息表中的节点信息进行修改时,将修改信息保存到所述树结构信息表中,并将修改信息在Sort表中进行关联,然后在同一事务中重新排序所述Sort表,以使修改后的树结构关系记录在所述Sort表中; 步骤三、按Sort表中的字段ID值排序读取数据,查询树结构信息。
2.如权利要求I所述的快速生成树结构的数据库设计方法,其特征在于,所述节点信息包括节点ID、节点名称、其父节点ID及其其他属性值信息的描述。
3.如权利要求I所述的快速生成树结构的数据库设计方法,其特征在于,所述Sort表中包括Sort ID、节点ID及其父节点ID、排序类型、节点所属层级节点在所属层级的具体位置。
4.如权利要求I所述的快速生成树结构的数据库设计方法,其特征在于,步骤二中所述的节点信息的修改包括增加和删除子节点。
全文摘要
本发明公开了一种快速生成树结构的数据库设计方法,所述方法包括如下步骤步骤一、在具有树状关系数据的数据库中创建树结构信息表和Sort表,所述树结构信息表用于记录树结构中的节点信息;所述Sort表与所述树结构信息表进行关联,用于记录树结构的节点之间的关系,每个节点具有一Sort ID值;步骤二、对所述树结构信息表中的节点信息进行修改时,将修改信息保存到所述树结构信息表中,并将修改信息在Sort表中进行关联,然后重新排序所述Sort表,以使修改后的树结构关系记录在所述Sort表中;步骤三、按Sort表中的字段ID值排序读取数据,查询树结构信息。本发明所述方法提高了运行效率,节省了服务器资源。
文档编号G06F17/30GK102902811SQ20121040140
公开日2013年1月30日 申请日期2012年10月19日 优先权日2012年10月19日
发明者刘欣茹 申请人:北京金和软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1