欢迎访问文稿网!

数据库的概念

范文之家 分享 时间: 加入收藏 我要投稿 点赞

数据库的概念

    一、 什么是Web数据库

    Web数据库指在互联网中以Web查询接口方式访问的数据库。 用户使用Internet的WWW信息服务, 在有权限时可在任何地点通过浏览器访问、 编辑修改数据库。 也可查询和共享建立在WWW服务器所有站点上的超媒体信息, 包括图形、 图像、 文本、 动画、 视频和音频数据。 后台数据库服务器采用数据库管理系统存储数据信息, 对外提供包含表单的Web页面作为访问接口, 将查询、 统计、 修改结果以数据列表的Web页面形式返回给远程用户。

    使用Web数据库, 应建立Web应用程序所必需的服务器端环境和本机开发环境, 常使用ASP.NET、 PHP、 JSP及Java等语言建立远程数据库管理系统, Web数据库管理系统是指基于Web模式的DBMS的信息服务平台, 它充分发挥DBMS高效的数据存储和管理能力,以Web浏览器/服务器 (B/S) 模式或客户端/服务器 (C/S) 模式, 为客户端提供内容丰富的资源共享。 使用ADO (Active XData Object, 它是内置的数据库访问组件, 是Microsoft在OLEDBAPI之上提供的一种面向对象的、 与语言无关的应用程序编程接口) 的数据库资源,把网页搜索、 查询的数据库内容以适当方式显示在页面上, 通过Web页进行插入、 更新和删除记录, 实现网上客户端页面设计和网站后台管理的页面设计。

    Web数据库的数据相比搜索引擎返回的查询结果更全面, 它是提供一个或多个领域的数据记录, 且具有完整的模式信息, 用户看到的查询、 统计结果仅为Web数据库中的一部分。 Web数据库集成的主要目的是为用户提供多个Web数据库资源的统一访问方式。 现有的Web数据库集成方式可以分为三类:

    •数据供应模式;

    •数据收集模式;

    •元搜索模式。

    二、 Web数据库的优点

    (1) 全局访问能力。 Web数据库应用的一个重要方面就是对远程数据的访问, 如果建立了WWW服务器, 就可以使用浏览器访问Web数据库, 任何建立了网络连接的地方都可以访问Web数据库, 不受时间和空间的限制。

    (2) 减少开发成本。 Web数据库不必安装其他的Web服务器软件, 借助HTML的WWW信息组织方式, 不需要开发客户端的程序, 只要访问Web数据库站点的客户机安装一个浏览器即可操作Web数据库, 因为这样会大大降低应用程序发布和维护的开销。

    (3) 交叉平台支持。 能方便使用多种计算机语言开发一些图形界面的C/S结构访问数据库软件, 或使用现有的浏览器软件和HTML (超文本标识语言) 网页技术开发B/S结构的数据库管理信息系统, 这种方法不仅支持跨平台 (使用WWW服务器书写的HTML文档已经成为一种标准), 还扩展了信息检索的广度与深度。

    三、 Web数据库系统的体系结构

    一般实现Web数据库系统的连接和应用可采取两种方法, 一种是在Web服务器端提供中间件来连接Web服务器和数据库服务器, 另一种是把应用程序下载到客户端并在客户端直接访问数据库。 中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务, 它能够直接调用外部程序或脚本代码来访问数据库, 因此可以提供与数据库相关的动态HTML页面, 或执行用户查询, 并将查询结果以页面形式显示, 通过Web服务器返回给客户端的浏览器。 最基本的中间件技术有通用网关接口CGI和应用程序接口API两种, 如图2.33所示。

    图2.33 访问Web数据库的过程

    四、 通用网关接口CGI

    CGI (Common Gateway Interface, 通用网关接口) 是Web服务器与外部扩展程序交互的一个接口标准。 Web服务器通过调用CGI程序实现和Web浏览器的交互, 也就是CGI程序接受Web浏览器发送给Web服务器的信息并进行处理, 将响应结果再回送给Web服务器及Web浏览器。

    CGI程序一般完成Web网页中表单 (Form) 数据处理、 数据库查询和实现与传统应用系统的集成等工作。 CGI程序可以用任何程序设计语言编写, 如Shell脚本语言、 Perl、Fortran、 Pascal、 C++、 C#、 Visual Basic、 Delphi等。 CGI是WWW服务器运行时外部程序的规范, 按照CGI编写的程序可以扩展服务器的功能, 完成服务器本身不能完成的工作,外部程序执行时间可以生成HTML文档, 并将文档返回WWW服务器。 CGI应用程序能将从浏览器获得的数据放到数据库中。

    从体系结构上来看, 用户通过Web浏览器输入查询信息, 浏览器通过HTTP协议向Web服务器发出带有查询信息的请求, Web服务器按照CGI协议激活外部CGI程序, 由该程序向DBMS发出SQL请求并将结果转化为HTML后返回给Web服务器。 再由Web服务器返回给Web浏览器。 这种结构体现了客户/服务器方式的三层模型, 其中Web服务器和CGI程序实际起到了HTML和SQL转换的网关作用。 CGI的典型操作过程是: 分析CGI数据;打开与DBMS的连接; 发送SQL请求并得到结果; 将结果转化为HTML; 关闭DBMS的连接; 将HTML结果返回给Web服务器。 基于Web的CGI数据库访问利用已有的信息资源和服务器。 其访问频率大, 尤其是热点数据。 但其主要的缺点是:

    (1) 客户端与后端数据库服务器通信必须通过Web服务器, 且Web服务器要进行数据与HTML文档的互相转换, 当多个用户同时发出请求时, 必然在Web服务器形成信息和发布瓶颈。

    (2) CGI应用程序每次运行都需打开和关闭数据库连接, 效率低, 操作费时。

    (3) CGI应用程序不能由多个客户机请求共享, 即使新请求到来时CGI程序正在运行,也会启动另一个CGI应用程序, 随着并行请求的数量增加, 服务器上将生成越来越多的进程。 为每个请求都生成进程既费时又需要大量内存, 影响了资源的使用效率, 导致性能降低并增加等待时间。

    (4) 由于SQL与HTML差异很大, CGI程序中的转换代码编写烦琐, 维护困难。

    (5) 安全性差, 缺少用户访问控制, 对数据库难以设置安全访问权限。

    (6) HTTP协议是无状态且没有常连接的协议, DBMS事务的提交与否无法得到验证,不能构造Web上的OLTP (On⁃Line Transaction Processing) 应用。

    五、 基于服务器扩展的API

    为了克服CGI的局限性, 出现的另一种中间件解决方案是基于服务器扩展API的结构。与CGI相比, API应用程序与Web服务器结合得更加紧密, 占用的系统资源也少得多, 而运行效率却大大提高, 同时还提供更好的保护和安全性。

    服务器API一般作为一个DLL (Dynamic Linklibrary) 提供, 是驻留在WWW服务器中的程序代码, 其扩展WWW服务器的功能与CGI相同。 WWW开发人员不仅可以API解决CGI可以解决的一切问题, 而且能够进一步解决基于不同WWW应用程序的特殊请求。 各种API与其相应的WWW服务器紧密结合, 用API开发的程序比用CGI开发的程序在性能上提高了很多, 但开发API程序比开发CGI程序要复杂得多。 API应用程序需要一些编程方面的专门知识, 如多线程、 进程同步、 直接协议编程以及错误处理等。 虽然基于服务器扩展API的结构可以方便、 灵活地实现各种功能, 连接所有支持32位ODBC的数据库系统, 但这种结构的缺点是:

    (1) 各种API之间兼容性很差, 缺乏统一的标准来管理这些接口。

    (2) 开发API应用程序也要比开发CGI应用复杂得多。

    (3) 这些API只能工作在专用Web服务器和操作系统上。

221381
领取福利

微信扫码领取福利

微信扫码分享