发明内容
本发明针对现有技术的不足,提出了一种同时兼顾易用性和通用性,可根据实际需求动态设计客户端的功能模块,且在客户端无需进行新的代码编写的面向用户的数据库管理***。
本发明的技术方案如下:
一种数据库管理***,其特征在于:它包括后台数据库、管理平台和客户端,所述管理平台中设置数据管理模块、配置信息模块、查询条件管理模块、查询语句编辑模块;所述管理平台在所述客户端上设置查询界面,所述客户端通过查询界面选择查询条件输入所述管理平台;所述数据库管理模块与所述后台数据库连接,并将一个或一个以上的数据库应用设置在所述后台数据库中;所述配置信息模块为每个所述后台数据库设置所述数据库应用的配置数据,所述配置信息模块向所述查询条件管理模块输出条件变量集,向所述查询语句编辑模块输出主查询语句集和数据库连接参数;所述条件变量集中的条件变量与所述查询条件一一对应,条件变量设置在所述主查询语句中;查询条件转化为参数序列替换所述条件变量的变量名,使所述主查询语句转化为查询语句后输入所述后台数据库,输出与查询语句对应的数据库应用查询结果。
所述参数序列组中的参数包括数据类型、显示标签、默认值、下拉列表设置参数、控件大小和显示位置。
当需要将多类查询结果同时显示在一个查询结果集中,所述配置信息模块向所述查询条件管理模块输入分组变量,按变量值序列组的顺序,依次将每一个变量值序列中的分组变量值代入到所述查询语句编辑模块的主查询语句中,将所有分组变量名替换成对应的变量值;每一组分组变量名执行一次子查询语句,依次执行多组子查询语句得到查询结果集。
所述数据库应用是数据在所述后台数据库中的存储项目,一个后台数据库中可预置多个数据库应用,每个数据库应用可同时连接多个不同的后台数据库。
所述配置信息模块向数据结果显示模块输出查询结果显示参数,所述数据结果显示模块结合所述查询结果和所述查询结果显示参数,在所述客户端中显示查询结果集。
所述管理平台还包括一用于将查询结果生成数据和/或图表显示的数据图表显示模块,所述配置信息模块向数据图表显示模块输出所述查询结果显示参数。
所述管理平台通过ADO接口与所述后台数据库进行信息交互。
所述管理平台通过ADO接口与所述后台数据库进行信息交互。
所述管理平台通过ADO接口与所述后台数据库进行信息交互。
所述数据库应用以目录树的方式显示在所述数据库目录中。
本发明的技术效果如下:
本发明的一种数据库管理***,它包括后台数据库、管理平台和客户端,管理平台中设置数据管理模块、配置信息模块、查询条件管理模块、查询语句编辑模块;客户端上设置查询界面,管理平台可在任一查询界面登录;数据库管理模块与后台数据库连接,并将一个或一个以上的数据库应用设置在后台数据库中;配置信息模块为每个后台数据库设置配置数据,配置信息模块向查询条件管理模块输出条件变量集,向查询语句编辑模块输出主查询语句集和数据库连接参数。由于条件变量集中的条件变量与查询界面上显示的查询条件一一对应,查询条件转化为参数序列替换主查询语句中条件变量的变量名,生成查询语句后输入后台数据库,因而查询条件由用户选择后通过条件变量与主查询语句动态的结合,可以在实现查询***的动态管理,扩展原有***的查询功能。本***中的主查询语句、条件变量和查询条件均可由管理员设计,而普通客户只需在客户端的查询界面上选择需要的查询条件,并输入相应参数,即可实现由查询条件到查询语句的映射,无需直接使用基本的数据库语言对后台数据库进行操作。
本发明的***分为管理员和普通用户两种工作模式,管理员负责在管理平台中对数据库应用、主查询语句、条件变量和查询条件进行设计,普通用户只有在客户端的使用权限,解决了软件通用性和易用性的矛盾。客户端的查询界面的查询和分析选项均采用动态生成,普通用户可极为方便的扩展自己的应用,而无需编写新的程序代码,具有很强的可扩展性。
本***中条件变量可以设置为独立的查询语句,因此可以根据其它查询条件选择的结果动态产生满足条件的列表内容,而不会显示无用信息。分组变量不是必需的,只有当用户需要将多类查询结果同时显示在一查询结果集当中,而这些统计数据的查询条件、计算方法均不同,无法使用单一的查询语句完成的情况下,才会用到分组变量。上述设置使得本***具有高度灵活性和可扩展性的特点。
具体实施方式
下面结合附图对本发明进行说明。
如图1所示,本发明面向用户的数据库管理***包括后台数据库1、管理平台2和客户端3,管理平台2中设置有ADO(ActiveX Data Obiect)接口21、数据管理模块22、数据库应用目录23、配置信息模块24、查询条件管理模块25、查询语句编辑模块26和智能整合模块27。其中普通用户使用客户端3通过管理平台2对后台数据库1进行访问,用户通过客户端3显示界面的下拉菜单中选择查询条件,实现查询和分析数据的操作;管理平台2向客户端3提供用于数据管理、查询和分析的显示界面,避免了普通用户需要编辑基于数据库语法的查询命令;管理员可在管理平台2上对使用客户端3的普通用户设置使用权限,普通用户无法修改管理平台2中的设置。ADO接口21是Microsoft开发数据库应用程序的面向对象的通用数据库访问接口,具有通用性强的特点,可使管理平台2连接到后台数据库1中Access、dBase、Oracle、SQL Server、Visual Foxpro、MySQL等当前常见的数据库***,也可实现管理平台2同时管理多个不同的后台数据库1。
数据管理模块22通过ADO接口21与后台数据库1进行交互,使得管理员可在台数据库1中预置在当前后台数据库1中的数据库应用。其中数据库应用是数据在后台数据库1中的存储项目,如细纱产量统计表、细纱质量统计表等数据表,数据库应用的功能完全取决于管理员的设置。根据数据库应用的内容,一个后台数据库1中可预置多个数据库应用,每个数据库应用也可以同时连接多个不同的后台数据库1。数据库应用目录23用于管理上述的数据库管理模块22中的数据库应用,采用目录树的方式来显示不同数据库应用的分级信息及其层次关系,并对客户端3设定访问不同数据库应用目录的权限;管理平台2的管理员可自由增多、删除和管理不同的数据库应用,如数据录入模块、数据查询、和数据分析、图表等功能模块。
配置信息模块24中为每个后台数据库1设置了单独的配置数据,用于存储当前数据库应用的相关设置信息,根据设置的不同,可以在客户端3上实现多种不同的数据库管理功能。客户端3在打开一个数据库应用目录或数据库应用之前,先要从管理平台2的配置信息模块24中读取相关配置数据,之后在客户端3动态生成客户端3的用户查询界面,普通用户可通过用户查询界面的下拉菜单选择所需要的查询条件。配置数据采用类似标准Ini文件结构,配置数据包括数据库连接参数241、分组变量集242、条件变量集243、主查询语句集244和查询结果显示参数245,查询结果显示参数245可分为数据表显示参数和图表显示参数。
数据库连接参数241中存储了当前数据库应用的对应的后台数据库1的连接信息,***可同时设置多个不同的后台数据库1连接,每一个单独的数据库应用可选择性的使用这些连接。
条件变量集243中存储了多个不同的条件变量,包括条件变量名序列及其对应的参数序列组。条件变量包括变量名和参数序列,每一个条件变量都可以对其中的参数序列进行单独设置,这些参数包括有:数据类型,包括字符型、数字型、逻辑型、日期型等;显示标签,包括提示信息;默认值,包括默认显示值;下拉列表设置参数,包括列表集对应显示值列表、只读与否设置等;控件大小;显示位置等等。管理员可在条件变量集243中自由定义客户端3下拉菜单中显示的查询条件设置,条件变量与客户端3用户查询界面中显示的查询条件一一对应,***根据查询条件的数据类型动态生成不同类型的控件。如果是字符型数据,则查询条件对应的是一个下拉列表控件,条件变量可以设置为独立的查询语句,因此可以根据其它查询条件选择的结果动态产生满足条件的列表内容,而不会显示无用信息。
分组变量集242中存储了多个不同的分组变量,包括分组变量名序列及其对应的变量值序列组两个部分,变量值序列由一组分组变量值构成。***在查询时按变量值序列组的顺序,依次将每一个变量值序列中的分组变量值代入到主查询语句中,将所有分组变量名替换成对应的变量值。每一组分组变量名执行一次子查询语句,***依次执行多组子查询语句得到最终的查询结果集合,最后将查询结果进行整合显示。分组变量名对应的变量值由字符串构成,可以包含查询语法,因此灵活性强,可弥补单个查询语句无法完成的查询需求。
条件变量以指定符号“&”开头(以“&变量名&”表示),代表了普通用户选择或输入的查询条件对应的参数值,当普通用户在客户端3选择了一个查询条件时,***将查询语法中的条件变量用查询条件对应的参数值进行替换,转化为后台数据库1能直接执行的查询语句。当普通用户需要将多类查询结果汇总到一起时,就要用到分组变量,通常应用于每个查询的条件不一样的情况,直接用常规的查询语句无法得到理想的查询结果。分组变量以指定符号“”开头(以“变量名”表示),用于多次循环得到不同的查询结果,相当于根据分组变量的不同子项分别得到不同的子查询语句,每个子查询语句执行一次独立的查询得到子查询结果,再将各个子查询结果利用智能整合模块27连接到同一查询结果中,生成普通用户容易理解的查询结果。在实际使用中,分组变量不是必需的,只有当用户需要将多类查询结果同时显示在一查询结果集当中,而这些统计数据的查询条件、计算方法均不同,无法使用单一的查询语句完成的情况下,才会用到分组变量。
主查询语句集244中存储了主查询语句,用于从后台数据库1执行查询并得到查询结果;主查询语句是作为一段字符串存储在配置表当中,管理员在编辑器中进行编辑。因为本发明中采用ADO接口21,因此查询语法完全取决于后台数据库1的类型,有极强的通用性。本发明对主查询语句进行了扩展,允许管理员加入分组变量和条件变量来满足动态查询的要求。***查询时将用户选择的查询条件转化为参数序列,替换所述条件变量的变量名,使主查询语句转化为查询语句后输入后台数据库1,从而转化为最终后台数据库1支持的查询语法。
查询结果显示参数245中存储了查询结果的界面显示、统计项、图表设计等设置参数,用于在用户查询界面中显示普通用户需要的数据分析结果。这些参数中都引用了条件变量名的概念,因此能够动态的实现要显示的结果。
查询条件管理模块25用于管理员对每一个查询条件对应条件变量的参数序列组进行设置,其中对用户选择的查询条件动态管理通过如下方式实现:***从条件变量集243中读取条件变量的变量名,根据每一个条件变量在参数序列组中的参数,动态创建普通用户可直接操作的查询条件控件及其布局信息;普通用户在客户端3的下拉菜单中选择不同的查询条件时,通过条件变量中的参数序列组的设置信息,生成下拉菜单当中的动态数据信息。
数据库应用目录23中的每一个数据库应用都具有单独的查询语句编辑模块26,查询语句编辑模块26的核心是基于后台数据库1对应的查询语法,包括条件变量和分组变量两类增强变量。查询语句编辑模块26将普通用户在下拉菜单中选择的查询条件与查询语法结合起来,使每个查询条件对应一个条件变量,达到动态查询的目的。管理员可在主查询语句集244中输入主查询语句,用以编辑条件变量及其相关参数序列组,而查询语法取决于对应的后台数据库1的数据库类型,因而通用性强。
智能整合模块27将查询语句编辑模块26中的查询语句和查询条件管理模块25中普通用户选择的查询条件进行整合,对查询语句编辑模块26中的条件变量集243和分组变量用具体的值进行替换,即令查询条件的结果作为条件变量集243的值,最后生成后台数据库1可直接执行的主查询语句集244,并交由后台数据库1中执行查询操作。
为了方便普通用户在客户端3查阅和操作查询结果,在客户端3上还设置了数据结果显示模块28和分析图表显示模块29。其中数据结果显示模块28用于将条件变量集243的查询结果转化通过电子表格的形式显示出来,并将分组变量中包含的多个子查询语句的子查询结果编辑成为一张电子表格,电子表格显示的格式和数据组合的方式由后台数据库1的配置数据的查询结果显示参数245中的数据显示参数决定。分析图表显示模块29用于对电子表格中的数据进行进一步的分析、加工,并生成图表,而具体的分析项目、图表类型、显示内容由配置数据中的查询结果显示参数245中的图表显示参数决定。
如图2所示,本发明的数据库管理***的操作过程可分为面向管理员和面向普通用户两种,其中面向管理员的操作过程包括以下步骤:
1)以管理员身份登录管理平台2;
2)选择所连接的当前后台数据库1,并在数据管理模块22中设置后台数据库1的数据库应用;
3)在数据库应用目录23中编辑数据管理模块22中的数据库应用,新增、修改、删除目录中的数据库应用;
4)在查询语句编辑模块26中输入数据库应用的主查询语句,可以根据需要选择性的加入条件变量和分组变量;
5)在配置信息模块24中对每个后台数据库1设置相应的配置数据,配置数据包括数据库连接参数1、分组变量集242、条件变量集243、主查询语句集244和查询结果显示参数245。
面向普通用户的操作过程包括以下步骤:
a)以普通用户身份登录客户端3;
b)在用户查询界面显示的数据库应用目录23中选择所需要的数据库应用;
c)在数据库应用的下拉菜单中选择查询条件;
d)点击“查询”按钮;
e)用户查询界面显示需要的电子表格或图表。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明创造,但不以任何方式限制本发明创造。因此,尽管本说明书参照附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换,总之,一切不脱离本发明创造的精神和范围的技术方案及其改进,其均应涵盖在本发明创造专利的保护范围当中。