《电子商务论文——浅谈基于Web的数据库技术》由会员分享,可在线阅读,更多相关《电子商务论文——浅谈基于Web的数据库技术(4页珍藏版)》请在金锄头文库上搜索。
1、浅谈基于Web的数据库技术摘要:数据库技术经历了层次数据库、网状数据库到关系数据库、面向对象数据库的发展,也经历了几代的发展模式,现在普遍应用的是B/S模式,本文对这种模式,以及XML和传统数据库的比较进行了比较浅显的分析。 关键词:Web;数据库;B/S;XML引言随着Internet技术的快速发展,Web数据库现已成为解决数据存储和数据处理的主流和核心技术。与传统数据库相比,现今的数据库面临着四个方面的变化,即数据容量的变化:数据量的急剧增长使数据库技术面临一个海量数据的管理问题;数据内容的变化:数据的内容呈现一个多方位的体现形式,要处理的数据的表现形式越来越丰富,也越来越复杂;系统本身的
2、变化:系统体系结构的变化对数据库系统本身的系统结构和数据处理能力也提出了更新的要求;数据应用的变化:数据应用呈现出多样化的空间,如电子图书馆、电子政务,电子商务、网络教育等给数据库技术提出了新的问题纵观整个数据库信息系统平台的发展过程,先后共产生了以下四种模式:主机终端模式、文件服务器模式、客户机服务器模式(clientserver即cs模式),浏览器服务器模式(BrowserServer即BS模式)。其中,BS模式是将Web技术与数据库管理系统(DBMS)有机融合在一起,充分发挥DBMS高效的数据 存储和管理能力和Web的易维护性,利用了大量已有的数据库信息资源,使用户可以在IE浏览器上就能
3、够方便地查询和浏览数据库中的内容。所以,采用基于Web的数据库技术,开发动态的Web数据库应用已成为当今Web技术研究的热点和主流,许多基于大型数据库的信息系统正在采用这种全新的技术模式。 一、B/S模式的结构和工作原理 1、B/S模式的体系结构 基于Web的系统实际上是由两层C/S结构演变而来,其结构由浏览器、Web服务器+中间件和数据库服务器三个逻辑单元等共同组成。将Web的强大信息服务能力与数据库系统的数据管理能力有机地结合在一起,充分发挥各自的优点,避免各自固有的缺陷,从而起到事半功倍的效果。在该模式的系统中,所有数据都由现有的数据库技术存储与操作,客户机使用IE浏览器向服务器提出请求
4、并即时返回查询结果。在Web与数据库集成系统中,最核心的部件就是Web数据库网关。Web数据库网关通过访问DBMS系统,来完成用Web技术表达的用户请求。 2、B/S模式的工作原理 在B/S模式中,客户端首先运行浏览器软件(如IE等)。浏览器以超文本形式向Web服务器提出访问数据库的请求,Web服务器在接受到客户端请求后,通过数据库网关,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,处理完毕之后,将结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,并变成HTML文档形式,转发给客户端浏览器以Web页面形式显示出来,从而客
5、户端得到所需的结果。当然,浏览器也会将更新、修改、删除、增加数据记录的请求申请到Web服务器,Web服务器通过数据库网关与数据库建立关联从而完成这些工作。 二、中间件连接Web服务器和数据库服务器的几种方法 1、通用网关接口(CGI) 通用网关接口是最早出现的较为常用的一种Web访问数据库的技术。CGI应用程序可由Web浏览器通过填写HTML表单或单击web服务器上的HTML页面中的链接来启动。CGI应用程序可获取Web浏览器提供的信息和数据库中的信息,并且可以使用任何一种语言(如F0RTRAN,C等)编写应用程序。Web服务器执行CGI应用程序后,将程序执行的结果返回到HTML页面中便于客户
6、机浏览,或将信息传递到数据库中。用户通过IE浏览器以HTML形式向Web服务器提出访问数据库的请求,web服务器得到请求后,激活相应的CGI程序,CGI程序将HTML语言转化为SQL语言文本,同时将请求递交给数据库管理系统,数据库管理系统得到请求后,首先验证其合法性,然后将操作的数据结果转给CGI程序,CGI程序再将这个结果转化为HTML,并由Web服务器转发给Web浏览器。这就是CGI访问数据库的工作原理。CGI具有很强的跨平台特点,几乎可以在任何操作系统和Web服务器上实现。 CGI的主要缺点是程序开发困难,效率低和程序的应用层次不分明,系统的安全性也不太高,容易受到攻击而导致系统瘫痪。
7、2、服务器应用编程接口(Server API) 针对CGI运行效率低、编程困难等问题,Web服务器软件开发商设计了满足各自的服务器API,如Microsoft公司的Web服务器产品IIS,它提供ISAPI作为扩展Web服务器功能的编程接口,同时它还提供一个Internet数据库连接器(IDC),实现对数据库的查询和更新。在Microsoft公司的另一个产品Microsoft VisualInterDev中,还提出了用ASP作为实现Web应用的方案;Netscape公司在其Web服务器中引进了应用程序编程接口NSAPI,设计人员利用它可以扩展服务器的功能。 四、B/S模式的数据库管理系统的常用开
8、发技术 1 、ASP技术 ASP是Microsoft公司发布的一个Web服务器端的开发环境,利用它可以运行动态的、交互的Web服务器应用程序。它的运行环境是Microsoft的IIS(Windows NT及Windows XP等环境)或PWS(Personal Web Server,Windows9598等环境),但它不能运行在非Microsoft系列的操作环境下,从而无法实现真正的跨平台设计和使用。ASP不但可以进行复杂的数据库操作,而且可以生成交互性很强的动态页面,用户可以方便地控制和管理数据。ASP是把脚本语言(VBscript或Java script)嵌在HTML文档里,当客户端使用浏
9、览器浏览网页时,服务器会激活编译程序引擎对其进行编译,生成标准的HTML标记语言并返回给客户端,所有的数据处理都在服务器端进行,由ASP程序来完成,用户只需要一个标准的浏览器(如Internet Expl0rer、Netscape Communicator、Opera或KidExplorer等)即可。 2、 PHP技术 PHP是一种跨平台的服务器端的嵌人式脚本语言。与其他中间件技术相比,PHP可扩展性好、开发代码快、安全性好、代码执行速度快、可移植性好。PHP与ASP都是目前Web开发的主流技术,但二者也有一定的区别。首先PHP是完全免费的,可以自由下载,甚至可以不受限制地获得源代码,然后根据
10、自己的实际需要加进自己的特色;二是PHP是跨平台运行的, 可以在Unix、Linux、Win32和Macint0sh等各种系统上运行,同时PHP也可以在Apache、IIS或ISAPI服务器上运行,因此它的可移植性好,即使程序在在Windows平台上开发,如果移植到“nux上,PHP的脚本程序可以不经改变就可以运行,从而具备良好的跨平台性。而ASP的可移植性相对差些,它仅限于Windows系统的IIS平台;三是ASP访问数据库是通过通用数据库接口标准ODBC来实现的,任何关于数据库的访问都必须调用相应的ODB C驱动程序,因而各种数据库的ODBC驱动程序成了ASP开发Web应用的关键,而PHP
11、也可以通过0DBC访问各种数据库,但主要是通过函数直接访问数据库,它具有许多与各类数据库连接的函数,因而可以充分利用各数据库系统提供的扩展功能。PHP支持多种数据库数据库或数据文件:dBASE,dbm、AdabasD,filePro、InformiX ,M icrosoftSQLSERVER、MySQL,Solid,Sybase、Oracle等。而ASP在数据库访问方面,远不如PHP那么广泛。四是PHP在系统安全性方面也比ASP要强很多,PHP迄今为止还未见到过它在商业或非商业应用中出现过安全性问题。 五、数据库技术面临的挑战传统数据库的应用领域主要是针对商业与事务处理。Internet时代到
12、来以后,Web改变了人们习惯的处理方式,也给数据库技术提出了一个必须面对的重要问题:即如何有效地存储和管理Web上以指数增长着的数据(文档),使它们既能被高效地操作和维护,又能在Web这个平台上方便地表示和交换。当前,典型的问题有: 1.将现有数据库中数据转换成适于Web的形式,需要相当的工作量。时至今日,虽然从CGI、Server API、Scripts到Java等等出现了许多解决方法,并且已在实际应用中取得了很好的效果,但仍有问题存在。 2.传统数据库中的数据以二进制码的形式存储,并且不同的数据库管理系统有各自的专有格式,这既带来了表示上的困难,更是进行交换的一大障碍。而随着网络的发展,数
13、据交换的能力已成为新的应用系统的一个至关重要的指标。 当然,我们也已经看到,数据库技术正在积极地吸收和利用Web方面的新技术。当前主流的数据库产品都宣布了对XML的支持。但是,数据库管理系统(DBMS)与XML的这种捆绑是否能够充分发挥效率,还需要在实际中检验。 六、发展趋势从技术角度讲,“以数据库为存贮手段,以 XML为交换载体”的数据管理模式是一种趋势。XML存放在关系数据库中, XML数据以虚拟XML文档的形式存在。从用户的角度,XML文档和数据库之间的区别是不透明的。数据库中存在的产品数据虚拟的XML文档,对用户而言,重要的不是数据存在何处,而是数据的逻辑结构合理性和操作界面的方便性。
14、 1、XML与数据库技术的比较 从技术角度讲,XML和关系数据同属于数据管理的手段。狭义的XML仅仅指一种语言和采用该语言所描述的XML文档,广义的XML包括XML语言、XML文档以及所有与XML相关的工具和技术,例如,XML解析器及解析技术,XML转换技术(XSL、XSML)等。广义的XML与DBMS大致具有相似的作用,XML与DBMS相同之处在于: 1. 提供数据存储。关系数据以数据库系统为手段,XML以文件系统为手段。 2. 提供对数据的直接存取访问。两者都不需要用户关心数据的物理结构。 3.提供数据的模式描述。XML采用DTD(Document Type Definition,文档类型
15、定义)或XML Schema(XML规范)来描述数据的逻辑结构; 关系数据通过关系模式来描述数据的逻辑结构。 4. 提供应用逻辑接口。XML采用SAX(Simple API for XML)和DOM(Document Object Model)定义应用编程接口,使应用程序能够访问和更新XML文档的样式、结构和内容;关系数据采用ODBC、JDBC、OLE DB等。作为两种相近的技术,两者也存在很大差别: 相对XML,关系数据库的优势在于:技术成熟、应用广泛;数据管理能力强(包括存储、检索、修改等);数据安全程度高;稳定可靠的并发访问机制等。另一方面,随着Web技术的不断发展,信息共享和数据交换的
16、范围不断扩大,传统的关系数据库也面临着挑战。第一,数据库技术的应用是建立在数据库管理系统基础上的,各数据库管理系统之间的异构性及其所依赖操作系统的异构性,严重限制了信息共享和数据交换范围。第二,数据库技术的语义描述能力差,大多通过技术文档表示,很难实现数据语义的持久性和传递性,而数据交换和信息共享都是基于语义进行的,这样在异构应用数据交换时,不利于计算机基于语义自动进行正确数据的检索与应用。第三,数据库属于高端应用,需要昂贵的价格和运行环境等。 归结起来,数据库在数据管理方面具有管理方便、存贮占用空间小、检索速度快、修改效率高、安全性好等优点,但客观上需要用一种应用方式将其丰富的数据有效地发布出来,以消除平台差异、增强语义描述功能、降低环境要求。 相对于数据库技术,XML