2024年6月21日发(作者:)
维普资讯
第23卷第10期 计算机应用与软件
Vo1.23,No.10
2006年10月
Computer Applications and Software
0et.2006
基于ASP、SQL Server 2000实现的
Web文献检索系统及其查询优化
宋 阳 严 平 曹 彤
(北京师范大学资源学院,北京师范大学环境演变与自然灾害教育部重点实验室北京100875)
摘要 介绍了基于ASP、SQL Server 2000实现的Web文献检索系统及其查询优化。通过调试、运行,Web文献检索系统运行正
常,查询效率高。基于ASP、SQL Sevrer 2000实现的Web文献检索系统简单、安全、稳定,维护方便。
关键词 ASP SQL Server 2000 Web文献检索系统查询优化
IMPLEMENTING WEB LITERATURE RETRIEVAL SYSTEM WITH ASP,
SQL SERVER 2000 AND THE QUERY OPTIMIZATION。
Song Yang Yan Ping Cao Tong
(College ofResources Science and Technology,Key Laboratory ofEnvironmental Change and Natural Disaster,the Ministry ofEducation of
China,Beijing Normal University,Be ng 100875,China)
Abstract This paper introduces the fulifllment of web literature retireval system with ASP,SQL Sevrer 2000 and the query optimization.By
debugging and running the web retireval system,the system runs soundly,with a high efifciency of query.The web retireval system bascd on
ASP and SQL Server 2000 is simple,safe,stable and easy to maintain.
Keywords ASP SQL Server 2000 Web literature retireval system Queyr optimization
页面具有很强的交互性,允许用户方便地控制和管理数据。
0 引 言
ADO是微软在OLE DB(对象链接和嵌人数据库)标准的基础上
定义的一种跨越操作平台,面向对象,与语言无关的数据库应用
随着文献信息量的剧增和Intemet技术的发展,文献信息自
编程接口,可以连接多种支持ODBC的数据库。它语法简单,易
动化管理已成为当今文献信息管理的一种趋势,文献信息网络
于理解,其中只包含了几个不多的功能强大的对象,易于使用。
化变得日益重要。文献数据库建设是文献信息自动化管理的基 把ADO与ASP结合起来访问Web数据库是一种理想的Web数
础和核心。基于文献数据库的Web文献检索系统可以极大地
据库访问的解决方案 。
提高人们检索文献的效率。本文以“中国沙漠数据库文献查询 SQL Server 2000是微软公司发布的一种性能优越的面向客
系统”为例介绍了基于ASP、SQL Server 2000实现的Web文献
户机/服务器的关系型数据库管理系统。它与Windows NT/
检索系统及其查询优化。 2000等操作系统紧密集成。这种安排使SQL Server 2000能充
分利用操作系统所提供的特性,创建运行在Windows NT/2000
1技术基础
等多种操作系统平台上的平稳和高性能的数据库应用程序,并
对大文本和多媒体数据提供了很好的支持。
Web文献检索系统以Windows 2000 Server作为服务器开发
平台,选择支持ODBC(开放式数据库互连)接口的SQL Server
2 系统结构
2000作为后台数据库;以微软的IIs 5.0(Intemet信息服务器)
作为Web服务器;选用ADO(Active X数据对象)作为访问Web
2.1逻辑结构
数据库的接口,将ASP(动态服务器主页)与ADO相结合,建立
Web文献检索系统在逻辑上可划分为三层模式:Web游览
和提供包含数据库信息的主页内容。通过执行关键字查询的
器/Web服务器/数据库服务器(图1)。其实质是将客户端的应
SQL命令,让用户在Web浏览器端进行文献的检索操作,并可
用程序移植到Web服务器上,由Web服务器担任数据库服务器
利用Vbscript等脚本语言来控制数据库的访问,实现查询结果
的输出显示等功能。
收稿日期:2004—09—29。基金项目:“十五”国家科技攻关项目
ASP是一种基于服务器端的动态网页技术。它提供了一种
“沙区农田、草地土壤风蚀防治技术研究”课题(2002BA517A-10);国家
使镶嵌在HTML页面中的脚本程序得以运行的环境,可支持多
自然科学基金项目(30371191)资助。宋阳,博士生,主研领域:干旱区资
种脚本语言。它不但可以进行复杂的数据库操作,而且生成的
源环境与网络数据库。
维普资讯
26 计算机应用与软件 2006血
的客户端,向服务器端发
送数据和应用请求以及存
放返回结果,而真正的客
户端浏览器在安装标准的
图1 Web文献检索系统三层
TCP/IP协议和Web服务
模式逻辑结构图
器建立连接后,只需调用存放在Web服务器上的应用请求页面
和结果显示页面,而无需关心应用程序。因此,实现这种模式的
核心技术就是Web服务器与数据库服务器的连接技术和数据
库访问技术 。
2.2物理结构
Web文献检索系统的物理结构是在三层逻辑模式结构的
基础上设计的(图2)。考虑
到ASP内含在Windows 2000 _
Server的IIs 5,0中,而逻辑 盖
上的Web文献检索系统三
层模式结构在物理上可以合
图2 Web文献检索系统
并为两层,即将第二层的
的物理结构图
Web服务器与第三层的数据库服务器放在一起。因此,选择一
台配置较高的服务器(较高的CPU处理速度,较大的内存,大容
量的硬盘)即可满足服务器设计的需求。在这台服务器上安装
Windows 2000 Server作为服务器开发平台,安装SQL Server
2000作为后台数据库。随着数据库表中数据量的逐渐增大,可
添加磁盘阵列以增加服务器的存储空间。用一台普通配置的计
算机(客户机)作为Web数据库前端的开发平台,并作为Web
浏览器测试对后台数据库的访问。
3开发过程
3.1数据库的设计
利用实体一关系模型确定实体一关系图(E.R图)及实
体一关系图中的属性。把每个实体都表示为关系(二维表),实
体的属性也就成为关系的属性。关系建立后,根据规范化准则
进行检查,如果需要,就将一个关系表分解成两个或多个关
系表。
具体设计时,首先启动SQL Server 2000的企业管理器,在
SQL Server组中新建一个SQL Sevrer注册——Book。打开Book
注册,右击“数据库”文件夹,选择“新建数据库”选项,建立一个
新的数据库——Literature。展开Literature库,右击“表”图标,
选择“新建表”选项,建立一个新表——Book表(图3)。然后右
击Book表,选择“设计表”,完成对数据库结构(表1)的设计。
图3文献数据库的建立
表1文献数据库的结构
在数据库结构表中,因为Bookno(文献编号)是唯一的,所
以将它作为主关键字。文献编号的命名规则是:期刊名首写字
母,年号,卷号,期号,文章序列号。如ESP2003060301表示En-
vironmental Science and Policy期刊2003年第六卷、第三期的第
一
篇文章。为方便数据库的维护,用“记事本”记录了期刊名称
与缩写的对照表。在SQL Server文献数据库表中保存的只是文
献信息,并不存储文献本身。文献以.pdf,.vip,.caj等格式存储
在服务器硬盘的其他目录下。为检索得到文献全文,还需要在
文献数据库中设置Location字段,用来记录文献的存储位置,方
便系统链接得到文献全文。一旦定义完数据库,分配完物理存
储空间后,就可以向数据库中录人数据了。数据录入完成后还
要对数据的一致性、完整性进行验证。录人数据的文献数据表
如图4所示。
图4录入数据的文献数据表
3.2 SQL Server数据库的连接与ODBC数据源的建立
数据库设计好后,在服务器端使用ODBC(32位)数据资源
管理器为数据库创建数据源名(DSN)并建立与SQL Server数据
库的连接。具体步骤如下:
(1)在SQL Sevrer数据库中建立新登录。具体方法为:在
SQL Se er中选择“安全性\登录\新建登录”。建立新的用户登
录ID并输入密码。如:建立新的用户登录ID:guest。
(2)在要建立ODBC数据源的数据库中建立新用户。具体
方法为:在SQL Sevrer中选择“数据库\需要建立ODBC数据源
的数据库\用户\新建用户”。在用户登录列表中选择一个用
户,如:数据库\Literature\用户\新建数据库用户:guest。
(3)在Windows 2000 Server的“程序”中选择“管理工具\
ODBC数据源\系统DSN”,建立ODBC数据源。选择建立SQL
Sevrer数据源,在“SQL Sevrer使用何种方式验证用户登录ID”
中,选择“使用用户输入登录ID和密码的SQL Server验证”,然
维普资讯
第10期 宋阳等:基于ASP、SQL Server 2000实现的Web文献检索系统及其查询优化
count—l
27
后分别输入登录ID与密码。
3.3设计Web文献检索页面
为了方便用户检索文献,需要设计一个友好的Web文献检
索页面。在设计时,因为是静态网页,所以使用Marcomedia Dre.
End If
EndIf
If Len(author)>0 Then SQLstr=SQLstr&”author like” &WC&author&
WC&””
amweaver MX进行设计。设计好的页面(Search.htm)如图5所
示。用户检索页面分成左、右两栏。在左栏的form表单中设置
了“期刊名”、“文献名”、“作者姓名”、“关键字”和“出版年月”
几种检索方式,用户可以选择不同的检索方式使用关键字进行
文献检索。它们分别对应后台SQL Server文献数据库Book表
中的“Qkname”、“Bookname”、“Author”、“Keywork”和“Pub—
date”字段。它们在fomr表单中的名称分别为:“qkname”、
“bookname”、“author”、“keywords”和“pub—date”,以便在ASP查
询程序中调用。当用户选择其中一项输入检索条件并按下“开
始查询”按钮后,表单就会调用Query.asp程序,执行文献检索,
文献查询结果显示在右栏。
■ 女 ●撼●(,
≈女髑■ A # 一, --- 目f
{ 帮 魁 # 麟蝴 甓肼
地址’l [辫旗 m釉自韩
图5用户检索页面
3.4创建ASP查询程序:Query.asp
为了处理用户通过Web文献检索页面提交的检索请求,连
接SQL Server 2000台后数据库,执行SQL查询并将查询结果显
示输出,还需要创建ASP查询页面。ASP查询程序部分代码
如F。
Sub Output
—
book() 建立数据库连接,显示查询结果
Dim qkname,bookname,author,pub
—.
date,keywords
定义期刊名称、文献名称、作者姓名、出版年月及关键字
Dim cond
—
count.we,SQLstr 指定条件栏位总数、通用字元、SQL字串
cond
—
count=4 记录指定条件的栏位总数
WC= %” 指定SQL指令中的通用字元
qkname=Request,Form( qkname ) 取得表单栏内容
hookname=Request.Form( bookname ) author=Request,Form(”au—
thor”)
pub
—
date=Request,Form( pub—date ) keywords=Request.Form(”
kdywords”)
SQLstr=”select from book where” 执行SQL查询语句
If Len f qkname)>0 Then SQLstr=SQLstr& qkname like” &WC&
qkname&WC& ”
If cond
—
count>1 Then SQLstr:SQLstr&”and cond—count:cond—
count.1
End If
End If
If Len(bookname1>OThen SQLstr=SQLstr&”book name like"&WC&
book name&we&”
If cond
—
count>1 Then SQI str=SQLstr&”and cond—count:cond—
If eond
—
count>1 Then SQLstr=SQLstr&”and”cound—count=cond—
count.1
EndIf
End If
If Len(Pub.date)>0 Then SQLstr=SQLstr&”Pub—date like &we&
Pub
—
date&we&”
If Cond
—
count>1 Then SQLstr=SQLstr&”and”cond—eound=cond—
count.1
EndIf
End If
If Len(keywords)>0 Then SQLstr=SQLstr&”keywords like” &WC key—
words&WC& ”
End If
SQLstr=SQLstr&”order by bookno”
set adocon=Server.CreateObject(”ADODB.Connection”
建立ADO Connection,然后以DSN—less方式登录到SQL Server
adoeon.Open dsn=Book;UID guest;PWD=guest;database=Litera—
lure”
执行SQL指令,并将结果储存于Recordset中
set sal=adoeon.Executef SQLstr)
If sa1.EOF Then
Sub Output
—
Literature() 显示查询结果(程序代码略)
End if
End sub
在ASP查询程序中,首先使用Request.Form()语句从Web
文献检索页面中取得表单栏内容,并存入对应的变量中。编写
SQL查询语句,为文献检索做好准备。接着,使用“Server.Cre—
ateObject”建立连接的对象,并使用“Ope”命令打开待访问的数
据库——Literature库。然后设定SQL命令,开始执行访问查询
数据库的动作。最后,将执行结果储存于Recordset中并通过
Output
—
Literature()函数显示查询结果。例如:用户选择“期刊
名”检索选项,在“期刊名”检索项中输入“中国沙漠”后按下
“开始查询”按钮,检索执行页面如图6所示。在文献查询结果
页面中显示了符合检索条件的文献的相关信息:作者;时间;
ISSN;卷号、期号;期刊名;文献名。它们分别显示了后台SQL
Server文献数据库Literature表中的“Author”、“Pub—date”、
“ISSN”、“Volissue”、“Qkname”、“Bookname”字段的内容。如果
用户想浏览全文,可点击“文献名”的链接。
图6文献查询结果页面
维普资讯
计算机应用与软件 2006生
4查询优化
查询优化是为了提高数据查询的效率和性能。在网络数据
库系统中,系统的性能主要受I/O,CPU和网络瓶颈的影响。为
了提高系统性能,必须精心设置服务器、数据库、进程并减少数
据库的冲突,消除瓶颈,使系统的处理时间最短 。
4.1 服务器与操作系统的设置
SQL Server 2000数据库内核使用了一个基于成本的查询优
化器自动优化向系统发出的数据查询操作 。通过查询分析、
索引选择和连接选择三个阶段来实现SQL Server 2000的优化
过程(图7)。Windows 2000 Server支持FAT和NTFS两种文件
系统。尽管NTFS有许多高级的功能,但是SQL Server 2000管
理自己的数据访问不使用这些高级功能。因此,在系统开发时,
将SQL Server 2000安装在服务器单独划分的FAT分区上以获
得最快的文件访问速度。为了提高系统性能,尽量减少分配给
操作系统的内存和高速缓存,不使用不必要的驱动程序与写缓
存;合法设置参数,避免网络错误。
* 0、
-・一
l
j:
f“,
l
}
・J¨ {
‘ l
,12: {
0…豁
:
|¨
… “
嚣
l
l
。……
’一
; ‘…
誊盘……
#椎 斓 l_n…一■一~…
图7 SQL Server 2000查询优化器
4.2使用合适的数据类型
在SQL Se ̄er 2000数据行中,有定长列和变长列之分。变
长列比定长列的开销大。数据行的定长列需开销4字节,而对
于变长列,第一个变长列的开销为5字节,其余每个变长列增加
1字节开销。在SQL Se ̄er 2000中,含有空值的列作为变长列
处理,因此,从性能角度考虑,指定为非空(NOT NULL),并建立
默认值。在表1中,Pub—date(发表时间)数据类型定义为data—
time(日期型),长度系统定义为8位。其余字段都是字符内容,
为了提高系统性能,将Abstract字段定义为varchar(变长字符
型)。其存储长度随输入数据的实际长度而变化,但最大长度
不得超过8000字符。其余字段定义为定长型。
4.3优化索引
在SQL Server 2000中有两种索引:簇索引和非簇索引。合
理使用簇索引和非簇索引都可以加快处理速度,但占用的空间
和维护的开销不同。可以通过调整填充因子(FILL FACTOR)
来设置索引选项。通过优化索引可以加快数据库访问的速
度 J。在条件表达式中经常用到的不同值较多的列上建立索
引;对不经常连接的字段由查询优化器自动生成索引。具体设
置时,在SQL Server 2000中,打开Literature库,右击Book表,进
入“所有任务\管理索引”。选择“Qkname”、“Book name”、“Au—
thor”、“Keyword”和“Pub—date”五个字段建立索引,并设置“填
充因子”=80(图8)。
图8设置索引
5结语
Web文献检索系统首先在局域网内进行设计、调试。在服
务器上安装Windows 2000 Server,并通过设置“管理工具\Inter—
net服务管理器”建立IIS服务,设置服务器IP地址和相应的服
务器主目录。在服务器上安装SQL Server 2000企业版作为后
台数据库,在客户机上安装SQL Server 2000客户端,并建立同
服务器的连接,可直接操作服务器上的数据库。这样在局域网
中就可以通过客户机直接访问服务器。在客户机上编写好相应
的查询页面和ASP程序再上传到服务器的主目录,然后在客户
机上执:行,调试。效果同在服务器上直接进行操作一样。通过
调试运行,Web文献检索系统运行正常,查询效率高。基于
ASP、SQL Server 2000实现的Web文献检索系统简单、安全、稳
定,维护方便。
参考文献
[1]廖信彦,Active Sevrer Pages应用大全——AsP与数据库的整合
[M],清华大学出版社,2000。
[2]罗亚,胡昌盛,“网络数据库系统的开发策略[J]..,《现代计算机》,
2000.4:15~22
[3]钱: 波,谢金宝,“SQL Server数据库性能优化技术[J]”,《微型机
与应用》,1999,18(3):7~9.
[4]向中凡等,SQL Sevrer 2000实用操作与技巧[M],西安电子科技大
学出版社,2001.
[5]王爱军,基于数据库查询过程优化设计[J]”,《电子科技大学学
报》,2003,32(2):192~194.
(上接第3页)
据库,基于医药卫生科学数据共享服务网培训少数民族地区医
师和群众。
7展望
“十一五”期间,在国家科技基础条件平台——科学数据共
享工程项目的带动下,我们将进一步整合国家、地方和军队医药
卫生科学数据共享资源,充分调动数据拥有单位和数据拥有者
的积极性,形成医药卫生领域科学数据共享氛围。建立起该领
域科学数据资源体系、标准化体系、技术支撑体系、数据服务体
系和综合保障体系。形成物理上合理分布、层次分明,逻辑上高
度统一、充分共享的医药卫生科学数据共享网,包括6个物理中
心、40个左右主体数据库和300个左右数据库和若干个数据集
或数据集系列,学科覆盖面达到80%。为政府卫生决策、科技
创新、医疗保健和百姓健康信息咨询提供数据共享和信息服务。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1718945733a2753764.html
评论列表(0条)