您好, 访客   登录/注册

基于关系数据库的关键词查询研究

来源:用户上传      作者: 王金金

  摘要:关系数据库关键词查询技术是目前数据库和信息检索领域研究的热点问题之一,它所研究的主要问题是根据用户提交的若干个查询关键词,从数据库中查询出相关的信息,应用这种技术使得普通用户或者Web用户可以有效地访问关系数据库。
  关键词:关系数据库;关键词;查询
  
  一、关系数据库关键词查询概述
  关系数据库通常通过结构化查询语言SQL来访问。SQL访问方式不但要求用户知道并理解关系数据库模式,也要懂得书写复杂的SQL查询语言,因此,它一般适合于专业用户使用。普通用户一般通过定制的关系数据库查询接口程序RQI(Relational databases Query Interface)或者关系数据库应用程序RAP(Relational databases Application Program)来访问关系数据库。RQI访问方式虽然不要求用户书写复杂SQL查询语言,但是要求用户知道并理解关系数据库模式,对于不同的关系数据库需要使用不同的RQI,而且定制的RQI也往往不能满足灵活多变的用户查询需求,当RQI不能满足用户查询需求时,就需要应用开发人员来修改RQI,由此,使用RQI访问方式则需要较高的开发费用和维护费用。
  随着Internet和Web技术的快速发展和应用,一方面用户越来越习惯于使用简单的查询关键词通过Web搜索引擎如Google,Baidu等来搜索信息;另一方面,越来越多的关系数据库发布到Web上面向广大普通用户,形成所谓的“Deep Web”问题,使得普通用户也期望能够使用简单的关键词来查询关系数据库数据。
  二、相关定义
  定义1:关系数据库模式Sdb(Relational Database Schema)假设关系数据库的模式,Sdb=(R,FK),R={R1,R2,…,Rk}是一组关系模式,FK是R中关系模式间引用关系的映射,FK:R→R,如果FK(Ri)=Rj,记为Ri→Rj(1≤i,j≤n),它表示Rj一个外键引用了Ri主键。
  定义2:关系数据库模式图Gs(Relational Database Schema Graph)假设Gs=(V,E)表示模式Sdb=(R,FK)的关系数据库对应的模式图。Gs是一个有向图,将关系数据库中的每一个关系模式Rk(1≤k≤n)看作是Gs的一个节点,当且仅当关系模式Ri∈Gs,关系模式Rj∈Gs,(Ri→Rj)∈FK时,(Ri,Rj)∈E。
  定义3:连接元组树Jt(Joning Tree of Tuples)给定一个关系数据库的模式图Gs=(V,E),Jt是以数据库中的元组tl为结点的一棵树,其中tl(1≤l≤m)是关系rk(1≤k≤m)中元组,关系rk(1≤k≤m)是关系模式Rk(1≤k≤n)上的实例,如果(Ri,Rj)∈E且(ti tj)∈(ri rj),那么,(ti,tj)是Jt的一条边,其中ti∈ri,tj∈rj,(1≤i, j≤n),称Jt为一棵连接元组树。
  定义4:关键词查询Kq(Keyword Query)把关键词查询定义为查询函数f:Kq→T,其中Kq是一个集合,其元素ki(1≤i≤m)为关键词,T是一个集合,其元素Jti(1≤i≤n)为一个关键词查询结果。
  定义5:关键词查询结果T(Keywords Qeury Results)关键词查询结果是OR语义,Kq是一个集合,其元素为ki(1≤i≤m)为关键词,一个查询结果是至少含有Kq中一个ki(1≤i≤m)且每个叶结点都至少含有Kq中一个ki(1≤i≤m) 的连接元组树。
  关键词查询结果是AND语义,Kq是一个集合,其元素为ki(1≤i≤m)为关键词,一个查询结果是Kq中的每一个的关键词ki(1≤i≤m)都必须出现在结果中,并且每个叶子节点都至少含有一个Kq中的关键词ki(1≤i≤m)的连接元组树。
  三、体系结构
  (1)系统设置系统启动模块,做一些系统初始化工作,如系统的参数配置
  (2)模式图生成器从系统配置文件读入数据库模式图的模式配置信息,生成数据库模式图。
  (3)用户查询该模块为用户查询接口,接受用户输入的查询关键词,
  提交后续模块处理。
  (4)元组集生成器该模块利用由关系数据库的全文检索功能建立的IR引擎,将关系数据库中具有文本属性的每个关系生成元组集,只有那些与某个查询关键词或者查询关键词组合相关的非空的元组集保留下来,称为非自由元组集,每个非自由元组集都是其源表(即生成该元组集的表)的一个子集,每个非自由元组集实际上也是一个临时表,继承其源表的主外键关系。
  (5)候选网络生成器候选网络生成器利用元组集生成器生成的非自由元组集扩展模式图,形成元组集图,然后对该元组集图进行扩展,生成结点不超过预定最大允许结点数的候选网络。所谓候选网络,也称元组集连接树,也是可以看做是要用来产生关键词查询潜在结果的JOIN表达式。
  (6)候选网络执行器候选网络执行器完全执行所有候选网络得到全部结果,或者采用某种top-k算法执行候选网络,以得到top-k查询结果。
  四、查询处理
  系统启动时,首先会生成数据库模式图,这个过程非常短,然后系统接收到用户提交的查询关键词。当用户提交查询关键词时,元组集生成器利用IR引擎生成元组集,然后,候选网络产生器利用非自由元组集扩展Gs生成元组集图,广度优先遍历元组集图生成候选网络,最后,候选网络执行器执行全部候选网络。或者采用某种top-k查询算法执行候选网络,生成最终查询结果返回给用户。通过介绍SDSG系统,可以发现SDSG系统存在的优点:数据库模式图占用内存少;缺点:候选网络产生器执行效率低、候选网络执行效率低、缺少语义查询。
  参考文献
  [1] 施伯乐,丁宝康,汪卫.数据库系统教程.第二版.高等教育出版社,2003:1-359
  [2] 文继军,王珊.SEEKER:基于关键词的关系数据库信息检索.软件学报,2005, 16(7):1270-1281
  [3] 许建军.对结构化和半结构化数据的关键词查询研究.[复旦大学博士学位论文],2007:22-37
  [4] 张坤龙.数据库关键词搜索的预处理新技术研究.[中国人民大学博士论文],2005:35-72,93-95


转载注明来源:https://www.xzbu.com/2/view-424578.htm