一种介电常数数据库检索方法及系统的制作方法

文档序号:6402032阅读:363来源:国知局
专利名称:一种介电常数数据库检索方法及系统的制作方法
技术领域
本发明涉及数据库检索领域,尤其涉及一种介电常数数据库检索方法及系统。
背景技术
矿物的介电常数在许多科研领域都有重要的参考价值,介电常数是指物质保持电荷的能力,又称电容率或相对电容率,表征电介质或绝缘材料电性能的一个重要数据。在冶金领域,矿物介电常数数据库所涉及的矿物记录非常多,而在大量记录的数据库中如何根据用户的检索词有效的检索出用户需要的信息也是各种专业领域数据库系统的一个重要研究方向。通常在数据库中检索矿物介电常数时,会根据矿物的名称来进行检索。如检索“硫铁矿”,采用常规的数据库检索方法,可以应用SQL (Structured Query Language)语句来检索数据库的表(Table)中的某个字段(Field)的值为某一指定的值,例如:“SELECT矿物名称,介电常数FROM矿物介电常数表WHERE矿物名称=‘钛铁矿’ ”这样的语句来检索数据库。这种检索方式往往检索到单一的信息,而无法得到与“钛铁矿”相关联的矿物,如“猛铁矿”、“硫铁矿”的介电常数信息。这种方式下,用户往往需要多次输入检索词才能检索到所需要的信息,而且每次的显示结果都是单一的,不能将一些用户需要的信息整合到一起显示,以便用户对比研究。目前很多检索系统是通过提供高级检索方式,由用户输入多个检索词以构造检索语句来实现,而这种方式也需要用户录入较多的检索词,很不方便用户的使用。为了得到更多的信息,对单一检索词,通常的做法就是将SQL语句的条件表达式改为模糊检索方式,并将检索词进行拆分,如:对“硫铁矿”可以拆分成条件表达式“矿物名称LIKE ‘%硫%’”、“矿物名称LIKE ‘%铁%”,和“矿物名称LIKE ‘%矿%’”,然后将这些条件表达式构造为检索语句在数据库中进行检索,最后将检索结果通过UNION连词合并起来。这种检索方式又将会检索出大量的与用户的期望不相关的信息,用户需要花费大量的时间来自行筛选和判断,也就是说,信息量很大,但相关度却很低。另一种方法就是按一定的专业术语的规律来解析检索词,如将“硫铁矿”解析为“硫铁矿”和“铁矿”,而将“锰铁矿”解析为“锰铁矿”和“铁矿”,然后再进行模糊检索。但是很多专业术语并没有统一的规律可循,如“钛精矿”,如果解析为“钛精矿”和“精矿”显然不合适。同时,使用模糊检索方式,数据库系统在检索时将会扫描文本性字段,如果过多使用模糊检索将会导致系统的检索性能下降。

发明内容
针对上述问题,本发明提供了一种介电常数数据库检索方法,包括如下步骤:
(A)建立概念树:利用所属领域的概念间内在的某种关联因素建立概念树,所述概念树分为多层,第一层为根结点,除根结点外,概念树中的每一结点至少包括一个或一个以上的数据库表中检索字段的值以及权值;(B)在概念树中搜索用户检索词,以得到更多相关检索词:当获取用户输入的检索词后,在所述概念树中按照一定的策略搜索检索字段的值,如果存在该结点检索字段的值与检索词相匹配,则按规则将该结点及其相关结点插入一个结点列表中,完成搜索后,返回该结点列表;
(C)生成查询条件表达式:若返回的结点列表不为空,则顺序遍历结点列表中的结点,将检索字段的值与检索词相匹配的字段按“字段名=字段值”组成表达式,多个表达式之间用逻辑连词“OR”进行连接。当遍历完整个结点列表后,生成一个完整的SQL查询条件表达式,执行下一步骤(D),若返回的结点列表为空,则返回空的最终的检索结果;
(D)检索数据库:根据生成的查询条件表达式,进一步生成完整的SQL查询语句,提交给数据库进行检索并返回结果集;
(E)检索结果重新排序:对结果集在内存中按结点列表中结点的权值重新进行排序,并返回最终的检索结果,清空结点列表。步骤(B)中,若概念树为η层,为提高检索信息的相关度,所述搜索策略为:先搜索第η层,即先搜索叶结点,若搜索完第η层,有检索字段的值与检索词相匹配的结点,按规则插入结点列表,并返回结点列表,结束搜索;若没有搜索到,则继续搜索第η-1层,以此类推,直到搜索到第I层的根结点,则表明搜索失败,返回空的结点列表。步骤(B)中,为量化相关度,依据概念树的层数,引入相关度参数,在所述结点列表中插入搜索到的结点及其相关结点的规则是通过相关度参数来决定的:
相关度参数r,概念树的层数为n,相关度参数r的取值范围为:Kr < n,当在第i层搜索到结点,其相关度参数r ^ i,则将该结点及其子孙结点插入所述结点列表中,对叶结点,仅插入该叶结点到所述结点列表中;若r〈i,则将该结点在第i层的父结点及其父结点的所有子孙结点插入所述结点列表中。步骤(A)中,所述的概念树进一步构造为:第一层为根结点,第二层为金属元素,第三层为化合物,第四层为矿物,金属元素结点的子结点为含该金属元素的化合物,化合物结点的子结点为含该化合物的矿物,除根结点外,每个结点的信息除包括矿物名称的字段值外,还包括分子式、品位和权值,矿物结点的品位为该结点的矿物所含其父结点的化合物的含量,为百分比,其余结点的品位均设置为I。在步骤(B)中,所述概念树的结点的权值是在每次搜索到结点后,插入结点列表时动态计算的,结点的权值是这样来计算的:当被检索到的结点的品位为P,其权值W,需要提高权值,则W=p+1 ;而对其子结点、兄弟结点或父结点,需要降低权值,当某一结点的品位为Pi,则该结点对应的权值为Wi=PiXPc本发明还提供了一种介电常数数据库检索系统,该系统包括:
数据库,至少包括矿物介电常数表和矿物成份表;
数据库管理模块,用于维护数据库中各种表的记录;
概念树生成模块,用于从已有的数据库的记录在内存中自动生成概念树;
界面输入模块,用于向用户提供输入界面并获取用户输入的检索词,将检索词传送给SQL语句生成模块;
SQL语句生成模块,用于接收界面输入模块传入的检索词,并在概念树的制导下,得到完整的SQL查询语句,将SQL查询语句 传送给数据库检索模块; 数据库检索模块,用于与数据库系统交互,向数据库系统提交完整的SQL语句,并将数据库系统返回的检索结果集在内存中按权值重新排序,将排序后的最终的检索结果传送给界面显示模块;
界面显示模块,将最终的检索结果向用户友好的显示。所述概念树生成模块进一步包括:金属元素管理模块,用于维护金属元素列表;化合物与矿物信息提取模块,用于提取数据库中化合物及矿物信息列表。在生成概念树时,概念树生成模块首先生成根结点;再根据金属元素管理模块提供的金属元素列表生成第二层的金属元素结点;接下来,利用化合物与矿物信息提取模块提供的化合物及矿物信息列表,根据化合物中是否包含第二层的金属元素生成第三层的化合物结点;最后,根据化合物及矿物信息列表中是否包括第三层的化合物生成第四层的化合物结点,进而完成整个概念树的生成。所述SQL语句生成模块进一步包括:概念树搜索模块,用于搜索概念树,查找与检索词有匹配的检索字段值,并将匹配的结点及其相关结点插入到结点列表中;SQL查询表达式生成模块,利用结点列表中的结点生成SQL查询表达式;SQL语句装配模块,根据SQL查询表达式生成完整的SQL语句并传送给数据库检索模块。数据库检索模块进一步包括:数据库交互模块,用于与数据库系统交互,连接数据库并向数据库系统提交SQL查询语句,接收数据库系统传回的检索结果集;结果集排序模块,用于将数据库交互模块返回的检索结果集,结合结点列表中结点的权值重新排序,将排序后的结果传送给界面显示模块,并清空结点列表。本发明的有益效果是:
1)本发明的基本思路是利用领域概念之间的某种内在的关联关系建立概念树,将用户检索词使用概念树制导,得到更多的与用户检索词相关联的检索词,利用“0R”逻辑连接词生成条件表达式,进而提闻传统关系型数据库检索的相关性,实际应用表明,本发明大幅提高了传统关系数据库信息检索的相关度,节省了用户查找信息的时间;
2)结合概念树,进一步量化相关度,引入相关度参数,为用户检索信息时,在精确与模糊之间提供了更多的选项,更加方便了用户的使用;
3)利用检索词及概念之间的关系动态计算权值,再利用动态权值重新进行排序,使得系统能够更好的“感知”用户,进一步提升用户体验;
4)整个检索仅在单条查询语句中完成,而且不包括任何子查询,便于数据库系统执行查询优化的同时,还有效减少了与数据库系统的交互和减少了数据库系统的负担,提高了整个系统的执行效率;
5)提高检索信息的相关度的同时,避免了使用Like操作符,提高了数据库系统的检索速度。


:
图1是本发明的一种介电常数数据库检索方法的主要流程 图2是本发明的一种介电常数数据库检索系统的结构框 图3是本发明的实施例的矿物概念树的示意图。
具体实施方式
:
为了使技术人员对本发明的目的、优点更加明白,下面结合附图对本发明做进一步说明。实施例1:
如图1所示,为本发明所述方法的主要流程。该方法包括:
步骤SlOl:建立概念树,利用所属领域的概念间内在关联因素建立概念树,所述概念树分为多层,第一层为根结点,除根结点外,概念树中的每一结点至少包括权值以及一个或一个以上的数据库表中被检索的字段的值;
概念树构造为:第一层为根结点,第二层为金属元素,第三层为化合物,第四层为矿物,金属元素结点的子结点为含该金属元素的化合物,化合物结点的子结点为含该化合物的矿物,除根结点外,每个结点的信息除包括矿物名称的字段值外,还包括分子式、品位和权值,矿物结点的品位为该结点的矿物所含其父结点的化合物的含量,为百分比,其余结点的品位均设置为I。步骤S102:在概念树中搜索与用户检索词相关联的检索词,当获取用户输入的检索词后,在所述概念树中搜索字段值,如果存在该结点的字段值与检索词相匹配,则按规则将该结点及其相关结点插入一个结点列表中,继续执行搜索,直到搜索完整个概念树,并返回结点列表;
若所述概念树为η层,为提高检索信息的相关度,所述搜索策略为:先搜索第η层,即先搜索叶结点,若搜索完第η层,有检索字段的值与检索词相匹配的结点,按规则插入结点列表,并返回结点列表,结束搜索;若没有搜 索到,则继续搜索第n-Ι层,以此类推,直到搜索到第I层的根结点,则表明搜索失败,返回空的结点列表。为量化相关度,依据概念树的层数,引入相关度参数,在所述结点列表中插入搜索到的结点及其相关结点的规则是通过相关度参数来决定的:
相关度参数r,概念树的层数为n,相关度参数r的取值范围为:Kr < n,当在第i层搜索到结点,其相关度参数r ^ i,则将该结点及其子孙结点插入所述结点列表中,对叶结点,仅插入该叶结点到所述结点列表中;gr〈i,则将该结点在第i层的父结点及其父结点的所有子孙结点插入所述结点列表中。 概念树的结点的权值是在每次搜索到结点后,插入结点列表时动态计算的,结点的权值是这样来计算的:当被检索到的结点的品位为P,其权值W,需要提高权值,则W=P+1 ;而对其子结点、兄弟结点或父结点,需要降低权值,当某一结点的品位为Pi,则该结点对应的权值为Wi=PiXP。步骤S103:生成查询条件表达式,若返回的结点列表不为空,则顺序遍历结点列表中的结点,将结点中字段值匹配检索词字段值按:“字段名=字段值”,生成表达式,多个表达式之间用逻辑连词“0R”进行连接。当遍历完整个结点列表后,生成一个完整的SQL查询条件表达式,执行下一步骤S104,若返回的结点列表为空,则返回空的最终的检索结果;
步骤S104:检索数据库,根据生成的查询条件表达式,进一步生成完整的SQL查询语句,提交给数据库进行检索并返回结果集;
步骤S105:检索结果重新排序,对结果集在内存中按结点列表中结点的权值重新进行排序,并返回最终的检索结果,清空结点列表。如图2所示,为本发明一种介电常数数据库检索系统的结构框图,该系统包括: 数据库,至少包括矿物介电常数表和矿物成份表; 数据库管理模块201,用于维护数据库中各种表的记录,是常规数据库管理模块,包括数据库的增加、删除和修改等功能;
概念树生成模块202,用于从已有的数据库的记录在内存中自动生成概念树;
界面输入模块203,用于向用户提供输入界面并获取用户输入的检索词,将检索词传送给SQL语句生成模块;
SQL语句生成模块204,用于接收界面输入模块传入的检索词,并在概念树的制导下,得到完整的SQL查询语句,将SQL查询语句传送给数据库检索模块;
数据库检索模块205,用于与数据库系统交互,向数据库系统提交完整的SQL语句,并将数据库系统返回的检索结果集在内存中按权值重新排序,将排序后的最终的检索结果传送给界面显示模块206 ;
界面显示模块206,将最终的检索结果向用户友好的显示。所述概念树生成模块202进一步包括:金属元素管理模块,用于维护金属元素列表;化合物与矿物信息提取模块,用于提取数据库中化合物及矿物信息列表。在生成概念树时,概念树生成模块202首先生成根结点;再根据金属兀素管理模块提供的金属兀素列表生成第二层的金属元素结点;接下来,利用化合物与矿物信息提取模块提供的化合物及矿物信息列表,根据化合物中是否包含第二层的金属元素生成第三层的化合物结点;最后,根据化合物及矿物信息列表中是否包括第三层的化合物生成第四层的化合物结点,进而完成整个概念树的生成。所述SQL语句生成模块204进一步包括:概念树搜索模块,用于搜索概念树,查找与检索词有匹配的检索字段值,并将匹配的结点及其相关结点插入到结点列表中;SQL查询表达式生成模块,利用结点列表中的结点生成SQL查询表达式;SQL语句装配模块,根据SQL查询表达式生成完整的SQL语句并传送给数据库检索模块205。数据库检索模块205进一步包括:数据库交互模块,用于与数据库系统交互,连接数据库并向数据库系统提交SQL查询语句,接收数据库系统传回的检索结果集;结果集排序模块,用于将数据库交互模块返回的检索结果集,结合结点列表中结点的权值重新排序,将排序后的结果传送给界面显示模块206,并清空结点列表。下面结合具体实例,从开发及应用的角度,对本发明再做详细说明。实施例2:
如表I所示,为本实施例的数据库中的矿物介电常数表,主要包括:ID、矿物名称、介电常数、介电损耗和品位等字段,ID为主键。表2为矿物成份表,包括:ID、化合物、中文名、百分比、品位标记等字段,其中,ID与化合物为矿物成分表的联合主键。矿物成份表的ID是矿物介电常数表的外键。
权利要求
1.一种介电常数数据库检索方法,其特征在于,包括如下步骤: (A)建立概念树:利用所属领域的概念间内在的某种关联因素建立概念树,所述概念树分为多层,第一层为根结点,除根结点外,概念树中的每一结点至少包括一个或一个以上的数据库表中检索字段的值以及权值; (B)在概念树中搜索用户检索词,以得到更多相关检索词:当获取用户输入的检索词后,在所述概念树中按照一定的策略搜索检索字段的值,如果存在该结点检索字段的值与检索词相匹配,则按规则将该结点及其相关结点插入一个结点列表中,完成搜索后,返回该结点列表; (C)生成查询条件表达式:若返回的结点列表不为空,则顺序遍历结点列表中的结点,将检索字段的值与检索词相匹配的字段按“字段名=字段值”组成表达式,多个表达式之间用逻辑连词“OR”进行连接,当遍历完整个结点列表后,生成一个完整的SQL查询条件表达式,执行下一步骤(D),若返回的结点列表为空,则返回空的最终的检索结果; (D)检索数据库:根据生成的查询条件表达式,进一步生成完整的SQL查询语句,提交给数据库进行检索并返回结果集; (E)检索结果重新排序:对结果集在内存中按结点列表中结点的权值重新进行排序,并返回最终的检索结果,清空结点列表。
2.根据权利要求1所述的介电常数数据库检索方法,其特征在于,步骤(B)中,若概念树为η层,为提高检索信息的相关度,所述搜索策略为:先搜索第η层,即先搜索叶结点,若搜索完第η层,有检索字段的值与检索词相匹配的结点,按规则插入结点列表,并返回结点列表,结束搜索;若没有搜索到,则继续搜索第n-Ι层,以此类推,直到搜索到第I层的根结点,则表明搜索失败,返回空的结点列表。
3.根据权利要求1所述的介电常数数据库检索方法,其特征在于,步骤(B)中,为量化相关度,依据概念树的层数,引入相关度参数,在所述结点列表中插入搜索到的结点及其相关结点的规则是通过相关度参数来决定的: 相关度参数r,概念树的层数为n,相关度参数r的取值范围为:Kr < n,当在第i层搜索到结点,其相关度参数r ^ i,则将该结点及其子孙结点插入所述结点列表中,对叶结点,仅插入该叶结点到所述结点列表中;若r〈i,则将该结点在第i层的父结点及其父结点的所有子孙结点插入所述结点列表中。
4.根据权利要求1所述的介电常数数据库检索方法,其特征在于,步骤(A)中,所述的概念树进一步构造为:第一层为根结点,第二层为金属元素,第三层为化合物,第四层为矿物,金属元素结点的子结点为含该金属元素的化合物,化合物结点的子结点为含该化合物的矿物,除根结点外,每个结点的信息除包括矿物名称的字段值外,还包括分子式、品位和权值,矿物结点的品位为该结点的矿物所含其父结点的化合物的含量,为百分比,其余结点的品位均设置为I。
5.根据权利要求1、3或者4所述的介电常数数据库检索方法,其特征在于,在步骤(B)中,所述概念树的结点的权值是在每次搜索到结点后,插入结点列表时动态计算的,结点的权值是这样来计算的:当被检索到的结点的品位为P,其权值W,需要提高权值,则W=P+1 ;而对其子结点、兄弟结点或父结点,需要降低权值,当某一结点的品位为Pi,则该结点对应的权值为Wi=PiXP。
6.一种介电常数数据库检索系统,其特征在于,该系统包括: 数据库,至少包括矿物介电常数表和矿物成份表; 数据库管理模块,用于维护数据库中各种表的记录; 概念树生成模块,用于从已有的数据库的记录在内存中自动生成概念树; 界面输入模块,用于向用户提供输入界面并获取用户输入的检索词,将检索词传送给SQL语句生成模块; SQL语句生成模块,用于接收界面输入模块传入的检索词,并在概念树的制导下,得到完整的SQL查询语句,将SQL查询语句传送给数据库检索模块; 数据库检索模块,用于与数据库系统交互,向数据库系统提交完整的SQL语句,并将数据库系统返回的检索结果集在内存中按权值重新排序,将排序后的最终的检索结果传送给界面显示模块; 界面显示模块,将最终的检索结果向用户友好的显示。
7.根据权利要求6所述的介电常数数据库检索系统,其特征在于,所述概念树生成模块进一步包括:金属元素管理模块,用于维护金属元素列表;化合物与矿物信息提取模块,用于提取数据库中化合物及矿物信息列表。
8.根据权利要求6或7所述的介电常数数据库检索系统,其特征在于,在生成概念树时,概念树生成模块首先生成根结点;再根据金属元素管理模块提供的金属元素列表生成第二层的金属元素结点;接下来,利用化合物与矿物信息提取模块提供的化合物及矿物信息列表,根据化合物中是否包含第二层的金属元素生成第三层的化合物结点;最后,根据化合物及矿物信息列表中是否包括第三层的化合物生成第四层的化合物结点,进而完成整个概念树的生成。
9.根据权利要求6所述的介电常数数据库检索系统,其特征在于,所述SQL语句生成模块进一步包括:概念树搜索模块,用于搜索概念树,查找与检索词有匹配的检索字段值,并将匹配的结点及其相关结点插入到结点列表中;SQL查询表达式生成模块,利用结点列表中的结点生成SQL查询表达式;SQL语句装配模块,根据SQL查询表达式生成完整的SQL语句并传送给数据库检索模块。
10.根据权利要求6所述的介电常数数据库检索系统,其特征在于,数据库检索模块进一步包括:数据库交互模块, 用于与数据库系统交互,连接数据库并向数据库系统提交SQL查询语句,接收数据库系统传回的检索结果集;结果集排序模块,用于将数据库交互模块返回的检索结果集,结合结点列表中结点的权值重新排序,将排序后的结果传送给界面显示模块,并清空结点列表。
全文摘要
本发明提供了一种介电常数数据库检索方法及系统,包括如下步骤(A)建立概念树;(B)在概念树中搜索用户检索词,以得到更多相关检索词;(C)生成查询条件表达式;(D)检索数据库;(E)检索结果重新排序。本发明还提供了一种介电常数数据库检索系统,该系统包括数据库;数据库管理模块;概念树生成模块;界面输入模块;SQL语句生成模块;数据库检索模块;界面显示模块。本发明的有益效果是提高了关系型数据库信息检索的相关度,节省了用户查找信息的时间;结合概念树,进一步量化相关度,引入相关度参数,为用户检索信息时,在精确与模糊之间提供了更多的选项;利用检索词及概念之间的关系动态计算权值,进一步提升用户体验。
文档编号G06F17/30GK103177124SQ201310129210
公开日2013年6月26日 申请日期2013年4月15日 优先权日2013年4月15日
发明者彭金辉, 刘明, 刘秉国, 刘晨辉, 张利波, 何广军 申请人:昆明理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1