Web数据库系统全文.docx
- 文档编号:26012839
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:18
- 大小:31.16KB
Web数据库系统全文.docx
《Web数据库系统全文.docx》由会员分享,可在线阅读,更多相关《Web数据库系统全文.docx(18页珍藏版)》请在冰豆网上搜索。
Web数据库系统全文
Web数据库系统(全文)
胡经国
本文作者的话
本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。
以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。
希望能够得到大家的指教和喜欢!
下面是正文
一、Web数据库系统概述
Web数据库系统,是指在互联网中以Web查询接口方式访问的数据库系统资源。
Web技术是促进Internet发展的因素之一。
由静态网页技术的HTML到动态网页技术的CGI、ASP、PHP、JSP等,Web技术经历了一个重要的变革过程。
Web已经不再局限于仅仅由静态网页提供信息服务,而改变为动态网页,可提供交互式的信息查询服务,使信息数据库服务成为了可能。
Web数据库就是将数据库技术与Web技术融合在一起,使数据库系统成为Web的重要有机组成部分,从而实现数据库与网络技术的无缝结合。
这一结合不仅把Web与数据库的所有优势集合在一起,而且充分利用了大量已有数据库的信息资源。
Web数据库系统,由数据库服务器(DatabaseServer)、中间件(MiddleWare)、Web服务器(WebServer)、浏览器(Browser)4部分组成。
其中,数据库服务器,由运行在局域网中的一台或多台计算机和数据库管理系统软件共同构成。
数据库服务器为客户应用提供服务,这些服务是:
查询、更新、事务管理、索引、高速缓存、查询优化、安全及多用户存取控制等。
中间件(Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。
数据库访问中间件(DatabaseAccessMiddleware)支持用户访问各种操作系统或应用程序中的数据库。
SQL是该类中间件的其中的一种。
Web数据库系统的工作过程,可简单地描述成:
用户通过浏览器端的操作界面以交互的方式经由Web服务器来访问数据库。
用户向数据库提交的信息以及数据库返回给用户的信息,都是以网页的形式显示的。
链接:
CGI
CGI(CommonGatewayInterface,公共网关接口),是Web技术中最重要的技术之一,有着不可替代的重要地位。
CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。
CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器。
CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。
CGI在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。
这样说大概还不好理解。
那么,我们看一个实际例子。
现在的个人主页上大部分都有一个留言本。
留言本的工作是这样的:
先由用户在客户端输入一些信息,如名字之类的东西。
接着用户按一下“留言”(到目前为止工作都在客户端);浏览器把这些信息传送到服务器的CGI目录下特定的CGI程序中;于是CGI程序在服务器上按照预定的方法进行处理。
在本例中,就是把用户提交的信息存入指定的文件中。
然后CGI程序给客户端发送一个信息,表示请求的任务已经结束。
此时,用户在浏览器里将看到“留言结束”的字样。
整个过程结束。
绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。
CGI程序使网页具有交互功能。
总之,CGI程序的处理步骤是:
①、通过Internet把用户请求送到Web服务器;
②、Web服务器接收用户请求并交给CGI程序处理;
③、CGI程序把处理结果传送给Web服务器;
④、Web服务器把结果送回到用户。
链接:
ASP
ASP(ActiveServerPage,动态服务器页面),是微软公司开发的代替CGI脚本程序的一种应用。
它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
ASP的网页文件的格式是.asp。
现在常用于各种动态网站中。
链接:
PHP
PHP是(HypertextPreprocessor,超文本预处理器)嵌套缩写,是超级文本预处理语言,一种HTML内嵌式语言。
PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言。
其语言的风格类似于C语言。
它可以比CGI或者Perl更快速地执行动态网页。
现在被很多的网站编程人员广泛运用。
链接:
JSP
JSP(JavaServerPages,Java服务器页面),其根本是一个简化的Servlet设计,它是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet,即小脚本)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
链接:
Perl
Perl(PracticalExtractionandReportLanguage,实用报表提取语言),是一种功能丰富的计算机程序语言,运行在超过100种计算机平台上;适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。
链接:
Servlet
Servlet,全称JavaServlet,是用Java语言编写的服务器端程序。
其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的Servlet,是指Java语言实现的一个接口;广义的Servlet,是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet运行于支持Java的应用服务器中。
从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
二、Web服务器工作原理与工作步骤
万维网简称为Web。
Web可以描述为在Internet上运行的、全球的、交互的、动态的、跨平台的、分布式的、图形化的超文本信息系统。
链接:
跨平台
跨平台,泛指程序语言、软件或硬件设备可以在多种操作系统或不同硬件架构的电脑上运作。
广义而言,一般的计算语言都可做到跨平台,开发商只需要提供各种平台下的Runtime/中间件环境即可。
严格而言,是指用某种计算机语言编制的程序只需要做小量的修改,编译之后即可在另外一种平台下运行,此时并不提供Runtime/中间件环境。
例如Java语言是一种提供Runtime环境的跨平台解决方案,而C语言是一种标准且严格的跨平台语言。
Runtime(运行时刻),是指一个程序在运行(或者在被执行)的状态。
也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻。
在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为“运行库”。
这些实例可以在它们运行的时候被链接或者被任何程序调用。
中间件(Middleware)是一种独立的系统软件或服务程序;分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯。
它是连接两个独立应用程序或独立系统的软件。
相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。
执行中间件的一个关键途径是信息传递。
通过中间件,应用程序可以工作于多平台或多OS(OperatingSystem,操作系统)环境。
链接:
分布式网络
分布式网络这种网络结构,是由分布在不同地点、且具有多个终端的节点机互连而成的。
这种网络中任一点均至少与两条线路(链路)相连;当任意一条线路发生故障时,通信可转经其它线路完成,具有较高的可靠性。
同时,网络易于扩展。
分布式网络,又称为网型网。
较有代表性的网型网就是全连通网络。
由计算可知,一个具有N个节点的全连通网络需要有N*(N-1)/2条链路。
这样,当N值较大时,传输链路数很大,而传输的链路的利用率较低。
因此,在实际应用中,一般不选择全连通网络,而是在保证可靠性的前提下,尽量减少链路的冗余和降低造价。
分布式网络的优点是:
分布式网络与中央控制式网络对应,它没有中心,因而不会因为中心遭到破坏而造成整体的崩溃。
在分布式网络上,节点之间互相连接,数据可以选择多条路径传输。
其缺点是:
不利于集中管理;安全性不好控制。
链接:
图形化界面
图形化界面或图形用户接口(GraphicalUserInterface,GUI),是指采用图形方式显示的计算机操作环境用户接口。
与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。
GUI的广泛应用是当今计算机发展的重大成就之一。
它极大地方便了非专业用户的使用,人们从此不再需要死记硬背大量的命令,取而代之的是通过窗口、菜单、按键等方式来方便地进行操作。
而嵌入式GUI具有下面几个方面的基本要求:
轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。
图形化界面应用于手机通讯移动产品、车载系统产品、游戏产品和电脑操作平台等领域。
链接:
超文本
超文本(Hypertext)是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。
超文本更是一种用户介面范式,用以显示文本及与文本之间相关的内容。
现时超文本普遍以电子文档方式存在。
其中的文字包含有可以链接到其它位置或者文档的链接,允许从当前阅读位置直接切换到超文本链接所指向的位置。
超文本的格式有很多,目前最常使用的是超文本标记语言(HyperTextMarkupLanguage,HTML)及富文本格式(RichTextFormat,RTF)。
我们日常浏览的网页上的链接都属于超文本。
1、Web服务器工作原理
Web服务器是伴随着Internet技术而产生的。
在计算机网络中,提供Web服务的计算机称为Web服务器。
Web服务器采用浏览器/服务器的工作模式。
每个Web服务器上都放置着大量的Web信息。
Web信息的基本单位是Web页(网页);多个Web网页组成了一个Web节点。
每个Web节点的起始页称为“主页”,并且拥有一个URL地址(统一资源定位地址)。
Web节点之间及网页之间都是以超文本结构(非线性的网状结构)来进行组织的。
链接:
超文本结构
超文本采用一种非线性的网状结构——超文本结构来组织信息。
采用这种网状结构,各信息块很容易按照人们的“联想”关系加以组织。
超文本结构由若干内部互联的文本块(或其他信息)组成,这些文本块可以是计算机的一个文件或更小的信息单位,它们称为一个节点。
每个节点都有若干指向其它节点或从其它节点指向该节点的指针,这些指针称为链。
每个链都连接着两个节点,它是有向的,从一个节点(称之为源节点)指向另一个节点(称之为目的节点)。
链的数量依赖于每个节点的内容。
有些节点与其它节点有许多关联,因此它就有许多链。
2、Web服务器工作步骤
Web服务器的工作步骤如下:
⑴、用户打开客户端计算机中的浏览器软件(例如InternetExplorer)。
⑵、用户输入要启动的Web主页的URL地址,浏览器将生成一个HTTP请求。
⑶、浏览器连接到指定的Web服务器,并发送HTTP请求。
⑷、Web服务器接到HTTP请求,根据请求的内容不同作相应的处理,再将网页以HTML文件格式发回给浏览器。
⑸、浏览器将网页显示到计算机屏幕上。
链接:
HTTP请求
HTTP请求,是指从客户端到服务器端的请求消息。
它包括:
消息首行中,对资源的请求方法、资源的标识符及使用的协议。
三、Web数据库系统体系结构
当前,Internet/Intranet(互联网/企业内部网)技术发展异常迅速,越来越多的数据库应用软件运行在Internet/Intranet环境下。
在此之前,数据库系统的发展经历了单机结构、集中式结构、客户机/服务器(C/S)结构之后,随着Internet的普及,又出现了浏览器/服务器(B/S)结构与多层结构。
在构造一个数据库系统时,首先考虑的是该系统的体系结构,采用哪种结构取决于该系统的网络环境、应用需求等因素。
1、客户机/服务器(C/S)结构
⑴、二层C/S结构
二层C/S结构是当前非常流行的数据库系统结构。
在这种结构中,客户机提出请求,服务器对客户机的服务请求做出回答。
它把界面和数据处理操作分开在前端(客户机端)和后端(服务器端)。
这个主要特点使得C/S结构的数据库系统的工作速度,主要取决于进行大量数据操作的服务器,而不是前端客户机的硬件设备;同时也大大降低了对网络传输速度的要求。
因为,只须客户机把服务请求发送给数据库服务器,数据库服务器只把服务结果传回客户机。
在设计两层C/S结构时,对数据可能有如下不同的处理形式:
①、在处理时,客户机先向服务器索取数据,然后释放数据库,即客户机发出的是文件请求,在客户机处理数据,最后将结果送回服务器。
这种处理方式的缺点很明显:
所有的应用处理都在客户机完成。
这就要求客户机必须有足够的能力,以便执行需要的任何程序。
更为糟糕的是,由于所有的处理均在客户机完成,每次运行时都要将文件整体传送到客户机,然后才能执行。
例如:
Student表中有30000条记录,客户机发出命令:
Select*FromStudentWhereSno='200101'
这条命令要求服务器将Student表中的所有记录传送到客户机,然后在客户机执行查询,结果只用到一条记录;如果查询的记录不存在,网络传输的数据实际上是无用的。
如此大的数据传输量是不可想象的。
因此,人们提出了在服务器中能够执行部分代码的客户机/服务器结构。
②、在处理时,客户机接受用户要求,并发给服务器;在服务器处理用户要求,最后将结果传回客户机显示或打印。
这种处理方式网络通信量较小。
客户机向服务器发出的是处理请求,而不是文件请求。
处理请求中的代码在服务器执行后向客户机传送处理后的结果。
这样,为了特定任务,客户机上的程序和服务器上的程序协同工作:
客户机的代码用于完成用户的输入输出及数据的检查;而服务器的代码则完成对数据库的操作。
客户机/服务器结构的另一个主要特点,在于软件、硬件平台的无关性。
数据库服务器上的数据库管理系统集中负责管理数据,它向客户机提供一个开放的使用环境;客户机通过数据库接口,如ODBC(开放数据库连接)和SQL语言访问数据库。
也就是说,不管客户机采用什么样的硬件和软件,它只要能够通过网络和数据库接口程序连接到服务器,就可对数据库进行访问。
在客户机/服务器结构中,常把客户机称为前台,而把服务器称为后台。
前台应用程序的功能包括用户界面、接收用户数据、处理应用逻辑、向后台发出请求、同时接收后台返回的结果,最后再将返回的结果按一定的格式或方式显示给用户。
而后台服务器则负责共享外部设备、存取共享数据、响应前台客户端的请求并回送结果等工作。
前台的应用程序和数据一般是用户专用的;而后台的数据和代码则是所有用户可以共享的。
由于数据库服务器不仅要管理共享数据,保证数据的完整性,还要执行一部分代码,完成客户机的一些处理请求,因而对用于服务器的计算机提出较高的要求。
最好要采用一台专用的服务器,有较快的处理速度,有大容量的硬盘和内存,支持磁带等大容量的存储设备。
上面讲的客户机/服务器结构,由于它将应用分在了客户机、服务器两级,因而称其为两层C/S结构。
总之,两层C/S结构的基本工作方式,是客户机向数据库服务器发送SQL请求,服务器返回数据或结果。
如上所述,这种C/S结构有两种实现方式:
一种是由客户机来完成表示部分和应用逻辑部分,而由服务器来完成数据访问部分。
这种情况是以客户机为中心的,适用于应用相对简单、数据访问量不是很大的情况。
另一种是以服务器为中心的,把一些重要的应用逻辑部分放到服务器上。
这样,可以充分利用服务器的计算能力,减少网络上需要传送的数据。
这通常以存储过程和触发器的形式出现,但是,存储过程都依赖于特定数据库,不同数据库之间很难移植;而三层C/S结构则可以很好地解决这个问题。
注意:
触发器(trigger)是数据库系统中,一个在插入、删除、修改操作之后运行的记录级事件代码。
不同的事件可以对应不同的动作。
通常有3种类型的触发器:
INSERT(插入)触发器、DELETE(删除)触发器和UPDATE(更新)触发器。
⑵、三层C/S结构
由于二层C/S结构本身固有的缺陷,使得它不能应用于一些大型、结构较为复杂的系统中,因而出现了三层C/S结构。
它将二层C/S结构中服务器部分和客户机部分的应用单独划分出来,即采用“客户机-应用服务器-数据库服务器”结构。
典型的数据库应用可分为三部分:
表示部分、应用逻辑(商业逻辑)部分和数据访问部分;三层结构便是对应于这三部分典型的数据库应用的。
其中,应用服务器和数据库服务器可以位于同一主机,也可以位于不同主机。
客户机,是应用的用户接口部分,负责用户与应用程序的交互,运行在客户机的软件也称为表示层软件。
应用服务器,存放业务逻辑层(也称为功能层)软件,是应用逻辑处理的核心,实现具体业务。
它能响应客户机请求,完成业务处理或复杂计算。
若有数据库访问任务时,应用服务器层可根据客户机的要求向数据库服务器发送SQL指令。
应用逻辑变得复杂或增加新的应用时,可增加新的应用服务器。
数据库服务器,便是用来执行功能层送来的SQL指令,完成数据的存储、访问和完整性约束等。
操作完成后,再通过应用服务器向客户机返回操作结果。
2、浏览器/服务器(B/S)结构
⑴、B/S结构的三层结构
随着Internet技术和Web技术的广泛应用,C/S结构已无法满足人们的需要。
因为,在典型的基于C/S结构的系统中,通常为客户安装前端应用程序的做法已不再现实,并且限制客户端工作环境只能基于Windows、Macintosh或UNIX等操作系统也不切实际。
于是,基于浏览器/服务器(Browser/Server,B/S)结构的系统应运而生。
在采用B/S结构以后,在客户端只需要安装一个通用的浏览器即可,不再受具体操作系统和硬件的制约,实现了跨平台的应用。
基于B/S结构的典型应用通常采用三层结构,即:
“浏览器-Web服务器-数据库服务器”。
⑵、B/S模式的工作原理
B/S模式的工作原理是:
通过浏览器以超文本HTML语言形式向Web服务器提出访问数据库的请求;Web服务器接受客户请求后,激活对应的CGI程序,将超文本HTML语言转化为SQL语法,将这个请求交给数据库服务器;数据库服务器收到请求后,进行数据处理,然后将处理结果集返回给CGI程序;CGI程序再将结果转化为超文本HTML语言,并由Web服务器转发给请求方的浏览器。
在B/S模式中,客户端的标准配置是浏览器,如IE;业务功能处理由独立的应用服务器处理,Web服务器成为应用处理的标准配置;数据处理仍然由数据库服务器处理。
3、B/S结构与C/S结构的主要区别
从本质上讲,B/S结构与传统的C/S结构都是以同一种请求和应答方式来执行应用的,而区别主要在于:
C/S是一种二层或三层结构,其客户端集中了大量应用软件;而B/S是一种基于超链接(HyperLink)、HTML、Java的三级或多级结构,客户端仅需单一的浏览器软件,是一种全新的体系结构,解决了跨平台问题。
到目前,这两种结构在不同方面都有着广泛的应用。
虽然C/S结构在Internet环境下明显不如B/S结构具有优势,但是它在局域网环境下仍具有一定优势。
四、Web数据库管理系统
1、Web数据库管理系统概述
目前,Web技术与数据库管理系统(DBMS)相互融合领域的研究已成为热点方向之一。
数据库厂家和Web公司也纷纷推出各自的产品和中间件,支持Web技术和DBMS的融合,使两者取长补短,发挥各自的优势;使用户可以在Web浏览器上方便地检索数据库的内容。
所谓Web数据库管理系统,是指基于Web模式的DBMS的信息服务,充分发挥DBMS高效的数据存储和管理能力,以浏览器/服务器(B/S)模式为平台,将客户端融入统一的Web浏览器,为Internet用户提供使用简便、内容丰富的服务。
Web数据库管理系统,必将成为Internet和Intranet(企业内部网)提供的核心服务,为Internet上的电子商务提供技术支持。
2、通过Web访问数据库的优点
数据库应用的一个重要方面就是对数据的访问。
但是,许多数据库系统目前提供的访问方式,或是一个字符方式的查询界面,或是通过编程方式实现;无论哪种方式都较难使用。
近年来发展的一些RAD(RapidApplicationdevelopment,快速应用程序开发)工具,如VB、Delphi、PowerBuilder等,可以方便地开发一些图形界面的访问数据库软件。
然而,这样的开发工具需要使用者具有编程技术,并且开发的程序不能跨平台运行。
而且,用RAD工具开发的软件,随用户需求的改变,可能需要增添新的功能或在界面上做一些改动。
如果开发的软件使用范围比较广泛的话,那么软件的更新将是一项很大的工作。
而Internet技术的发展,则使上述问题有了解决的办法。
如果建立了Web服务器,就可以通过Web服务器实现对数据库的访问,上面提到的问题也都可以解决了。
与传统方式相比,通过Web访问数据库的优点在于:
⑴、借用现成的浏览器软件,无需开发数据库前端
如果能够通过Web来访问数据库,我们就不需要开发客户端的程序,使用的数据库应用都可以通过浏览器来实现;界面统一,也减少了培训费用,能使广大用户很方便地访问数据库信息。
⑵、标准统一,开发过程简单
HTML是Web信息的组织方式,是一种国际标准。
使用Web服务器与HTML标准,开发者甚至只需学习HTML一种语言,使用者只需学习一种界面——浏览器界面。
⑶、交叉平台支持
几乎在各种操作系统上都有现成的浏览器可供使用,为一个Web服务器书写的HTML文档,可以被所有平台的浏览器所浏览,实现了跨平台操作。
五、传统的Web数据库系统体系结构
一般实现Web数据库系统的连接和应用可采取以下两种方法:
一种是在Web服务器端提供中间件来连接Web服务器和数据库服务器;另一种是把应用程序下载到客户端,并在客户端直接访问数据库。
中间件负责管理Web服务器和数据库服务器之间的通信,并提供应用程序服务。
它能够直接调用外部程序或脚本代码来访问数据库。
因此,它可以提供与数据库相关的动态HTML页面,或执行用户查询;并将查询结果格式化成HTML页面,通过Web服务器返回给Web浏览器。
最基本的中间件技术有:
公共(通用)网关接口CGI和应用程序接口API两种。
1、基于公共网关接口CGI
CGI(CommonGatewayInterface,公共网关接口),是Web服务器运行时外部程序的规范。
按照CGI编写的程序,可以扩展服务器的功能,完成服务器本身不能完成的工作。
外部程序执行时间可以生成HTML文档,并将文档返回Web服务器。
CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API与数据库服务器等外部数据源进行通信。
例如,一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后,发送给浏览器;也可以将从浏览器获得的数据放到数据库中。
几乎使用的服务器软件都支持CGI,开发人员可以使用任何一种Web服务器内置语言编写CGI;其中包括流行的C、C++、VB和Delphi等。
从体系结构上来看,用户通过Web浏览器输入查询信息,浏览器通过HTTP协议向Web服务器发出带有查询信息的请求;Web服务器按照CGI协议激活外部CGI程序,由该程序向DBMS发出SQL请求,并将结果转化为HTML后返回给Web服务器;再由Web服务器返回给Web浏览器。
这种结构体现了客户机/服务器模式的三层结构。
其中,Web服务器和CGI程序实际起到了HTML和SQL转换的网关的作用。
CGI的典型操作过程是:
分析CGI数据;打开与DBMS的连接;发送SQL请求并得到结果;将结果转化为HTML;关闭DBM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 数据库 系统 全文