电子数据库及其生成方法与流程

文档序号:18872934发布日期:2019-10-14 19:57阅读:371来源:国知局
本发明涉及数据处理领域,尤其涉及一种电子数据库及生成该电子数据库的方法。
背景技术
::已知在美国第5369761号专利中描述了一种系统,该系统用于数据库管理员为用户和程序员选择性地反规范化数据库。所述系统能够记录反规范化字段与派生出它们的基本字段之间的转换。数据处理器访问这些记录可以维护数据库的自我一致性,并在任何可能的时候从反规范化字段中检索数据。技术实现要素:基于开发人员对与现有
背景技术
:方案相关的至少一个技术问题的评估发明了一组发明实施方案。由于用户直接参与数据库结构的构建,现有技术的技术方案无法一直保障灵活性及运行的稳定性,因此开发人员研发了发明组。开发人员研发本发明的另一原因为,现有技术的技术方案可能需要手动设置规范化表和反规范化表字段之间的对应关系,在为手动提取数据提供便利的同时,也因存储重复数据增加了附加成本。现有技术的解决方案只是信息系统的一个片段解决方案,而不是生成的完整的解决方案。此外,在没有对应用程序架构进行其他操作,如进一步规范化,创建索引和数据分区(数据段或分区表)的情况下,该解决方案无法处理大批量数据。研发人员在研究了发明所需要解决的技术问题及创建通用数据库的必要性后研发了本发明组。所申请的发明组的技术效果为通过消除添加新数据以及生成请求和报告时的错误提高数据库的可靠性,降低因在处理大批量数据(数以万计条记录)时缺少必要的索引而导致生产力产生雪崩式下降的风险。根据所述发明组的第一个方面的电子数据库包括组织形式为单一表格的数据库元素,而单一表格至少包含四列,其中第一列用于存储数据库元素的识别号,第二列用于存储从属于其他数据库元素的数据库元素的父元素号,第三列用于存储数据库元素的值,第四列用于存储所使用的数据类型的代码;所述单一表格至少包含五行,其中第一行显示根元素,第二行显示数据类型,第三行显示术语,第四行显示术语要项,第五行显示数据。在一些实施例中,单一表格还包括用于存储同一从属地位元素之间的序列号的第五列。根据所述发明组的第二个方面的电子数据库生成方法是通过电子设备的数据库管理系统实现的,具体步骤如下:通过数据库管理系统将数据组织成单一表格,所述表格至少包含四列及五行;生成显示根元素的第一行,在第一行的第一列中存储第一个识别号;生成显示数据类型的第二行,在第二行的第一列中存储数据类型的唯一识别码,其中所述数据类型的唯一识别号区别于所述第一个识别号,在第三列中存储所使用的数据类型的名称,在第四列中存储数据类型代码;生成显示术语的第三行,在第三行的第一列中存储该术语的唯一标识号,在第三列中存储该术语的名称,在第四列中存储所使用的数据类型的代码;生成显示术语要项的第四行,在其第一列中存储术语要项的唯一识别号,在第二列中存储术语要项的父元素的标识号,而且所述术语要项从属于父元素;以及生成显示数据的第五行,在其第一列存储数据的唯一识别号,在第二列存储数据父元素的识别号,该数据从属于父元素,在第三列存储数据及在第四列存储数据类型的唯一代码。在一些实施例中,在所述方法中还会生成用于存储同一从属地位元素之间的序列号的第五列。由于采用所申请的发明组,信息存储在具有一定数量的列(纵行)的单个索引表中。因此,不需要更改数据库结构本身,即:添加或删除新的表格和链接,添加索引。一旦开发完成,所申请的系统对于任何用户任务都是通用的,而且通过清除添加,更改和删除数据时可能发生的错误来消除第三方干扰,从而确保系统的高可靠性和高稳定性。所申请的使用网页界面的电子数据库的通用性(多功能性)能对用户隐藏数据库及处理数据内部算法的所有技术细节,而且让用户能以其理解的语言使用数据模型:在不使用应用程序编程的情况下描述该学科领域的所有对象及其操作,这有助于提高系统的可靠性及可用性。在所申请的电子数据库中,所有数据都存储在由五列组成的单一表格中。这五列组成的集合足以构造出任意一种定义信息单元所有特征的数据结构:标识符(物理位置),类型,父级,值和顺序(该父级的在此类型元素之中的顺序)。第一列包含数据库元素的标识号(id),第二行是从属于其他元素的元素父元素标识号(parentid),第三行是元素的值(value),第四行是在该表中所描述的记录代码,所述代码用作此元素的类型(type),第五个是同一从属地位元素之间的序列号(order)。表一名称类型说明id整数唯一识别号parentid整数父级记录idtype整数元素类型idvalue字符串元素值order整数同一从属地位之间的顺序第五行(order)为可选项,用来于根据用户的请求进行调取排序。为表格构建的索引:primary(id)-唯一索引(主键);туре+value-类型和按值进行索引检索的数值;parentid+type-父元素标识号和用于使用索引检索元素要项的元素类型代码;对于高承载的系统来说,构建另一个索引会更加有用:туре+id-元素类型代码和用于加速访问某种数据类型的识别号。上述索引被用于快速调取数据以满足系统需求,所述需求包括收集元数据,即描述数据结构的数据,根据元数据和用户指令调取载有要项的类型副本以及修改数据。元素类型(туре)是一个识别表-字段组合模拟的唯一代码。因为在此字段上存在索引,所以可在限定空间内进行检索,即无需查看所有表格,只需查看与所需表格字段相关的那部分即可。从图1中可以看出,因索引(typeindex)的存在能够紧密存储并且无需查看整个数据表,就能快速查找数据表格(datatable)中的数据物理地址列表。数据,关系和从属的定义作为元数据都存储在数据本身所在的那个表中。每个元素(数据单元)占据至少一行表,其中记录了其标识号,父元素的标识号,数据类型和值(数据)。所述值的存储形式为一组有限长度的符号,例如127个字符。如果第三列value中的字段大小不足以存储元素的值,则该值的剩余部分将会写入到从属元素,即按照第五列order字段中所填写顺序进行编号的行。所述这些行具有特殊类型туре,相当于0,其在元数据中没有描述,但可主动使用在所申请的数据库中。在没有第五列order的情况下,第三列value中元素值的片段序列由它们的标识号(id)的序列决定。元数据从属于id为0的不存在元素,独立元素(对象)从属于id为1的根元素。元数据描述数据结构,且数据库管理系统根据该结构创建,存储和处理数据元素。所申请的数据库可理解下面列出的数据的基本类型,且能够创建出继承基本类型属性的新的基本和任意数据类型。用自己的id作为基本类型的类型,用基本类型或其他任意类型的引用作为任意类型的类型。表2中示出了数据的基本类型组合的示例。表2所述数据的基本类型被用作元数据并通过第三列value中的字段标识出来。用于定义类型的元数据记录在第四列туре中包含基本类型的标识符,或者在该记录本身描述基本类型的情况下它自己的标识符。数据的基本类型的属性具有有限和固定的组合,因此可被编程并用于处理和向用户呈现数据。基本类型的组合能够创建任意复杂度的任意数据结构。还可以使用任何现有的非基本类型的标识号的引用作为数据类型,从中可以看出两种类型之间的对应关系。因此,可以描述任意数量的相互关联的元素类型,其中每个元素都包含有任意数量的要项。表3中示出了数据库中的元数据和数据的描述的示例。表3具体实施方式所述方法的实施方式如下:通过数据库管理系统,例如mysql,使用sql编程语言从第一行中的根元素记录开始生成上述表格。然后,通过第一列id中分配的唯一标识号注明第二行和后续行中的数据基本类型。第二列parentid的单元格值设置为零,因为数据类型的元素没有父元素。在第三列value的单元格中注明数据类型的名称。在第四列type中以自己id作为数据的基本类型,即引用自己作为基本类型的类型。因为元素是独立的且缺少从属关系,因此在第五列order中的单元格值也设置为零。在后续的行中描述术语,所述术语用于向用户描述数据。该术语可以定义另一个之前注册过的术语引用。在第一列id中的单元格内注明术语的唯一标识号。第二列parentid的单元格内注明数值为零。在第三列value的单元格中注明术语的名称,或者当该术语为其他术语的引用时,所述单元格为空白。在第四列type中为术语赋予一个该术语的类型代码,所述代码可以为基本类型id,或者当该术语为其他术语的引用时为之前描述过的术语id。第五列order的单元格的数值为零。根据术语对从属于术语的要项进行描述,即用来向用户描述数据的术语参数或属性。在第一列id中的单元格内注明要项的唯一标识号。第二列parentid的单元格内注明父术语的标识号。在第三列value的单元格中可以存储附加的辅助信息,例如该要项的默认值,表明其存在的标志或者检查其有效性的掩码。在第四列type中的单元格内注明要项的类型,即之前描述过用于标识该术语用途和属性的元素id。第五列order的单元格被赋予在其他同级的术语要项中的从属顺序的数值。然后直接描述包含用户语义信息的数据,所述数据可以在处理用户请求时用于报表的填写。在第一列id中的单元格内注明数据单元的唯一标识号。第二列parentid的单元格内注明根元素的标识号,如果有父术语就注明父术语的标识号。在第三列value的单元格中注明数据值。在第四列type中的单元格内注明定义该特定记录属性的数据类型id。当存在若干个从属于另外同一个数据元素的同级元素时,第五列order的单元格被赋予数据从属顺序的数值。本领域技术人员应该清楚,所述行和列的填写顺序为示例并且用于描述本发明的本质。在每一种特定情况下,行和列的顺序可以根据表中添加,更改和删除信息的顺序而不同。在本说明书的上下文中,sql(结构化查询语言)是一种正式的非程序性编程语言,该语言用于在任意关系数据库中创建、修改和管理数据且由适当的数据库管理系统(dbms)管理控制。在本说明书的上下文中,mysql是一种免费的关系数据库管理系统(dbms)。在本说明书的上下文中,网页界面是用户通过浏览器与网站或任何其他应用程序交互方式的集合。在本说明书的上下文中,数据库是以客观形式呈现的一组独立数据。在本说明书的上下文中,数据库管理系统(dbms)是一套通用或专用于管理数据库的创建和使用的软件和语言工具。在本说明书的上下文中,数据库元素(单元)是作为数据库的结构单元的根元素、数据类型,术语,要项或数据。在本说明书的上下文中,索引是为了提高数据搜索性能而创建的数据库对象。数据库中表格会具有大量以任意顺序存储的行,按照预设条件通过逐行顺序查看表格的方式检索行可能会花费很多时间。索引是由按值排序的表的一行或几行数值和指向表格相应行的指示符组成,这样可以快速检索到满足搜索条件的行。在本说明书的上下文中,“服务器”是在适当的设备上运行并且能够通过网络接收请求(例如,来自电子设备)并执行这些请求或调用这些请求用以执行的计算机程序。所述设备可以是一台物理计算机或一套物理计算机系统,然而,这对于本申请的实施例来说不是必需的。在上下文中,“服务器”这一表述的使用并不意味着用该服务器(即软件和/或设备)来接收、执行或重复每一项任务(例如收到指示或请求)或任何特定任务。而是意味着任何数量的软件或硬件设备都可以参与接收/发送,执行,或者成为执行任何任务或请求的原因或者任何任务或请求的后果。所有这些软件和硬件可以是一个服务器或多个服务器,其表达式为“至少一个服务器”。在本说明书的上下文中,“电子设备”是任何一台能运行相应任务软件的计算机设备。在本说明书的上下文中,“电子设备”这一术语意味着该设备可以用作其他电子设备的服务器,然而,这对于本发明组来说不是必需的。因此,个人计算机(台式计算机,笔记本,上网本等),智能手机和平板电脑,以及诸如路由器,交换机和网关之类的网络设备都是一些(非限制性的)电子设备的示例。应当理解的是,在该上下文中,设备用作电子设备并不意味着不能用作其他电子设备的服务器。“电子设备”这一表述的使用并不排除在接收/发送,执行或调用任何任务或请求或者任何任务或请求的结果或者本文所述的任何方法的步骤时使用多个电子设备。在本说明书的上下文中,“信息”这一表述包括可以存储在数据库中的任何性质或类型的信息。因此,所述信息包括但不限于:视听作品(图像,电影,音频,演示文稿等),数据(位置数据,数字数据等),文本(意见,评论,问题,消息等),文件,表格等。在本说明书的上下文中,“软件构件”这一表述表示有一种必要的且足以实现建立链接的特定功能的软件(对应具体的硬件)。在本说明书的上下文中,“第一”,“第二”,“第三”等这些词是形容词,仅用于表示与之相关联的名词之间的差异,而不是用于描述这些名词之间的任何特定关系。例如,应该理解的是,术语“第一数据库”和“第三服务器”的使用并不意味着任何特定的顺序,类型,年表,层级或排名,例如服务器之间的排名。这两个术语(本身)的使用并不意味着在任何特定情况下都必须存在任何“第二服务器”。另外,在其他上下文中也如这里所述一样,对“第一”元素和“第二”元素的引用不排除这两个元素在现实世界是相同的实际元素。因此,例如,在一些情况下,“第一”服务器和“第二”服务器可以是同一个软件和/或硬件组件,在其他情况下,它们可以是不同的软件和/或硬件组件。本申请的实施例至少实现一种上面所述的目标和/或方面,但不一定实现所有这些目标和/或方面。应当理解的是,试图达到上述目标的发明组的某些方面可能不符合这个目标而且/或者符合此处未明确指出的其他目标。从下述的说明书,附图和所附权利要求书中可明显看出本发明组实施例的附加和/或其他的特征、方面和优点。附图说明基于下述的说明书,所附权利要求书和附图,所申请发明组的这些和其他特征,方面和优点将会更加清楚。图1为表中索引和数据类型的列表表示。图2为“客户”和“会谈”数据块的列表表示。图3为“合同”数据块的列表表示。图4为“类型”选项卡中编辑器的视图。图5为编辑器字段与列表表示字段的对应关系。图6为用于生成报告的表单。图7为已生成报告的视图。具体实施方式本文所给出的示例和条件语言主要是用于帮助读者理解所申请的发明组的原理,而不是用这些示例和条件限制其应用范围。应当理解的是,本领域技术人员可以开发出不同的装置,尽管这些装置未在此处明确描述或示出,但仍体现了所申请的发明组的原理并且包括了其本质和应用范围。另外,为了便于理解,下面的说明书会描述所申请的发明组的相对简化的实施方式。如本领域技术人员所理解的,所申请的发明组的各种实施方式可以是非常复杂的。在某些情况下,还可以阐述一些有用的所申请的发明组的变体示例。这样做是为了便于理解,并且同样不是为了确定所申请的发明组的应用范围或边界定义。这些变体不是详尽的列表,并且本领域的专业人员在保持在所申请的发明组的范围内情况下可以进行其他改变。此外,如果没有提供变体的示例,则不应该理解为不可进行修改和/或所描述的是实现所申请的发明组的唯一方式。此外,此处所引用的列出了所申请的发明组的原理,方面和实施方式,以及它们的具体示例的所有陈述都是为了涵盖与其结构和功能相同的发明,无论是目前已知的或是未来开发的。因此,例如,本领域技术人员将理解,本文的任何框图都是概念性表示出体现所申请的发明组原理的说明示意图。还应当理解的是,任何框图、图表、伪代码等仅表示各种流程,所述流程可以主要呈现在计算机可读介质上并且由计算机或处理器执行,同时不用考虑是由计算及明确显示还是由服务器明确显示。在图1-图7中使用了以下符号:1-术语,2-要项和3-数据。dbms和数据库本身都位于服务器上,用户可以通过网页界面进行互联网访问,也可以在用户计算机上进行本地使用。在使用安装在标准个人计算机上的浏览器通过互联网注册所申请的系统之后,用户接收可访问数据库管理的授权配置文件。所申请的系统在同一数据库中对用户,其配置文件和访问数据的限制进行描述说明。图2和图3示出了用户填写的数据块列表表示,其中“客户”,“会谈”和“合同”是术语1,“客户”,“类别”,“电话”,“日期”等名称是术语1的要项2,在表格的单元格中指的是数据3本身。信息系统的主要问题在于随着系统复杂性的增加,维持它的成本不断上涨,而且开发和维护的成本通常会呈指数级增长(见图8)。这里有两个主要风险因素:缺乏软件的开发和选择数据库架构时的妥协。所申请的系统允许用户独立地设置任意复杂的数据结构及其处理的规则,而无需创建数据库表,索引,存储过程和函数,程序代码。因此,不必求助于昂贵的开发团队:分析师,首席开发人员,程序员/编码员,测试人员,实施工程师。所申请的发明组使用现成的软件代码和形式为有限的原始程序块的架构解决方案,从所述程序块中可构建出任何复杂的信息系统,从而确保了系统的多功能性,其中维护成本与系统复杂性的关系是良好的线性关系。一定的数据冗余让本发明具有了这个优点,因为其中所有存储的数据和计算都编入了索引,而这些成本远低于维护开发团队的时间和材料成本。“设计和实施程序代码和数据库时的人为因素”这个最重要的风险完全被排除在外。用户可以使用任何方法添加,获取,更改和删除可在任何应用程序编程平台中使用的数据。该系统允许创建用户界面的任意模板和表单,其中填充按照任意规则选择的数据,更改数据并将其保存在数据库中,从而无需使用编程本身就能生成应用程序的界面和逻辑。换句话说,所申请的发明组提供了一套完整的应用软件开发工具。图4显示的是类型编辑器字段,所述编辑器允许用户设定数据类型及其要项(属性),基于所申请的系统的单个表为每个特定情况创建特定的数据层次结构。用户可以看到系统所训练的所有类型,以及它们的从属和关系。特别是,用户看到“客户”类型的要项有“电话”、“类别”、“会谈”。另外,“类别”是一个参考值,所述值由“类别”目录中的记录链接决定。“会谈”是一个从属的记录数据组。所申请的系统可以在不透露技术细节的情况下将所有这些呈现给用户,在该过程中用户只需使用自己的业务术语和两个简单的助记符:引用目录的前缀“->”和数据的基本类型(date,chars,number等)。准备使用类型目录的充分条件是一个精通microsoftexce的用户,因此目前大多数办公室工作人员都可以使用。图5显示了类型编辑器的字段与列表表示字段的对应关系。类型编辑器能够创建用户可理解的业务要点表格。用户可以调整表格中列的顺序(类型编辑器中的“︿”图标可将要项移动到上面的一行)并指定类型要项的必填项(方括号中的感叹号“[!]”表示该要项是必填的)。类型编辑器中所指定的结构相应地显示在所申请系统的目录表中。图6和图7分别显示了用于生成报表的表单及其视图。报表的构建包括从全部可用的类型集中选择出任意数量的报表列。系统仅允许选择相关类型,而且不需要用户指定,也就是关联所选择的类型。系统通过类型编辑器中给出的以引用和从属数组形式出现的关系自行完成此项操作。报表生成器功能能够实现选择,过滤和聚合sql语言中,包括嵌套报表中的数据这些基本功能。此外,在构建报表时,可以使用系统实现的关系数据库的所有内置函数。“报表列”的表字段用途如下:“报表中的名称”-默认情况下显示“报表列”的名称,即“报表列”的值。“公式”-设置计算表达式或列的别名。在最后一个位置上的报表列的下拉列表中的值为“已计算”。这是一个合成字段,允许插入sql语言中可用的任意运算符和函数。在这种情况下,如果在“公式”字段中设置了别名,那么可以使用其他任何“报表列”。如果在“公式”字段中遇到方括号中的表达式,系统将尝试查找相应的报表并使用其中的数据,如嵌套报表中的数据。“值(起),值(止)”-范围值(对于日期和数字而言)或掩码(对于文本而言)。如果“公式”列中的名称被括在方括号中,则允许使用其他报表字段的值。“函数”-用于字段值的聚合函数,包括:avg(平均值),count(数量),max(最大值),min(最小值),sum(总计)。跨过所有不使用聚合(非上述任何一个函数)的字段对该函数计算出的值进行分组。“函数(起),函数(止)”-函数(类似于sql中的having关键字)字段中指定的函数经过计算后所使用的范围值(对于日期和数字而言)或掩码(对于文本而言)。如果公式列中的名称被括在方括号中,则允许使用其他报表字段的值。“隐藏”-如果选中该框,则相应的列将不会显示在报表中,但该列的值可用于报表的计算,筛选和分类。“格式”-最终的字段显示格式。用于将值换算成所需的形式。“分类”-报表分类的序列和方向的指标。这里的负数将给出逆序分类(降序值)。“总计”-应用于报表列值的聚合函数如果指定了至少一列中的函数,会在报表中导出具有对应值的汇总字符串。基于用户可访问的通用系统,所申请的发明组能够为每种情况组织单独的数据库,从而显示使用过程中的高可靠性。应该清楚地理解,并非本文件提到的所有技术效果都要用于所申请的发明组的每个实施例中。例如,所申请的发明组的实施例可以在用户不使用这些技术效果的情况下实现,而其他实施例也可以由用户使用或不使用其他技术效果来实现。对本领域技术人员来说,对上述所申请的发明组实施例的修改和改进是显而易见的。因此,所申请的发明组的范围仅受所附权利要求书的范围的限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1