数据管理装置和数据管理方法制造方法及图纸

技术编号:7180644 阅读:254 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种数据管理装置和一种数据管理方法,其中,数据管理装置包括:获取模块,从预存储的树形结构数据中,取得所有组合的具有上下级关系的两级数据;记录模块,对所述所有组合的两级数据中的父项数据、父项级次、子项数据和子项级次作为对照关系信息,进行记录;查询模块,根据已记录的所述对照关系信息设置查询条件,以查询出所需的一个或多个级次的数据。通过本发明专利技术,可以在查询条件中指定级次、指定数据节点(树形结构中),可轻易查询出任何级次、任何节点之上或之下的数据。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,涉及一种数据管理装置和一种数据管理方法。
技术介绍
目前,在应用数据库进行对于树形存储结构(存在上下级层次关系的存储结构) 的数据进行存储和查询时,通常多采用下级存储上级id (identity,身份表示号码)的存储方法,具体为为每一级分别分配id标识,下级记录中直接记录上级的id。例如,图1为企业组织结构的一种常见的树形结构图,“本部”为最高级组织,分配有id标识“1”;“本部”下设各级分销机构和代理公司,分别分配有id标识“2 14......”。下面的表1所示即为各级组织与其相应上级的对应关系。表1是某“本部”各下级组织节点存储结构idrialr上级组织 idrisl1wrnnull根节点2北方大区i上级组织id记录本部的id3南方大区1上级组织id记录本部的id4西部大区1上级组织id记录本部的id5国际大区1上级组织id记录本部的id6山东一级代理 2上级组织id记录北方大区的id~7北京一级代理 2上级组织id记录北方大区的id~8深圳一级代理 3上级组织id记录南方大区的id~9新疆一级代理 4上级组织id记录西部大区的id~10香港一级代理 5上级组织id记录国际大区的id~ tl 济南二级代理 6 上级组织id记录山东一级的id~12青岛二级代理 6上级组织id记录山东一级的id~13峻山三级代理 12上级组织id记录青岛二级的id~14四方三级代理 12上级组织ID记录青岛二级的ID~在应用如表1所示的数据库存储结构时,由于仅存储上下级一个阶次的关系,对于查找某一级的直接上级或直接下级时,是非常有效的。但对于想查询某一级的所有上级或所有下级时,效率就会非常低下。例如查找某一级的所有下级时,只能通过找到其直接下级,然后再通过下级再找其直接下级,循环往复,直至再没有任何一个下级为止。然后,还要组合所有的查询结果,从而得到所有下级的信息。总结来看,这种方式会造成大量查询,效率低下,代码复杂性也会大大增加。后来,又出现了对于此类问题的改进方案,增加一个冗余的路径字段记录某一级的所有上级ID,如表2。表2是某“本部”各下级组织节点增加路径存储结构"id组织上级组织IDPath描述^~ NULLΓ;~~2北方大区iHil南方大区 m西部大区 Γ;~国际大区i~~6山东一级代理21 ;2 ;6 ;~北京一级代理21 ;2 ;7 ;~8深圳一级代理31 ;3 ;8 ;~~9新疆一级代理41 ;4 ;9 ;~ θ香港一级代理51 ;5 ;10 ;"Tl济南二级代理61 ;2 ;6 ;11" 2青岛二级代理61 ;2 ;6 ;12~Τ3峻山三级代理121 ;2 ;6 ;12 ;13~~14四方三级代理121 ;2 ;6 ;12 ;14 在应用如表2所示的数据库存储结构时,解决了想查询某一级的所有上级的 问题,可以一次查出结果;同理,再增加一个路径字段记录某一级的所有下级ID,可以解决想查询某一级的所有下级的问题。但是只能得到所有的上级或下级,对于查询任意级次的上级或下级则无能为力,如查询某个父项下第几级(级次不固定)的问题,具体如查询北方大区(2级单位)下三级代理(4级)且4级以下的不需要查询,则无能为力了。因此,需要一种新的技术方案,来管理存在上下级关系的数据,保证可以高速地、 一次性地为用户提供任意级次的数据信息,提高用户数据查询的效率。
技术实现思路
本专利技术所要解决的技术方案在于,提供一种新的技术方案,来管理存在上下级关系的数据,保证可以高速地、一次性地为用户提供任意级次的数据信息,提高用户数据查询的效率。有鉴于此,本专利技术提供一种数据管理装置,包括获取模块,从预存储的树形结构数据中,取得所有组合的具有上下级关系的两级数据;记录模块,对所述所有组合的两级数据中的父项数据、父项级次、子项数据和子项级次作为对照关系信息,进行记录;查询模块, 根据已记录的所述对照关系信息设置查询条件,以查询出所需的一个或多个级次的数据。 通过该技术方案,可以在查询条件中指定级次、指定数据节点(树形结构中),可轻易查询出任何级次、任何节点之上或之下的数据。在上述技术方案中,优选地,还包括存储模块,将所述对照关系信息进行存储; 所述查询模块根据已存储的所述对照关系信息,设置所述查询条件,并从已存储的所述对照关系信息中,查询出所述所需的一个或多个级次的数据。通过该技术方案,将对照关系信息存储后,能够保证一次整理好对照关系信息,实现多次查询。在上述技术方案中,优选地,还包括更新模块,在所述树形结构树中的数据被修改或删除时,从已存储的所有对照关系信息中,找到被修改或删除的数据所对应的对照关系信息,并进行修改或删除。通过该技术方案,即时更新对照关系信息,能够保证用户所获取数据的准确性。在上述技术方案中,优选地,还包括校验模块,判断所述对照关系信息是否与所述树形结构中对应的两级数据以及上下级关系相匹配,并仅在判断结果为是时,允许所述存储模块存储所述对照关系信息。通过该技术方案,保证了所存储的对照关系信息的准确性。在上述技术方案中,优选地,所述记录模块还在所述对照关系信息中添加预定类型的一种或多种信息。通过该技术方案,支持对对照关系信息进行扩展,以及进一步增加描述内容等信息。本专利技术还提供一种数据管理方法,包括步骤302,从预存储的树形结构数据中, 取得所有组合的具有上下级关系的两级数据;步骤304,对所述所有组合的两级数据中的父项数据、父项级次、子项数据和子项级次作为对照关系信息,进行记录;步骤306,根据已记录的所述对照关系信息设置查询条件,以查询出所需的一个或多个级次的数据。通过该技术方案,可以在查询条件中指定级次、指定数据节点(树形结构中),可轻易查询出任何级次、任何节点之上或之下的数据。在上述技术方案中,优选地,在所述步骤306之前,还包括步骤305,将所述对照关系信息进行存储;所述步骤306具体包括根据已存储的所述对照关系信息,设置所述查询条件,并从已存储的所述对照关系信息中,查询出所述所需的一个或多个级次的数据。 通过该技术方案,将对照关系信息存储后,能够保证一次整理好对照关系信息,实现多次查询。在上述技术方案中,优选地,还包括在所述树形结构树中的数据被修改或删除时,从已存储的所有对照关系信息中,找到被修改或删除的数据所对应的对照关系信息,并进行修改或删除。通过该技术方案,即时更新对照关系信息,能够保证用户所获取数据的准确性。在上述技术方案中,优选地,在所述步骤305之前,还包括判断所述对照关系信息是否与所述树形结构中对应的两级数据以及上下级关系相匹配,并仅在判断结果为是时,进入所述步骤305。通过该技术方案,保证了所存储的对照关系信息的准确性。在上述技术方案中,优选地,所述步骤304还包括在所述对照关系信息中添加预定类型的一种或多种信息。通过该技术方案,支持对对照关系信息进行扩展,以及进一步增加描述内容等信息。通过以上技术方案,可以实现一种数据管理装置和一种数据管理方法,来管理存在上下级关系的数据,保证可以高速地、一次性地为用户提供任意级次的数据信息,提高用户数据查询的效率。附图说明图1是树形存储结构的数据示意图;图2是根据本专利技术的一个实施例的数据管理装置的框图;图本文档来自技高网
...

【技术保护点】
1.一种数据管理装置,其特征在于,包括:获取模块,从预存储的树形结构数据中,取得所有组合的具有上下级关系的两级数据;记录模块,对所述所有组合的两级数据中的父项数据、父项级次、子项数据和子项级次作为对照关系信息,进行记录;查询模块,根据已记录的所述对照关系信息设置查询条件,以查询出所需的一个或多个级次的数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:申波
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1