理论教育 电子商务网站的Web数据库技术解析

电子商务网站的Web数据库技术解析

时间:2023-05-24 理论教育 版权反馈
【摘要】:网上订货、在线交易等电子商务平台都需要以Web数据库作为其基石。可以预言,在不久的将来,Web数据库将成为数据库领域研究的热点技术。目前,异构数据库系统的集成以及建立在此基础之上的数据仓库、数据挖掘已经成为网络数据库技术研究的重点之一。

电子商务网站的Web数据库技术解析

Web数据库是Web技术和数据库技术相结合的产物。网上订货、在线交易等电子商务平台都需要以Web数据库作为其基石。随着Internet技术和应用的深入发展,Web数据库的开发与应用将越来越彰显其重要性。

(一)Web数据库概述

数据库技术是管理大量数据的有效方法,其优势在于可将庞大而复杂的信息以合理的结构组织起来,便于对其处理和查询。数据库管理系统软件数据结构算法等方面均采取了多种技术以提高数据的处理能力和查询速度,同时为数据的访问控制和安全保护提供了强有力的支持。

所谓Web数据库管理系统,是指基于Web模式的DBMS的信息服务,充分发挥DBMS高效的数据存储和管理能力,以Web这种浏览器/服务器(B/S)模式为平台,将客户端融入统一的Web浏览器,为Internet用户提供使用简便、内容丰富的服务。Web数据库管理系统必将成为Internet和Intranet提供的核心服务,为Internet上的电子商务提供技术支持。

1.通过Web访问数据库的优点

数据库应用的一个重要方面就是对数据的访问,但是许多数据库系统目前提供的访问方式,或是一个字符方式的查询界面,或是通过编程方式实现,无论哪种方式都较难使用。近年来发展的—些RAD(Rapid Application Development)工具,如VB、Delphi、PowerBuilder等可以方便地开发一些图形界面的访问数据库软件,但是这样的开发工具需要使用者具有编程技术,并且开发的程序不能跨平台运行。而且,用RAD工具开发的软件,随用户需求的改变,可能需要增添新的功能或在界面上做一些改动。如果开发的软件使用范围比较广泛的话,那么软件的更新将是一项很大的工作。而Internet技术的发展,则使上述问题有了解决的办法,如果建立了Web服务器,就可以通过Web服务器实现对数据库的访问,上面提到的问题也就都可以解决了。

与传统方式相比,通过Web访问数据库的优点在于:

(1)借用现成的浏览器软件,无需开发数据库前端。如果能够通过Web来访问数据库,就不需要开发客户端的程序,使用的数据库应用都可以通过浏览器来实现,界面统一,也减少了培训费用,能使广大用户很方便地访问数据库信息。

(2)标准统一,开发过程简单。HTML是Web信息的组织方式,是一种国际标准,开发者甚至只需学习HTML一种语言,而使用者也只需学习一种界面——浏览器界面。

(3)交叉平台支持。几乎在各种操作系统上都有现成的浏览器可供使用,为一个Web服务器书写的HTML文档,可以被所有平台的浏览器所浏览,实现了跨平台操作。

2.Web数据库的发展趋势

电子商务是以Web网络技术和数据库技术为支撑的,其中Web数据库技术是电子商务的核心技术。可以预言,在不久的将来,Web数据库将成为数据库领域研究的热点技术。

(1)非结构化数据库。在信息社会,信息可以划分为两大类:一类信息能够用数据或统一的结构加以表示,称之为结构化数据,如数字、符号;另一类信息无法用数字或统一的结构表示,如文本、图像、声音、网页等,称之为非结构化数据。结构化数据属于非结构化数据,是非结构化数据的特例。

所谓非结构化数据库,是指数据库的变长纪录由若干不可重复和可重复的字段组成,而每个字段又可由若干不可重复和可重复的子字段组成。简单地说,非结构化数据库就是字段可变的数据库。

随着网络技术和网络应用技术的飞快发展,基于Internet应用的非结构化数据库可能将成为继层次数据库、网状数据库和关系数据库之后的又一重点、热点技术。

(2)异构数据库系统。由于历史等原因,Internet上的数据库系统不少是分布、异构的。Internet上大量信息必须通过数据库系统才能有效管理。那么,Internet环境下分布式海量信息情况下如何建立合理高效的海量数据库,成为亟待解决的问题。针对目前关系型数据库占据了绝大多数市场的情况,要实现网络环境下的海量信息共享,就必须联合各个异构数据库,使得数据库之间能够通过主动式的超文本链接,实现相互连接,使得交叉引用的数据可以被很容易地检索到。

相互关联的数据库可以很容易地被归纳在一起,创建一个单一的虚拟数据库,也叫做异构数据库系统。异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已存在,拥有自己的DBMS。它的异构性主要体现在以下几个方面:计算机体系结构的异构;基础操作系统的异构;DBMS本身的异构。它的目标在于实现不同数据库之间的数据信息资源、硬件设备资源和人力资源的合并和共享。

目前,异构数据库系统的集成以及建立在此基础之上的数据仓库、数据挖掘已经成为网络数据库技术研究的重点之一。著名的国内外数据库厂商也将异构数据库系统作为竞争的焦点,研究如何将原来传统的、可能分布于各地的多个关系数据库集成起来,进行改进和发展,形成虚拟异构数据库系统和数据仓库,更好地为企业信息化、电子商务服务。

(二)主要Web数据库软件

在Web数据库系统中,一方面利用编程语言开发前台的动态网页发布系统,另一个重要的方面就是后台数据库的设置。从理论上讲,所有数据库系统都可以作为Web数据库系统的后台数据库支持,但实际上每种数据库系统都有其特点和适用环境。比如对于只有几千条记录的系统(如临时性的会议登记系统),如果用能够支持几亿条记录的分布式数据库系统(如Oracle等),就有些小题大做,而且这类系统对系统资源的要求很高,普通软硬件系统不一定能支持。另一方面,在对数据库安全和可靠性要求很高的环境里,如金融、电子商务等系统,如果采用普通数据库系统,如Access、FoxPro等没有系统安全管理和数据完整性保护的系统,显然是不适合的。因此,根据不同的系统需要,一定要选择合适的数据库系统,保证Web数据库系统的安全可靠。

1.Oracle

Oracle公司是全球最大的数据库系统软件供应商,也是全球第二大软件公司。专为客户提供数据库系统、工具、应用产品以及相关的咨询、培训和支持服务。该公司多年来提供了多种版本的Oracle大型数据库软件,最近推出的面向网络计算的Oracle 9i系统数据库软件,提供了一种Internet/Intranet数据库应用解决方案,是一种基于Web的数据库产品,该产品具有以下一些特性:

(1)基于Web的信息管理

(2)支持电子商务应用。

(3)支持数据仓库应用。

(4)易于管理。

(5)适用于移动计算环境。

(6)适用于分布式计算机和连机处理。

(7)可管理Web上的各种多媒体数据。

通过Oracle 9i系统数据库产品,可以建立各种基于Internet的数据库应用,开展在线商务、政务处理,在线购物和服务等。此外,通过该产品还可以十分方便地在Internet/Intranet上构建企业的数据仓库,极大地方便用户提高企业的整体管理水平。

2.IBM的DB2

IBM公司的DB2也是老牌的大型数据库软件,最新推出的DB2 V9作为面向下一代电子商务的关系型数据库,具备了多种领先性能及高可靠性和高扩展性,同时支持当今的各种主流操作系统,已成为管理信息系统、电子商务、企业资源规划客户关系管理等应用的数据库系统首选方案之一。

DB2 V9能够最大限度地自动运行,极大地降低了数据管理的复杂性和总拥有成本。它提供的既独立又便于综合的架构可以让用户方便地管理、分享、归档及再利用所有类型和不同来源的数据,包括HTML和XML网页内容、文件映象、电子文档以及各种数字音频和视频文件。同时还提供包括对OLTP、决策支持和数据挖掘等应用的支持。

3.Informix

Informix公司也是全球著名的数据库管理系统软件供应商,Informix产品通常运行于UNIX平台,采用双数据库引擎,占用系统资源少、简单易用,适用于中小型规模的数据库管理。作为主要的数据库系统供应商之一,Informix公司在最近通过它的Informix Dynamic Server和Web Integration option产品,提供了在UNIX和Windows NT平台上的Web数据库解决方案。

Informix公司的数据库系统产品系列主要包括:数据库服务器、网络连接软件、数据库应用系统开发工具和最终用户实用工具等。

4.Sybase

Sybase公司的名称取自System(系统)和Database(数据库),也是一个老牌的数据库软件供应商。Sybase公司的软件产品可分为3个层次,分别为:数据库服务器层、中间件层和应用程序开发工具层。

数据库服务器是Sybase公司的核心产品,在该层Sybase提供了多种Adaptive Server服务器,分别支持快速、可扩充的数据仓库,OLTP和小型数据管理等各种应用Adaptive Server服务器集成了Sybase原有的SQL Server,SQL Anywhere,Sybase MPP等数据库服务器的功能,具有处理多种数据源的能力。

在中间件层,Sybase为数据备份与各种异构的计算环境提供了相应的服务器和互操作产品,为数据库系统的开放性奠定了基础。例如其Open Client/Open Server产品已成为Sybase开放式客户机/服务器互连的基础,为实现数据库系统在异构环境下的互联和互操作提供了极为有效的手段。

在应用程序开发工具层,Sybase提供了应用系统开发和调试工具、软件管理与监控工具以及上百个Sybase合作伙伴的产品。著名的PowerBuilder软件就是Sybase公司提供的一个基于图形用户界面的客户机/服务器前端应用软件开发工具,其强大的功能及友好的开发环境可以帮助程序员快速地开发复杂的数据库应用系统。

5.SQL Server

SQL Server是采用客户机/服务器结构的关系型数据库管理系统,最初由Microsoft公司和Sybase公司等合作开发。1992年SQL Server被移植到Windows NT后,Microsoft成了此项目的主导者,先后推出了SQL Server 7.0、SQL Server 2000、SQL Server 2005等版本。

SQL Server 2005基于SQL Server 2000的强大功能之上,提供了一个完整的数据管理和分析解决方案,它将会给不同规模的组织带来不同的帮助。例如:构建、部署和管理企业应用程序,使其更加安全、伸缩性更强和更可靠;降低开发和支持数据库应用程序的复杂性,实现IT生产力的最大化;在多个平台、应用程序和设备之间共享数据,更易于连接内部和外部系统;同时,在不牺牲性能、可用性、可伸缩性或安全性的前提下有效控制成本。

SQL Server 2005的主要特性如下。

(1)高可用性。提供了许多先进的高度可用性技术。首次引入的数据以来快照、快速恢复功能,改进的备份与恢复功能以及增强了的端到端24×7数据复制特性等方面将有助于企业单位创建并部署高度可靠的应用解决方案。

(2)可伸缩性。首次引入了表分区、快照隔离等功能,并增强了对64位计算的支持。这些着力于提升可伸缩性和增强并发处理能力的特性使得企业用户能使用SQL创建并部署要求最为严苛的应用程序。

(3)高安全性。增加了超过260种的安全特性,提供了内置数据加密功能,实现了缺省安全保障设置,基于全新的基于角色的安全机制。

(4)优异的性能。SQL Server 2005和Windows 2003 Server共同实现了创记录的93000名用户同时使用的性能。比SQL Server 2000的性能提高了3.5倍。

(5)易管理性。整合了SQL Server 2000中诸多管理工具,增强了自我调节能力,提供了功能强大的新式编程模型,这就将使得数据库管理员能更加灵活地掌控数据库的日常运转。

(6)交互操作能力。将相对独立应用程序和数据库整合并连接起来,实现新增和既有系统投资效益的最大化目标。SQL Server 2005可面向行业标准、Web服务和Microsoft .NET Framework提供高水平支持,并在此基础上实现多种平台、应用和设备之间的交互操作能力。SQL Server与其他Microsoft软件产品高度集成。

6.MySQL

随着大量中小型网站的涌现以及Internet应用对动态交互和数据驱动的需求,一种运行在Linux操作系统平台上并与之珠联璧合的数据库软件MySQL应运而生。MySQL小巧玲珑、功能强大又近乎免费,目前已在中小型网站的数据库市场中占据了约4成的份额,且有快速扩张的趋势。MySQL符合客户机/服务器结构的应用模式,是一个多用户、多线程的SQL数据库,由一个服务器守护程序mysqld和多个不同的客户程序组成。MySQL的快速和灵活性足以满足一个网站的信息管理工作。数据库与用户端之间的接口程序可以使用CGI进行通信。使用PHP和MySQL这两样东西加在一起,对于开发数据驱动的网站这项工作而言是最佳组合。PHP是一种用于服务器端执行程序解释的脚本语言。PHP代码在服务器一端被解释、执行并转变成普通的HTML页面内容后送给客户端浏览器。这种模式使得我们可以用它来完成相当复杂的功能。

目前,MySQL+Linux+Apache+PHP几乎已成为构建Web网站软件框架性能价格比最高的明星组合。包括SIEMENS和Hotmail等国际知名公司已开始将MySQL作为其数据库管理系统,这就证明了MySQL数据库的优越性能和广阔的发展前景。国内如网易、263等网站的分布式邮件系统,也采用MySQL作为其数据库管理平台,其容量、负载能力和响应速度都相当优秀。

MySQL由瑞典的T.c.X. DataKonsultAB公司开发,可以从http://www.mysql.com下载,它提供了其他数据库少有的编程工具,而且MySQL对于商业和个人用户是免费的。

7.Access

Access是Microsoft公司Office套装软件中的一个数据库管理系统,是PC上广泛应用的一个适用于中小型企业数据管理的软件。Access不仅可用于存储大量数据,而且提供了强大的数据管理功能和友好的用户界面,并且可在其基础上方便地开发各种实用的数据库应用系统。

Access的特点是与Microsoft公司的Windows操作系统紧密结合,易于安装和操作使用,系统开销少,并可以方便地与Word、Excel等软件交换数据。最近推出的Access 2003和Access 2007,完全可以胜任构建小型商务网站数据库系统的需要。

(三)访问Web数据库的几种技术

1.利用CGI访问Web数据库

CGI(Common Gateway Interface)即公共网关接口是较早实现的访问Web数据库的技术,在商务网站的开发中起着重要的作用。CGI实际上是用来在用户浏览器和Web服务器之间传递信息的中间件程序,适用于UNIX和Windows等多种服务器平台。目前在商务网站的创建过程中,CGI程序常常被用来对HTML表单和后台数据库进行操作,例如利用CGI程序对数据库中的数据进行搜索、添加和修改等。

按照CGI规范编写的CGI程序可以扩展服务器的功能,完成服务器本身无法完成的工作。CGI程序执行时可以生成HTML文档,并将该文档返回Web服务器。CGI应用程序还能够与用户浏览器进行交互,并通过API与数据库服务器进行通信。

使用CGI方式访问Web数据库的工作过程是:用户通过Web浏览器输入查询请求信息,浏览器通过HTTP协议向Web服务器发出相应的查询请求,Web服务器按照CGI协议激活CGI程序并由该程序向数据库管理系统发出SQL命令,再将SQL命令的执行结果转化为HTML文档后提交给Web服务器,最后由Web服务器返回给用户端的Web浏览器。

使用CGI方式访问Web数据库的方式有不少缺点,例如不易开发和维护应用程序,功能有限、不易查错、执行速度较慢,并且不兼容HTML文档等。

2.利用IDC访问Web数据库

IDC(Internet Database Connector)是Microsoft公司的Web服务器IIS所带的一个动态连接库,它通过ODBC接口实现对各种数据库的访问。IDC由IDC脚本文件和HTML模板文件组成。IDC脚本文件用来控制数据库的访问,其中包含了被访问的数据库名、用户名、密码等数据库连接参数及有关的SQL语句。HTML模板文件则以直观的方式说明怎样将查询到的数据插入到Web页面。

使用CGI方式、每访问一次Web数据库都需要一个IDC脚本文件和HTML模板文件。IDC脚本文件必须存储在Web服务器上,而IDC模板文件则可以存储在Web服务器能够访问到的任何地方。

IDC方式不仅可以查询数据库中的信息,也可以通过Web页面将数据存入数据库中。需要说明的是:IDC仅支持Microsoft公司的Web服务器IIS,而不支持其他的Web服务器。

3.利用ADC访问Web数据库(www.daowen.com)

ADC(Advanced Database Connector)的特点是提供了ActiveX控件来访问数据库,并且其数据查询操作是在客户端浏览器中完成的,因而需要在客户端安装ADC的ActiveX控件。通过将服务器端的大量数据库记录下载到客户端,即可在客户端浏览器直接浏览和查询数据,所以比较适用于需要频繁访问数据库的情形。

ActiveX是Microsoft提出的一种软件标准,也是Microsoft一组有关软件的统称。ActiveX控件也称为OLE控件,是可以运行在Web页面上的程序组件。ActiveX控件采用面向对象的方式编程,其执行效率较高。

4.利用ASP与ADO访问Web数据库

ADO(ActiveX Data Object)是一组用于在ASP脚本程序中访问后台数据库的ActiveX数据对象。使用ASP编程访问Web数据库时,必然使用ADO对象。ASP和ADO相结合为Web数据库的访问提供了一个完全的解决方案。

事实上,使用ADO对象的ASP程序可以看作是CGI程序的改良版,它跟CGI程序一样也是在服务器端执行的,但却具有以下优点:

(1)ASP提供了丰富的对象,使得ASP程序可以大大简化CGI的相关处理工作。例如,可以方便地收集网页中填写的信息并解析Web浏览器上传的信息。

(2)可以使用Windows系统提供的所有ActiveX对象,因而ASP与ADO结合的方式与传统的CGI方式相比,其功能更为丰富、更为灵活也更容易扩展。

(3)无论采用Oracle、Informix、SQL Server、Access或其他数据库系统,只要该数据库系统具有与之对应的ODBC或OLE DB驱动程序,就可以通过ADO对象方便地对其进行访问。

(四)ODBC数据库连接技术

开放式数据库连接ODBC(Open DataBase Connection)是Microsoft倡导的数据库服务器连接标准,它向访问Web数据库的应用程序提供了一种通用的接口。在其支持下一个应用程序可以通过一组通用的代码实现对各种不同数据库管理系统的访问。通过ODBC访问数据库的方式是基于SQL的,各种应用程序透过不同的ODBC驱动程序可以实现利用SQL语言对不同数据库系统的访问。

采用ODBC的最大好处是应用程序可以采用任何一种支持ODBC的工具软件独立开发,而不受所访问的数据库管理系统的约束。

ODBC已经成为在Windows操作系统中建立开放式界面最成功尝试案例之一。基本的ODBC结构有三层组成,如图6-13所示。

要使Web系统能够使用数据库,必须在ODBC管理器中进行适当的设置,建立起数据库与Web系统的连接。

首先,需要在ODBC管理器(图6-14)中安装数据库系统的ODBC驱动程序,使ODBC管理器能够对数据库进行管理。一般而言,ODBC驱动程序在数据库系统安装过程中会自动添加到系统中,如果没有安装,可以在数据库安装盘内找到相应的安装包。安装完ODBC驱动程序后,在ODBC管理器中驱动程序列表中会显示该数据库系统的驱动程序。然后,就开始设置系统的DSN(Data Source Name,数据源名)。在利用ODBC建立数据库连接的Web系统中,Web系统是通过DNS来识别和连接数据库的。

图6-13 基本的ODBC结构

图6-14 ODBC管理器

(五)ADO数据库访问技术

ADO(ActiveX Data Object)是ASP内置的、用于访问Web数据库的ActiveX服务器组件。应用程序开发者可以将它与ASP结合起来,编写提供后台数据库信息的动态网页,并在客户浏览器端实现对Web数据库的查询、插入、更新和删除数据的操作。

ADO是ASP技术的核心之一,它集中体现了ASP技术丰富而灵活的数据库访问功能。与IDC和ADC方式不同,采用ADO实现对数据库的访问更类似于编写数据库应用程序,ADO将绝大部分的数据库操作功能封装在7个对象及有关的数据集合之中,通过在ASP脚本中调用这些对象和数据集合来执行相应的数据库操作。ADO建立了基于Web方式访问数据库的脚本编写模型,它不仅支持各种大型数据库的核心功能,而且还支持许多数据库所特有的功能。ADO的主要优点是易用、高速、占用内存和磁盘空间较少,所以非常适合作为服务器端的数据库访问技术。相对于访问数据库的CGI程序而言,ADO方式是多线程的,在出现大量并发请求时也可以较好地保持服务器的运行效率,并可通过连接池(Connection Pool)技术及对数据源的控制,提供与远程数据库的高效连接与访问。

ADO对象组件主要提供了7种对象和4种集合供程序设计师使用,通过这些对象和集合,可以方便地建立与Web数据库的连接、执行SQL查询并处理查询得到的结果。其对象说明及集合说明如表6-1和表6-2所示。

表6-1 ADO对象描述

表6-2 ADO集合描述

在ADO对象模型中,最为重要的是Connection、Command和Recordset对象,通过这三个对象可以方便地建立数据库连接,执行SQL的查询,完成增、删、改等对数据库的操作。

要建立一个数据库访问,首先要创建一个Connection对象,然后基于这个Connection对象的Recordset对象来完成对数据库的操作。

1.Connection对象的连接方法

(1)建立Connection对象。

语法:Set连接对象名=Server.Createobject(“ADODB.connection”)

含义:在服务器端创建一个ADODB组件的Connection对象

例如:set conn=Server.Createobject(“ADODB.connection”)

(2)打开ODBC数据源。

语法:连接对象名.pen数据源

例如:假设已经建立了一个名为“demo”的Access数据库的系统DSN,则可用以下语句打开:conn.open “DSN=demo”

(3)执行SQL指令。

语法:set记录集对象=连接对象.Execute(SQL指令字符串)

例如:set rs=conn.execute(“select * from table”)

(4)关闭数据库连接。

语法:连接对象=Nothing

例如:conn.close

set conn=nothing

2.用Recordset对象对数据库进行访问

(1)建立Connection对象。

语法:set连接对象名=Server.Createobject(“ADODB.connection”)

(2)建立Recordset对象。

语法:set记录集对象=Server.Createobject(“ADODB.Recordset”)

例如:set rs=Server.Createobject(“ADODB.Recordset”)

(3)操作记录集合取得数据。

语法:记录集对象.open[“表名”][,当前连接名][,打开方式][,记录锁定方式]

例如:rs.open“table”,conn,1,1

(4)关闭Recordset对象。

rs.close

set rs=nothing

(5)关闭数据库连接。

conn.close

set conn=nothing

3.用Command对象对数据库进行访问

(1)建立Command对象。

语法:set命令对象=Server.Createobject(“ADODB.Command”)

例如:set cmd=Server.Createobject(“ADODB.Command”)

(2)为已建立的Command对象制定活动连接。

语法:命令对象.ActiveConnection=连接对象名

例如:cmd.ActiveConnection=conn

(3)执行SQL语句。

例如:cmd.CommandText = “select * from table”

set rs=cmd.execute

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈