关系数据库关键字检索系统的设计与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

关系数据库关键字检索系统的设计与实现学院计算机科学与技术专业计算机科学与技术年级2005姓名朱晓伟指导教师张坤龙2009年06月15日摘要SQL语言是检索关系数据库的传统方式。要想利用SQL语言查询数据库,用户不但需要事先掌握SQL语言的语法知识,还需要了解关系数据库的关系模式,因而比较复杂。关键字搜索则只需要用户输入关键词,它易于使用,所以近年来成为了一个研究热点。论文设计和实现了一个基于关键词的关系数据库检索系统。利用该系统,用户只需输入几个关键词,就可以表达自己的检索需求。在用户输入关键词后,系统将自动地匹配所有的可能的结果,并按相关性的大小顺序将结果返回给用户。在计算检索结果时,系统先采用启发式的方法找出所有可能与用户输入的关键词相关的元组连接模式,然后将属于该元组连接模式的复合元组搜索出来,最后将复合元组其转换为二维表的形式向用户展示。关键词:关系数据库;关键词;信息检索ABSTRACTPeopletraditionallyuseStructuredQueryLanguagetosearchthedatainrelationaldatabases.BeforebuildingthecorrectSQLstatements,usersneednotonlytomasterthegrammarsofSQL,butalsotohavebasicknowledgeabouttheschemaofrelationdatabase,soitisrathercomplicated.Keywordsearchonlyrequirestheusertoenterkeywords,itiseasytouse,soinrecentyearshasbecomearesearchhotspot.Wewilldesignandimplementthesystem,bywhichuserscansearchtherelationdatabaseusingkeywords.Onlyinputtingseveralkeywords,canusersfindthewantedresults.Afterusersinputseveralkeywordstosearchingrelationdatabase,searchingsystemwillautomaticallymatchtherelevantdataandreturnthesedataintheorderofrelevance.Searchresultsinthecalculation,thesystemfirstheuristicfindschemaswhicharerelevanttousers’keywords.Thenthesystemwillreturntheresultswhichbelongtotheselectedschemaandhaverelevancetousers’keywords.Finally,convertittotwo-dimensionalformtotheuserdisplay.Keywords:RelationDatabase;Keywords;InformationRetrieval1目录第一章绪论......................................1 1.1背景介绍.......................................1 1.2研究意义.......................................1 1.3相关工作.......................................2 1.4本文所作的工作.................................3 1.5论文结构.......................................3 第二章数据库关键字检索..........................4 2.1基本概念.......................................4 2.1.1关系数据库的定义及其实例...................4 2.1.2查询结果的定义.............................5 2.1.3查询结果的排序.............................6 2.1.4数据模型...................................6 2.1.5系统的体系结构.............................6 2.2查询模型.......................................7 2.2.1模式图与数据图.............................7 2.2.2元组连接图和元组集连接图...................8 2.2.3关键字查询................................10 2.2.4查询结果..................................10 2.2.5候选元组连接树............................11 2.3主要算法......................................11 22.3.1候选元组集连接树产生算法..................11 2.3.2dijkstra算法.............................12 第三章系统体系结构和工作流程...................13 3.1体系结构......................................13 3.1.1概述......................................13 3.1.2预处理过程................................13 3.1.3查询处理过程..............................14 3.2工作流程......................................14 3.2.1 预处理过程...............................15 3.2.2查询处理过程..............................16 第四章系统实现.................................19 4.1技术路线......................................19 4.2程序运行流程..................................19 4.3系统实现......................................20 4.3.1测试数据集的准备..........................20 4.3.2数据库模式的获取..........................22 4.3.3数据图的生成..............................22 4.3.4查询关键字元组集的获取....................25 4.3.5搜索算法..................................26 4.4程序运行结果..................................28 第五章总结与展望...............................29 5.1论文总结......................................29 35.2未来工作展望..................................29 参考文献.........................................30 外文资料 中文译文 致谢 天津大学2009届本科生毕业设计(论文)1第一章绪论1.1背景介绍从数据库技术诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,给人们的日常工作与学习带来了许许多多的便利。但是随着数据库地发展与应用,也带来了一系列的问题与矛盾。例如在数据库中,SQL语言这类专业性结构化语言也不方便为广大非计算机专业用户所使用与掌握。这是因为首先用户不得不先掌握关系数据库的基础知识了以及SQL语言的语法规则等基础知识;其次在构造SQL语句之前用户必须事先了解关系数据库的模式;最后使用SQL语言构造查询,是复杂的并且容易出错的。因此SQL这类专业性结构化查询语言日益不能满足我们准确高效查询检索数据库中结构化数据的需要[1]。我们都知道数据分为非结构化数据与结构化数据两大类。其中,非结构化数据是指文本文档等数据。而非结构化数据地查询与检索主要是使用关键字搜索地方法,例如百度等搜索引擎所使用的检索方法。这种查询结果不精确不完全而且需要根据相关性对查询结果进行排序。而结构化数据则是指数据库中的各种数据等。而针对结构化数据我们则采用复杂的结构化查询语言例如SQL语言以及XQuery语言等。查询结果是精确的完全的而且所有查询结果都被同样对待从而不需要排序。但是我们发现结构化查询语言不但比较复杂难以掌握并且在使用时容易出错。这就迫使我们去寻找一种更简洁的更高效的查询方法去检索查询结构化数据。例如使用关键字搜索方法检索查询结构化数据[2]。关键词检索系统由于易用性而被广大用户所喜爱。因为在这种方式下,用户不需要任何的专业背景和技巧,只需输入几个关键词就可以完成查询,得到需要的查询结果。所以基于关键词的关系数据库检索方法,将能给用户提供极大的方便,更为用户所喜爱接受。1.2研究意义使用关键字搜索这种检索方法去查询结构化数据能给我们的学习与工作带来许多便利。这种检索具有相当大的研究意义:首先,广大的非计算机专业用户不再需要使用复杂地结构化查询语言。这样就不需要复杂地语言输入与操作,从而更加不易出错。只需要通过输入几个关键字便能由系统得出查询结果。这样既提高了工作效率又降低了出错率,从而方便了用户的操作与使用。其次,从功能的上来说,数据库地关键词搜索是完成信息发现的任务。以前在数据库设计时将关系进行了规范化处理,这样原来作为一个整体的信息就可能天津大学2009届本科生毕业设计(论文)2被分散到多个元组中。这样就造成了诸多不便与错误。而对数据库进行关键词搜索就能够发现和还原出原始的信息。这样就不会造成信息地丢失,从而保证了数据的完整性与准确性。再次,这种检索方法也很好地避免了我们遇到不同地结构化数据就需要不同的结构化查询语言,减少了我们的工作量。例如关系数据要使用SQL语言,XML数据要使用XQuery语言。所以数据库关键字搜索系统明显具有更好地数据兼容性,避免了我们需要使用大量地不同结构化查询语言[3]。最后,随着数据库的广泛使用,就产生了一系列结构化数据需要使用关键字搜索查询方法进行处理。例如,公司的售后服务系统需要记录顾客反映的问题和公司解决问题的过程,并在下次遇到一个新问题时能够自动识别出该问题是否曾经出现过。目前互联网上有80%的数据是存放在关系数据中。这些数据无法像普通web文档一样通过web搜索引擎进行检索。那么为这些存在于互联网上的大量关系数据提供类似于web搜索引擎式的检索方法就十分必要的。这类生活实际中新的问题的解决就需要我们设计出数据库关键字搜索系统来满足我们新的实际需要。因此,使用关键字搜索这种方法来给我们查询结构化数据不但带来许多便利而且很好地避免了结构化查询语言的各种不足之处。从而体现出了这种新技术新方法的强大潜力以及广阔的发展运用前景。1.3相关工作随着Hulgeri等人在2001年时综述了与数据库关键词搜索系统有关的研究工作。数据库关键词搜索系统的研究与开发便逐渐取得了一系列研究成果。目前主要出现了BANKS系统使用图来表示数据库其中图包含模式

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功