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

上传人:第*** 文档编号:61592758 上传时间:2018-12-05 格式:PDF 页数:37 大小:567.28KB
返回 下载 相关 举报
关系数据库关键字检索系统设计与实现_第1页
第1页 / 共37页
关系数据库关键字检索系统设计与实现_第2页
第2页 / 共37页
关系数据库关键字检索系统设计与实现_第3页
第3页 / 共37页
关系数据库关键字检索系统设计与实现_第4页
第4页 / 共37页
关系数据库关键字检索系统设计与实现_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《关系数据库关键字检索系统设计与实现》由会员分享,可在线阅读,更多相关《关系数据库关键字检索系统设计与实现(37页珍藏版)》请在金锄头文库上搜索。

1、 关系数据库关键字检索系统的设计与实现关系数据库关键字检索系统的设计与实现 学学 院院 计算机科学与技术计算机科学与技术 专专 业业 计算机科学与技术计算机科学与技术 年年 级级 2005 姓姓 名名 朱晓伟朱晓伟 指导教师指导教师 张坤龙张坤龙 2009 年年 06 月月 15 日日 鸟 鹏 出 品 摘 要要 SQL 语言是检索关系数据库的传统方式。要想利用 SQL 语言查询数据库, 用户不但需要事先掌握 SQL 语言的语法知识,还需要了解关系数据库的关系模 式,因而比较复杂。关键字搜索则只需要用户输入关键词,它易于使用,所以近 年来成为了一个研究热点。 论文设计和实现了一个基于关键词的关系

2、数据库检索系统。利用该系统,用 户只需输入几个关键词,就可以表达自己的检索需求。在用户输入关键词后,系 统将自动地匹配所有的可能的结果,并按相关性的大小顺序将结果返回给用户。 在计算检索结果时,系统先采用启发式的方法找出所有可能与用户输入的关 键词相关的元组连接模式,然后将属于该元组连接模式的复合元组搜索出来,最 后将复合元组其转换为二维表的形式向用户展示。 关键词: 关系数据库;关键词;信息检索 鸟 鹏 出 品 ABSTRACT People traditionally use Structured Query Language to search the data in relationa

3、l databases. Before building the correct SQL statements, users need not only to master the grammars of SQL, but also to have basic knowledge about the schema of relation database, so it is rather complicated. Keyword search only requires the user to enter keywords, it is easy to use, so in recent ye

4、ars has become a research hotspot. We will design and implement the system, by which users can search the relation database using keywords. Only inputting several keywords, can users find the wanted results. After users input several keywords to searching relation database, searching system will aut

5、omatically match the relevant data and return these data in the order of relevance. Search results in the calculation, the system first heuristic find schemas which are relevant to users keywords. Then the system will return the results which belong to the selected schema and have relevance to users

6、 keywords. Finally, convert it to two-dimensional form to the user display. Key words:Relation Database;Keywords;Information Retrieval 鸟 鹏 出 品 1 目 录 第一章 绪论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 查询结果的排序.

7、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 鸟 鹏 出 品 2 2.3.1 候选元组集连接树产生算法 11 2.3.2 dijkstra 算法 . 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

8、.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 鸟 鹏 出 品 3 5.2 未来工作展望 29 参考文献.30 外文资料 中文译文 致 谢 鸟 鹏 出 品 天津大学 2009 届本科生毕业设计(论文) 1 第一章 绪论 1.1 背景介绍 从数据库技术诞生到现在,在不

9、到半个世纪的时间里,形成了坚实的理论基 础、成熟的商业产品和广泛的应用领域,给人们的日常工作与学习带来了许许多 多的便利。但是随着数据库地发展与应用,也带来了一系列的问题与矛盾。例如 在数据库中,SQL 语言这类专业性结构化语言也不方便为广大非计算机专业用 户所使用与掌握。 这是因为首先用户不得不先掌握关系数据库的基础知识了以及 SQL 语言的 语法规则等基础知识;其次在构造 SQL 语句之前用户必须事先了解关系数据库 的模式;最后使用 SQL 语言构造查询,是复杂的并且容易出错的。因此 SQL 这 类专业性结构化查询语言日益不能满足我们准确高效查询检索数据库中结构化 数据的需要1。 我们都知

10、道数据分为非结构化数据与结构化数据两大类。其中,非结构化数 据是指文本文档等数据。 而非结构化数据地查询与检索主要是使用关键字搜索地 方法,例如百度等搜索引擎所使用的检索方法。这种查询结果不精确不完全而且 需要根据相关性对查询结果进行排序。 而结构化数据则是指数据库中的各种数据 等。而针对结构化数据我们则采用复杂的结构化查询语言例如 SQL 语言以及 XQuery 语言等。查询结果是精确的完全的而且所有查询结果都被同样对待从而 不需要排序。 但是我们发现结构化查询语言不但比较复杂难以掌握并且在使用时 容易出错。 这就迫使我们去寻找一种更简洁的更高效的查询方法去检索查询结构 化数据。例如使用关键

11、字搜索方法检索查询结构化数据 2。 关键词检索系统由于易用性而被广大用户所喜爱。因为在这种方式下,用户 不需要任何的专业背景和技巧,只需输入几个关键词就可以完成查询,得到需要 的查询结果。所以基于关键词的关系数据库检索方法,将能给用户提供极大的方 便,更为用户所喜爱接受。 1.2 研究意义 使用关键字搜索这种检索方法去查询结构化数据能给我们的学习与工作带 来许多便利。这种检索具有相当大的研究意义: 首先,广大的非计算机专业用户不再需要使用复杂地结构化查询语言。这样 就不需要复杂地语言输入与操作,从而更加不易出错。只需要通过输入几个关键 字便能由系统得出查询结果。这样既提高了工作效率又降低了出错

12、率,从而方便 了用户的操作与使用。 其次,从功能的上来说,数据库地关键词搜索是完成信息发现的任务。以前 在数据库设计时将关系进行了规范化处理, 这样原来作为一个整体的信息就可能 鸟 鹏 出 品 天津大学 2009 届本科生毕业设计(论文) 2 被分散到多个元组中。这样就造成了诸多不便与错误。而对数据库进行关键词搜 索就能够发现和还原出原始的信息。这样就不会造成信息地丢失,从而保证了数 据的完整性与准确性。 再次, 这种检索方法也很好地避免了我们遇到不同地结构化数据就需要不同 的结构化查询语言, 减少了我们的工作量。 例如关系数据要使用 SQL 语言, XML 数据要使用 XQuery 语言。所

13、以数据库关键字搜索系统明显具有更好地数据兼容 性,避免了我们需要使用大量地不同结构化查询语言3。 最后,随着数据库的广泛使用,就产生了一系列结构化数据需要使用关键字 搜索查询方法进行处理。例如,公司的售后服务系统需要记录顾客反映的问题和 公司解决问题的过程, 并在下次遇到一个新问题时能够自动识别出该问题是否曾 经出现过。 目前互联网上有 80%的数据是存放在关系数据中。 这些数据无法像普 通 web 文档一样通过 web 搜索引擎进行检索。那么为这些存在于互联网上的大 量关系数据提供类似于 web 搜索引擎式的检索方法就十分必要的。这类生活实 际中新的问题的解决就需要我们设计出数据库关键字搜索

14、系统来满足我们新的 实际需要。 因此, 使用关键字搜索这种方法来给我们查询结构化数据不但带来许多便利 而且很好地避免了结构化查询语言的各种不足之处。 从而体现出了这种新技术新 方法的强大潜力以及广阔的发展运用前景。 1.3 相关工作 随着Hulgeri 等人在2001年时综述了与数据库关键词搜索系统有关的研究工 作。数据库关键词搜索系统的研究与开发便逐渐取得了一系列研究成果。 目前主要出现了BANKS系统使用图来表示数据库其中图包含模式图与数据 图,然后使用反向扩展搜索的启发式算法来寻找信息结点,接着使用嵌套表格的 方式显示答案树,最后使用有向数据图进行关键字搜索3。 而DBXplorer系统

15、则使用无向模式图来进行关键字搜索。关键词搜索主要包 含三大步骤分别是搜索符号表,根据模式图计算连接树,对于每一棵计算出的连 接树。最后由模式图计算生成连接树得出最终结果。 还有DISCOVER系统拥有两个版本,其中第一个版本与DBXplorer系统比较 类似。除了根据元组集图计算候选网时是使用基于宽度优先遍历算法,而不用做 元组集图的裁剪。但是第二个版本就有了很大的改变,主要体现在关键字搜索是 使用OR语义而不同于以前的版本都是使用AND语义的。这样就不需要查询结果 必须包含所有的关键词。同时还可以使用数据库系统的全文搜索功能,如Oracle 数据库系统等4。 此外还有ObjectRank系统

16、它首先将一个查询结果定义成为数据图中的一个 结点。其次,它使用Google搜索引擎的PageRank算法来对查询结果进行计分。对 鸟 鹏 出 品 天津大学 2009 届本科生毕业设计(论文) 3 于用户提交的查询,ObjectRank系统的查询处理模块将根据分数索引计算出查询 结果中一个结点的最终得分5。 以上这些所有研究工作都希望能够达到相同的目标: 用户既不需要学习SQL 等结构化查询语言,也不需要详细了解数据库的模式,他们只需要输入一组关键 词,系统就能够自动列出所有相关的查询结果。 1.4 本文所作的工作 本文对关系数据库关键词检索系统的查询模型进行了研究。 给出了关系数据 库关键词检索的相关基础知识,并完成了系统体系架构与工作流程。最后很好的 实现了一个系统的生成。本文所作的工作主要是以下方面: 1,熟悉并掌握数据库的相关知识;阅读相关的中外文献,了解所需的相关 信息; 进行 C#语言的学习以及 SQL Server 2003 与 Visual Studio 2008 等软件程序 的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号