Web数据库概述.ppt
第1章 Web数据库概述,1.1 概述1.2 Web与数据库 1.3 Web连接数据库接口技术1.4 常用Web数据库应用开发技术15 Web服务器与客户端浏览器,1.1 概述,Internet网是目前全球最大的计算机通信网,它遍及全球几乎所有的国家和地区。WWW系统是一个大型的分布式超媒体信息数据库,它极大地推动了Internet的发展,已经成为Internet中最流行、最主要的信息服务方式,可以说,整个Internet就是一个大的数据库。目前Web技术与数据库技术相互融合领域的研究已成为热点方向之一。充分发挥DBMS高效的数据存储和管理能力,将客户端融入统一的Web浏览器,为用户提供使用简便、内容丰富的服务已成为Internet的核心服务之一。,1.2 Web与数据库,1.2.1 Web技术1.2.2 Web数据库1.2.3 几种常用Web数据库的比较,1.2.1 Web技术,WWW(World Wide Web)的含义是“环球网”,简称WWW或Web,是一个基于超媒体的信息网络,最初由欧洲物理实验室(CERN)研制,它通过超链接的方式浏览在Internet上的信息。WWW由分布在全球各地的Web节点组成,而Web节点由Web服务器管理和维护的多个Web页面组成。WWW系统采用客户/服务器工作模式,客户机和服务器之间通过HTTP协议进行通信。Web页面分静态和动态两种。静态页面的内容是固定不变的,而动态页面的内容在每次访问它时由Web服务器自动生成。,1.2.2 Web数据库,Web数据库可定义为以后台数据库为基础,通过统一的浏览器完成数据存储、查询、发布等维护管理工作的应用软件系统。Web数据库技术是指基于Web模式的DBMS的信息服务技术,它充分发挥DBMS高效的数据存储和管理能力,以Web这种浏览器/服务器(B/S)模式为平台,将客户端融入统一的Web浏览器,为Internet用户提供使用简便、内容丰富的服务。Web数据库的环境由硬件元素和软件元素组成。硬件元素包括Web服务器、客户机、数据库服务器、网络。软件元素包括客户端必须有能够解释执行HTML代码的浏览器,1.2.3 几种常用Web数据库的比较,当前比较流行的可作为Web数据库使用的关系型数据库主要有:SQL Server、MySQL和Oracle。这三种数据库适应性强,性能优异,容易使用,在国内得到了广泛的应用。1SQL Server是微软公司从Sysbase获得基本部件的使用许可后开发出的一种关系型数据库。2MySQL是当今Unix或Linux类服务器上广泛使用的Web数据库系统。3Oracle是Oracle公司开发的一种面向网络计算机并支持对象关系模型的数据库产品。(特点),Oracle备受用户喜爱的特点:,(1)支持大数据、多用户和高性能的事务处理。(2)Oracle 遵守工业标准,是一个开放系统,保护了用户的投资。(3)实施安全性控制和完整性控制。(4)支持分布式数据库和分布式处理。,1.3 Web连接数据库接口技术,1.3.1 基于通用网关接口CGI1.3.2 基于服务器扩展的API1.3.3 ODBC和OLEDB1.3.4 基于JDBC的Web数据库技术1.3.5 Microsoft ActiveX平台,1.3.1 基于通用网关接口CGI-1,CGI是WWW服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时可以生成HTML文档,并将文档返回WWW服务器。Web服务器软件几乎都支持CGI,开发人员可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的C、C+、VB和Delphi等。Web服务器软件几乎都支持CGI,开发人员可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的C、C+、VB和Delphi等。,1.3.1 基于通用网关接口CGI-2,通过CGI程序访问数据库是早期Web与数据库结合应用的方式之一,但却存在如下问题:(1)客户端与后端数据库服务器通信必须通过Web服务器,且Web服务器要进行数据与HTML文档的互相转换,当多个用户同时发出请求时,必然在Web服务器形成信息和发布瓶颈。(2)CGI应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时。(3)CGI应用程序不能由多个客户机请求共享,影响了资源的使用效率,导致性能降低并增加等待时间。(4)由于SQL与HTML差异很大,CGI程序中的转换代码编写繁琐,维护困难。(5)安全性差,缺少用户访问控制,对数据库难以设置安全访问权限。(6)HTTP协议是无状态且没有常连接的协议,DBMS事务的提交与否无法得到验证,不能构造Web上的OLTP应用。,1.3.2 基于服务器扩展的API,为了克服CGI的局限性,出现的另一种中间件解决方案是基于服务器扩展API的结构。与CGI相比,API应用程序与Web服务器结合得更加紧密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保护和安全性。虽然基于服务器扩展API的结构可以方便、灵活地实现各种功能,但这种结构的缺陷也是明显的:(1)各种API之间兼容性很差,缺乏统一的标准来管理这些接口。(2)开发API应用程序也要比开发CGI应用复杂得多。(3)这些API只能工作在专用Web服务器和操作系统上。,1.3.3 ODBC和OLEDB,ODBC是微软定义的基于Windows环境的一种数据库访问接口标准,它通过相应的ODBC驱动程序实现Windows应用同多种数据库进行数据交换,微软公司在IIS/PWS中提供了ODBC接口功能。ODBC一个最显著的优点是用它生成的程序与数据库或数据库引擎无关,因此是服务器扩展程序开发者们理所当然的选择。它可使程序员方便地编写访问各DBMS厂商的数据库的应用程序,而不需了解其产品的细节。Microsoft Developer Studio为大多数标准的数据库格式提供了32位ODBC驱动。ODBC经过多年的改进,它已成为存取数据库的事实上的标准。ODBC技术成了后来DAO、RDO及ADO等数据库访问技术的基础。,1.3.4 基于JDBC的Web数据库技术,JDBC由Java语言编写的类和接口组成,完成的工作是建立与数据库的连接、发送SQL语句、返回数据结果给Web浏览器。JDBC是一种规范,能为开发者提供标准的数据库访问类和接口,能够方便地向任何关系数据库发送SQL语句。同时JDBC是一个支持基本SQL功能的低层应用程序接口,但实际上也支持高层的数据库访问工具及API。采用JDBC技术,Java Applet中访问数据库的优点。基于JDBC的Web数据库结构的缺陷。,采用JDBC,Java 访问数据库的优点,直接访问数据库,不再需要Web数据库的介入,从而避开了CGI方法的一些局限性;用户访问控制可以由数据库服务器本地的安全机制来解决;JDBC是支持基本SQL功能的一个通用低层的应用程序接口,在不同的数据库功能的层次上提供了一个统一的用户界面,为跨平台跨数据库系统进行直接的Web访问提供了方案,从而克服了API方法的一些缺陷;可以方便地实现了与用户交互,提供丰富的图形功能和声音、视频等多媒体信息功能。,基于JDBC的Web数据库结构的缺陷,只能进行简单的数据库查询等操作,还不能进行OLTP;安全性、缓冲机制和连接管理仍不完善;SUN承诺的完全跨平台跨数据库系统的功能和标准远未实现。,1.3.5 Microsoft ActiveX平台,ActiveX是Microsoft提出的一种标准,AcitveX也是Microsoft一组软件技术的统称,包括控件(Controls)、文档(Documents)、脚本(Scripts)三种最常用的技术以及Microsoft的许多其他技术。Active Server Pages(ASP)是 Microsoft基于服务器的、建立动态和交互式 Web页面的技术,它是建立在ISAPI技术基础上的,并克服了CGI存在的缺点。ActiveX Data Object(ADO)是基于ActiveX规范的数据库访问组件。,1.4 常用Web数据库应用开发技术,1.4.1 ASP技术 1.4.2 PHP技术 1.4.3 JSP技术,1.4.1 ASP技术,ASP即Active Server Page,是微软推出的动态Web设计技术,是一种用于WWW服务的服务器端脚本环境。当用户使用浏览器请求ASP主页时,Web服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。,1.4.2 PHP技术,PHP 最初是在1994年 Rasmus Lerdorf 开始计划发展,在 1995 年以 Personal Home Page Tools(PHP Tools)开始对外发表第一个版本。在早期的版本中,提供了访客留言本、访客计数器等简单的功能。第二版定名为 PHP/FI(Form Interpreter)。PHP/FI加入了MYSQL的支持,自此奠定了PHP在动态网页开发上的影响力。第三版就定名为 PHP3。PHP的第四代Zend核心引擎也已经进入使用阶段,整个脚本程序的核心大幅改动,让程序的执行速度更快。PHP由于其良好的性能及免费的特点,是目前互联网中应用非常流行的一种开发平台。,1.4.3 JSP技术,JSP(JavaServer Pages)是一种基于Java的脚本技术。在JSP的众多优点之中,其中之一是它能将HTML编码从Web页面的业务逻辑中有效地分离出来。优点:可移植性好,支持多种平台;强大的可伸缩性;多样化与强大的工具支持。不足:安装配置管理较为复杂;运行速度较慢,建议开发大型应用系统采用JSP。由于Web的易用性和实用性,使它已经成为使用最为广泛、最有前途、最有魅力的信息传播技术。将Web技术与数据库相结合,开发动态的Web数据库应用已成为当今Web技术研究的热点。,1.5.1 IIS服务器 1.5.2 客户端浏览器,1.5 Web服务器与客户端浏览器,1.5.1 IIS服务器,由于目前多采用Windows 2000操作系统,故此处以Windows 2000为例说明Web服务器的安装及架设。1Web服务器的安装 安装Web服务器有两种情况:一是在安装Windows 2000同时,采用默认安装方式即自动安装Web服务器;另一种情况是没有进行自动安装,那么这种情况下就要进行手动安装。建议最好进行手动安装。下面以第二种情况为例进行讲解。,返回目录,(1)打开“控制面板”,选择“添加/删除程序”。(2)在弹出的对话框中,选择“添加Windows组件”,弹出组件向导。(3)在组件向导中选择Internet信息服务(IIS),可单击“详细信息”按钮,添加或删除其中的子组件。(4)在上一步中选择好组件后,单击“确定”按钮。(5)显示“完成Windows组件向导”窗口后单击“完成”即可。,返回目录,2IIS的配置 安装好Web服务器后,就要进行IIS的配置。包括Web站点设置、主页文件及目录设置、目录安全设置和错误信息设置等。我们可以建立一个新站点。一个Web站点实际上是IIS服务器上的一个目录,并且该目录的访问权限由IIS控制。安装好Web服务器后,它将在系统中自动建立一个默认Web站点,用户可以直接使用这个站点发布网页。默认情况下,IIS将它的根目录设置到C:Inetpubwwwroot下,也可以另外建立其他的站点使用。下面我们来看如何进行设置。,返回目录,图4-3 Internet信息服务管理控制台,返回目录,(1)在开始菜单中选“程序管理工具Internet服务管理器”,打开管理控制台。(2)用鼠标右键单击默认网站,在弹出的菜单中选择“属性”。在“Web站点”的“IP地址”栏内输入或选择一个有效的IP地址作为此站点的地址。设置想要使用的TCP端口号,如80,如图4-4所示。,返回目录,返回目录,(3)在“主目录”选项卡的“本地路径”中填写“C:Inetpubwwwroot”。如果不想使用默认的路径,则可以先在C盘或者是其他盘上建立一实际目录,如在D盘上建立D:stuaspplus目录,然后通过“浏览”选择该目录,即可建立自己的站点,如图4-5所示。,返回目录,图4-5“主目录”选项卡的设置,返回目录,(4)在“文档”选项卡,修改浏览器默认调用的文件名及调用顺序,如图4-6所示。,返回目录,图4-6“文档”选项卡的设置,返回目录,(5)建立虚拟目录。在Internet信息服务文件夹下右击默认站点,选择“新建”“虚拟目录”,弹出虚拟目录创建向导,单击“下一步”按钮,在弹出对话框的别名处键入wwwroot,如果是用新建立的站点,就输入该站点名称,如stuaspplus。单击“下一步”按钮,如图4-7所示。,返回目录,图4-7 虚拟目录别名对话框,返回目录,再单击图4-8中的“浏览”按钮,选择C:Inetpubwwwroot。单击“下一步”后采用默认设置,按向导提示单击“下一步”就可以完成虚拟目录的设置。如果采用Windows 98操作系统,那么其配置如下:Windows 98+PWS。若是Windows XP或Windows 2003,则配置如下:Windows XP+IIS、Windows 2003+IIS,但这种配置较少采用。因为XP对IIS不是完全兼容支持,有些功能配合得不够完美。所以我们推荐使用Windows 2000+IIS5这对组合,因为Windows 2000是相对比较稳定的系统,对于服务器网络方面微软投入得较多,比较适合做为服务器使用。,返回目录,图4-8 内容的目录路径对话框,返回目录,下面测试一下IIS配置是否成功。打开任何一个文本编辑器,如写字板,输入下面的程序,并存入C:Inetpubwwwroot目录,取名test.asp。注意一定要以.asp作为后缀名。例4.1我的第一个ASP程序你好!这里是ASP的测试 Response.Write chrStr%在浏览器地址栏输入http:/localhost/test2.asp,程序执行结果如图4-9所示。,返回目录,图4-9 测试程序结果,返回目录,