你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:文章管理 / 本期精品文章
基于SQL Server的全数据库搜索引擎
 

于海滨

摘要  提出了一种能够在SQL Server 环境下进行全数据库搜索的方法,只要用户提供搜索关键字,该例程能将包含此关键字的表名和列名全部给出。同时也实现了具有一定自学习功能的优化方案。该例程可以作为连接数据库和前端搜索程序的中间件。

关键词  全数据库搜索,SQL Server,存储过程,自学习

一、引言

现代信息系统,无论是B/S结构还是C/S结构,很大一部分功能都是依靠数据库系统支持来实现的。尤其是在.NET 平台下开发ASP.net项目更是如此。作为开发人员经常实践的方案是这样的,首先由数据库设计人员负责数据库建模,设计数据库逻辑模式并优化,使其既符合现实需要又满足一定的范式(如第3范式3NF)以减少数据冗余。然后程序设计人员根据用户不同需要和数据库的具体逻辑模式来实现数据的管理、查询和显示。而作为信息系统的一个重要功能,查询程序性能的好坏、能否满足用户的需求是衡量系统设计和开发成败的一个重要标准。

为了将查询程序做好,需要程序设计人员对数据库设计有充分的理解,这种理解需要程序开发人员和数据库设计人员之间的充分交流和对具体问题的反复修改,无形中延长了开发周期,增加了开发费用。能不能使数据库设计对程序设计人员透明呢?即程序设计人员对数据库模式的了解程度,不会影响其设计优秀的查询程序呢?

另外,我们也注意到,在目前的信息系统中,查询子程序主要有两种实现的方法:一种是只提供了一些简单、基本的查询,其中查询的结构和方式都是固定的,只是每次用户输入不同的参数,如QQ的查找好友。另一种是提供了类似于SQL语言生成器的复杂过程,如一些文献检索网页的高级选项。这些实现方法都要知道数据库的模式信息,既从哪个表、哪个列检索数据,给程序的设计和维护带来了复杂性,也使得用户使用受到限制或不便。用户十分期望能有一个类似于“Google”或“百度”等搜索引擎那样的查找程序:用户(甚至程序员)不必关心搜索什么字段,采用什么样的关系运算,只要能给出输入关键字的查询结果即可。

在这种前提下,笔者通过实验仔细研究了一种能够在SQL Server全数据库中进行搜索的方法,并且该方法与具体的数据库模式无关,也就是说该例程不加任何修改就能运行在不同的数据库系统上。而且,优化的例程还有一定的自学习功能。该例程可作为连接数据库和前端搜索程序的中间件。

 

  推荐精品文章

·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089