不规则字段存储方法和系统的制作方法

文档序号:6575320阅读:135来源:国知局

专利名称::不规则字段存储方法和系统的制作方法
技术领域
:本发明涉及数据库技术,更具体地涉及不规则字段存储方法和系统。
背景技术
:在现有的数据结构中,有一种不规则数据结构如下该数据结构的大部分基本字段都是相同的,但是在其不同的分类之间还是有一些有区别的自有字段。同样是商铺的数据,他们都具有名称、地址、联系电话等共有的信息字段。然而,不同的行业和类别之间又存在着各自有区别的信息字段,像是餐饮行业里有包间数量,特色菜品;车辆运输的时候,每辆车都有其能够承载的吨位的限制等等。再有就是这些自有字段有不确定性,因为每个行业都会有它新增的自有字段,例如在以前付钱的时候都是使用现金,而在现在人们都是用信用卡,所以就会增加是否支持信用卡消费字段。现有的数据库设计在存储这种不规则的数据的时候,一般有两种方式一种方式是使用一个超级大的表,这个表中要包含所有的共有字段和自有字段,这种方式完成了功能需求但是却记录了大量冗余的无效数据;一种是对应数据的相同部分要一个表,每一个不同分类的自有字段再对应一个反映其特殊结构的表。那么在这种情况下,在数据库表中就要有大量的表来描述不同分类对应的自有字段。就因此造成了庞大的表格数量,在需要增改自有字段的情况下引起了不小的维护开销,而且在搜索数据的时候也会带来很大的查询开销。解决存储不规则数据造成的大量数据冗余和表结构所带来的巨大的维护开销,就需要新型的不规则字段存储方法和系统。
发明内容为了解决上述问题之一,本发明提供了不规则字段存储方法,包括建立主体表,将分类相同的基本字段存储在所述主体表中,其中,所述主体表还存储有分类类型字段和分类数据存储字段,所述分类数据存储字段用于存储自有字段信息;建立分类表,将分类信息存储在所述分类表中,所述分类表还存储有自有字段信息在主体表中分类数据存储字段中的顺序;建立属性表,将全部分类的所有的自有字段的属性存储在所述属性表中。所述分类信息实际上是指这个分类都存储有哪些自有字段以及这些自有字段所处的位置的对映关系。举例说明如果分类号是10000的信息内容为"1|2|3",那么就是意味着主体表中存储的实际数据为"1自有数据字段的内容\02自有字段的内容\03自有字段的内容(其中\0是隐藏的分割符)"。所述属性表记录的是所有自有字段的id(既编号)和该编号对应字段的名称以及其他有关该自有字段的属性。在分类表中的分类信息中保存的"1|2|3"中的数字1、2、3就是属性表中的自有字段id编在上述方法中,优选地,'使用不可见的控制字符隔例如"\0"将每个自有字段信息断开。在上述方法中,优选地,进一步包括使用文本建立每个自有字段和数据库中的数据之间的镜像关系,在更新所述自有字段时,更新所述镜像关系,并记录经过修改的所述自有字段的唯一标识符。每一个自有字段要对应一个文本文件;该文本文件要记录的内容包括本条数据记录在数据库中的唯一的标识,本数据属于的分类号和这条数据保存的自有字段的内容(如果该数据保存的该自有字段的内容为空的话则不出现这条记录)。在上述方法中,优选地,进一步包括通过数据库脚本进行数据库数据的更新。在上述方法中,优选地,通过^f奮改脚本进行数据库数据的更新具体为使用线下的文本,修改所述不规则字段,生成批次更新的数据库脚本,执行所述批次更新的数据库脚本完成数据库数据的更新。数据库脚本的生成方法如下将做过修改的数据的唯一标识在分类所对应的自有字段文件里遍历,将该数据按照分类表描述格式,将所有自有字段组合成一条数据库的更新语句。最后把所有中数据的更新语句写进文本形成数据的更新脚本。数据更新自有字段的时候,实际修改的是文本镜像记录的内容,并且把做过修改的数据的唯一标识记录下来备用。本发明还提供了一种不规则字段存储系统,包括主体表建立装置,用于建立主体表,将分类相同的基本字段存储在所述主体表中,其中,所述主体表还存储有分类类型字段和分类数据存储字段,所述分类数据存储字段用于存储这一分类的所有的自有字段信息;分类表建立装置,用于建立分类表,将分类信息存储在所述分类表中,所述分类表还存储有这一分类的自有字段在主体表中分类数据存储字段中的顺序;属性表建立装置,用于建立属性表,将全部分类的所有的自有字段的属性存储在所述属性表中。所述分类信息实际上是指这个分类都存储有哪些自有字段以及这些自有字段所处的位置的对映关系。举例说明如果分类号是10000的信息内容为"1|2|3",那么就是意味着主体表中存储的实际数据为"1自有数据字段的内容\02自有字段的内容\03自有字段的内容(其中\0是隐藏的分割符)"。所述属性表记录的是所有自有字段的id(既编号)和该编号对应字段的名称以及其他有关该自有字段的属性。在分类表中的分类信息中保存的"1|2|3"中的数字1、2、3就是属性表中的自有字段id编号。在上述系统中,优选地,使用不可见的控制字符隔将每个自有字段信息断开。在上述系统中,优选地,进一步包括镜像关系建立装置,用于使用文本建立每个自有字段和数据库中的数据之间的镜像关系,在更新所述自有字段时,更新所述镜像关系,并记录经过修改的所述自有字段的唯一标识符。在上述系统中,优选地,进一步包括更新装置,用于通过数据库脚本进行数据库数据的更新。在上述系统中,优选地,所述更新装置使用线下的文本,修改所述不规则字段,生成批次更新的数据库脚本,执行所述批次更新的数据库脚本完成数据库数据的更新。通过上述技术方案,既避免了使用一个超级大表存储数据带来的大量冗余数据问题,又不会产生许多的表,就因此避免了许多零碎的表结构带来的维护开销。图1示出了根据本发明的不规则字段存储方法的流程图;以及图2示出了根据本发明的不规则字段存储系统的框图。具体实施例方式下面结合附图和具体实施方式对本发明作进一步详细的说明。图1示出了根据本发明的不规则字段存储方法的流程图。该方法包括步骤102,建立主体表,将分类相同的基本字段存储在所述主体表中,其中,所述主体表还存储有分类类型字段和分类数据存储字段,所述分类数据存储字段用于存储自有字段信息;步骤104,建立分类表,将分类信息存储在所述分类表中,所述分类表还存储有自有字段信息在主体表中分类数据存储字段中的顺序;步骤106,建立属性表,将全部分类的所有的自有字段的属性存储在所述属性表中。所述分类信息实际上是指这个分类都存储有哪些自有字段以及这些自有字段所处的位置的对映关系。举例说明如果分类号是10000的信息内容为"1|2|3",那么就是意味着主体表中存储的实际数据为"1自有数据字段的内容\02自有字段的内容\03自有字段的内容(其中\0是隐藏的分割符)"。所述属性表记录的是所有自有字段的id(既编号)和该编号对应字段的名称以及其他有关该自有字段的属性。在分类表中的分类信息中保存的"1|2|3"中的数字1、2、3就是属性表中的自有字段id编号。在上述方法中,优选地,使用不可见的控制字符隔将每个自有字段信息断开。在上述方法中,优选地,进一步包括使用文本建立每个自有字段和数据库中的数据之间的镜像关系,在更新所述自有字段时,更新所述镜像关系,并记录经过修改的所述自有字段的唯一标识符。每一个自有字段要对应一个文本文件;该文本文件要记录的内容包括本条数据记录在数据库中的唯一的标识,本数据属于的分类号和这条数据保存的自有字段的内容(如果该数据保存的该自有字段的内容为空的话则不出现这条记录)。在上述方法中,优选地,进一步包括通过数据库脚本进行数据库数据的更新。在上述方法中,优选地,通过修改脚本进行数据库数据的更新具体为使用线下的文本,修改所述不规则字段,生成批次更新的数据库脚本,执行所述批次更新的数据库脚本完成数据库数据的更新。数据库脚本的生成方法如下将做过修改的数据的唯一标识在分类所对应的自有字段文件里遍历,将该数据按照分类表描述格式,将所有自有字段组合成一条数据库的更新语句。最后把所有中数据的更新语句写进文本形成数据的更新脚本。数据更新自有字段的时候,实际修改的是文本镜像记录的内容,并且把做过修改的数据的唯一标识记录下来备用。下面通过一个实例来说明上述方法。将各个分类相同的基本字段集中在一个主体表中,在这个主体表中另外要加入分类类型字段和分类数据存储字段。分类数据存储字段中要记录这个分类的所有的自有字段的信息,在每个自有字段信息之间用不可见的控制字符隔"\0"断开。如表1所示。<table>tableseeoriginaldocumentpage9</column></row><table>表1数据的分类信息要配合有一张分类表(参见表2),这个表除了要记录本分类的信息以外,还要记录该分类的自有字段在主体表中分类数据存储字段里面的顺序。<table>tableseeoriginaldocumentpage9</column></row><table>表2另外还需要一张属性表(参见表3)来记录全部分类的所有的自有字段,在分类表里面记录自有字段顺序的时候就可以使用该表的ID号。<table>tableseeoriginaldocumentpage9</column></row><table>表3在数据库以外,需要使用文本把各个自有字段的数据做一个镜像记录,这个记录(参见表4)里面要保存有这个自有字段对应信息的关键字段可以让它与数据库中的数据联系起来。<table>tableseeoriginaldocumentpage9</column></row><table>平时前台数据展示的时候,通过数据库的各个表的关系可以将分类数据存储字段中的数据拆分成需要的格式显示在前台页面。针对自有字段做修改的时候只需要在属性表里添改查相应的自有字段,然后修改分类表的数据就可以完成了整个数据模型的修改。在更新数据的时候就可以使用线下的文本,将要处理的数据处理和修改好,最后将修改后的数据重新合并好形成一个批次更新的数据库脚本,执行该脚本以后就完成了数据库数据的更新。图2示出了根据本发明的不规则字段存储系统的框图。该不规则字段存储系统200包括主体表建立装置202,用于建立主体表,将分类相同的基本字段存储在所述主体表中,其中,所述主体表还存储有分类类型字段和分类数据存储字段,所述分类数据存储字段用于存储自有字段信息;分类表建立装置204,用于建立分类表,将分类信息存储在所述分类表中,所述分类表还存储有自有字段信息在主体表中分类数据存储字段中的顺序;属性表建立装置206,用于建立属性表,将全部分类的所有的自有字段的属性存储在所述属性表中。所述分类信息实际上是指这个分类都存储有哪些自有字段以及这些自有字段所处的位置的对映关系。举例说明如果分类号是10000的信息内容为"1|2|3",那么就是意味着主体表中存储的实际数据为"1自有数据字段的内容\02自有字段的内容\03自有字段的内容(其中\0是隐藏的分割符)"。所述属性表记录的是所有自有字段的id(既编号)和该编号对应字段的名称以及其他有关该自有字段的属性。在分类表中的分类信息中保存的"1|2|3"中的数字1、2、3就是属性表中的自有字段id编,在上述系统中,优选地,使用不可见的控制字符隔将每个自有字段信息断开。在上述系统中,优选地,进一步包括镜像关系建立装置208,用于使用文本建立每个自有字段和数据库中的数据之间的镜像关系。每一个自有字段要对应一个文本文件;该文本文件要记录的内容包括本条数据记录在数据库中的唯一的标识,本数据属于的分类号和这条数据保存的自有字段的内容(如果该数据保存的该自有字段的内容为空的话则不出现这条记录)。在上述系统中,优选地,进一步包括更新装置210,用于通过数据库脚本进行数据库数据的更新。在上述系统中,优选地,所述更新装置使用线下的文本,修改所述不规则字段,生成批次更新的数据库脚本,执行所述批次更新的数据库脚本完成数据库数据的更新。数据库脚本的生成方法如下将做过修改的数据的唯一标识在分类所对应的自有字段文件里遍历,将该数据按照分类表描述格式,将所有自有字段组合成一条数据库的更新语句。最后把所有中数据的更新语句写进文本形成数据的更新脚本。数据更新自有字段的时候,实际修改的是文本镜像记录的内容,并且把做过修改的数据的唯一标识记录下来备用。通过上述技术方案,既避免了使用一个超级大表存储数据带来的大量冗余数据问题,又不会产生许多的表,就因此避免了许多零碎的表结构带来的维护开销。有某系统,同时拥有餐饮、超市、旅游景点和政府机关等多个分类。公共字段有名称、地址、联系电话分类号;餐饮分类的自有字段有特色菜和人均消费额,超市的自有字段有营业时间、货品数量和停车位数,旅游景点有门票价格和停车位数,政府机关有办公时间,蓉I亏亏°使用根据本发明的技术方案,将不论系统中使用多少个分类,我们只需要使用3个表就能描述全部的数据格式。在查询数据的时候,只需要查询主体表就能得到相应的全部数据内容而且没有冗余数据,在新增是否支持信用卡字段的时候,只需要更新数据库里面的数据,而原有的表的结构并不需要修改。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种不规则字段存储方法,其特征在于,包括建立主体表,将分类相同的基本字段存储在所述主体表中,其中,所述主体表还存储有分类类型字段和分类数据存储字段,所述分类数据存储字段用于存储自有字段信息;建立分类表,将分类信息存储在所述分类表中,所述分类表还存储有所述自有字段信息在主体表中分类数据存储字段中的顺序;建立属性表,将全部分类的所有的自有字段的属性存储在所述属性表中。2.根据权利要求1所述的不规则字段存储方法,其特征在于,使用不可见的控制字符隔将每个自有字段信息断开。3.根据权利要求1或2所述的不规则字段存储方法,其特征在于,进一步包括使用文本建立每个自有字段和数据库中的数据之间的镜像关系,在更新所述自有字段时,更新所述镜像关系,并记录经过修改的所述自有字段的唯一标识符。4.根据权利要求1或2所述的不规则字段存储方法,其特征在于,进一步包括通过数据库脚本进行数据库数据的更新。5.根据权利要求4所述的不规则字段存储方法,其特征在于,通过修改脚本进行数据库数据的更新具体为使用线下的文本,修改所述不规则字段,生成批次更新的数据库脚本,执行所述批次更新的数据库脚本完成数据库数据的更新。6.—种不规则字段存储系统,其特征在于,包括主体表建立装置,用于建立主体表,将分类相同的基本字段存储在所述主体表中,其中,所述主体表还存储有分类类型字段和分类数据存储字段,所述分类数据存储字段用于存储自有字段信息;分类表建立装置,用于建立分类表,将分类信息存储在所述分类表中,所述分类表还存储有所述自有字段信息在主体表中分类数据存储字段中的顺序;属性表建立装置,用于建立属性表,将全部分类的所有的自有字段的属性存储在所述属性表中。7.根据权利要求6所述的不规则字段存储系统,其特征在于,使用不可见的控制字符隔将每个自有字段信息断开。8.根据权利要求6或7所述的不规则字段存储系统,其特征在于,进一步包括镜像关系建立装置,用于使用文本建立每个自有字段和数据库中的数据之间的镜像关系,在更新所述自有字段时,更新所述镜像关系,并记录经过修改的所述自有字段的唯一标识符。9.根据权利要求6或7所述的不规则字段存储系统,其特征在于,进一步包括更新装置,用于通过数据库脚本进行数据库数据的更新。10.根据权利要求9所述的不规则字段存储系统,其特征在于,所述更新装置使用线下的文本,修改所述不规则字段,生成批次更新的数据库脚本,执行所述批次更新的数据库脚本完成数据库数据的更新。全文摘要本发明提供了不规则字段存储方法,包括建立主体表,将分类相同的基本字段存储在所述主体表中,其中,所述主体表还存储有分类类型字段和分类数据存储字段,所述分类数据存储字段用于存储自有字段信息;建立分类表,将分类信息存储在所述分类表中,所述分类表还存储有自有字段信息在主体表中分类数据存储字段中的顺序;建立属性表,将全部分类的所有的自有字段的属性存储在所述属性表中。既避免了使用一个超级大表存储数据带来的大量冗余数据问题,又不会产生许多的表,就因此避免了许多零碎的表结构带来的维护开销。文档编号G06F17/30GK101645085SQ20091009065公开日2010年2月10日申请日期2009年9月3日优先权日2009年9月3日发明者杜树峰申请人:北京用友移动商务科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1