APP下载

网络数据库的访问模式的分析与研究

2014-10-21王旭

计算机光盘软件与应用 2014年17期

摘 要:数据和资源共享这两种方式结合在一起即成为今天广泛使用的网络数据库(WEB数据库),它是以后台(远程)数据库为基础,加上一定的前台(本地计算机)程序,通过浏览器完成数据存储、查询等操作的系统。网络数据库是几乎所有网络应用系统的基础。

关键词:数据库;C/S模式;B/S模式

中图分类号:TP311.52

1 数据库的访问模式

最初的数据库系统运行在单台计算机上。而现在我们的实际情况是:很多网络系统中的数据库要为很多用户服务,这些用户与数据库不在同一台计算机上,而且很多用户是分布的远程用户。这时SQL命令要能访问不同数据库。为了满足以上应用要求,现存的网络应用系统中的数据库访问一般采用浏览器/服务器(B/S)模式或客户机/服务器(C/S)模式,或是结合这两种模式的混合模式。

1.1 C/S模式

在C/S结构中,用户直接面对客户机,应用程序(应用表现层和业务逻辑层)安装在客户机中。而服务器只是提供了数据存取管理的功能。如图1所示:

图1 C/S模式数据库的访问模式

用户在使用C/S结构的数据库时,客户机的屏幕上显示查询表单,用来让用户输入查询任务,客户机会运行相对应的应用程序来完成这个任务。当这个应用程序遇到SQL命令时,客户机就通过网络把这个任务交给数据库服务器执行。数据库服务器完成了查询任务后,把查询结果返回给客户机。在客户机上,应用程序按所要求的格式在屏幕上显示查询结果。

1.2 B/S模式

如图2所示:B/S三层模式实质上就是中间加了Web服务器的C/S模式。第一层是客户层,客户机上只需要安装有浏览器就可以了。第一层起了应用表现层的作用。第二层(中间层)是业务逻辑层,是一个Web服务器,它的作用是为客户机上的浏览器做本地静态数据,如文件系统,网页等的查询和数据收发工作。动态数据是由应用服务器运行可以生成动态网页的应用程序生成,再通过Web服务器返回浏览器。当应用程序中嵌有SQL查询语句时,就将查询请求委托数据库服务器执行。第三层就是数据库服务器层了。它的作用是接收SQL语言的查询请求,根据要求访问数据库,将查询结果返回中间层。中间层跟数据库服务器层的标准接口(应用程序接口API)是ODBC/JDBC。通过此接口,中间层可以访问数据库服务器层,还可以相互对话,它可以跟一个数据库服务器连接,也可以跟多个不同的数据库服务器相连接。下面以一个网络考试系统为例子,具体说明“B/S三层模式”的结构。

图2 B/S模式数据库的访问模式

网络考试系统采用了“B/S三层模式”,第一层是客户层,第二层(中间层)是业务逻辑层,第三层是数据库服务器层。具体设计如下:

(1)客户层。这一层主要是网络考试系统界面的设计和跟Web服务器交互的处理。界面的设计分为各级管理员界面、老师和学生界面等类型,他们以各自不同的权限登陆进系统打开各自不同的界面。

(2)业务逻辑层。是一个Web服务器,网络考试系统包含试题库管理模块,用户管理模块,试卷管理模块,考试管理模块等多个功能模块,这些模块都存放在Web服务器端。

(3)数据库服务器层。它的作用是接收SQL语言的查询请求,根据要求访问数据库,将查询结果返回中间层。网络考试系统拥有用户信息、试题、试卷、成绩等数据库。是考试系统的基础。

网络考试系统的B/S三层模式结构如图3所示:

图3 三层分布式B/S结构的网络考试系统总体结构图

2 C/S与B/S模式对比

上文分别研究分析了C/S模式的数据库访问和B/S模式的数据库访问,将两者进行比较,可以看出,C/S模式的数据库访问中,网络上传输的只有查询语句和结果,这样网络数据的传输量就减少了,减轻了网络的负担,提高了效率。这种模式中,各个客户机相互独立,对其中某个或某些客户机程序或数据的修改不会影响到其他的用户。因此C/S模式的数据库访问适用于客户机较少,应用程序相对较稳定的系统。

但是,C/S模式的数据库要在客户机上安装前端应用程序,对客户端的操作环境有一定的要求,系统维护代价较高,扩展性较差。B/S模式的数据库不需要专门安装客户端软件,只需要安装和维护好服务器就可以了。很容易建立部署,维护代价也不大。如开发出友好的用户界面,用户不需要培训,就可以直接使用。综上所述,B/S模式的数据库是个不错的选择。但是,B/S模式的数据库服务器负担较重,需要有较高的硬件配置。可能还会牺牲掉对精美界面的要求。

3 结束语

应用C/S模式,客户机上必须安装客户端软件。这样客户端就能获得强大的软件支持,使得用户可以获得更美观的界面、更强大的功能。但是C/S模式对客户端机器的要求比较高。C/S模式适用于比较复杂的數据库系统。

C/S模式的数据库有一定的局限性,如要在客户机上安装前端应用程序,对客户端的操作环境有一定的要求,系统维护代价较高,扩展性较差。而B/S模式的数据库可以解决这些问题。B/S结构通用性良好,客户端只要安装有浏览器就可以进行前台操作。而且B/S结构安全性好,客户端只能与Web服务器进行交互,对于用户来说,数据库服务器里的所有信息都是透明的。

参考文献:

[1]王小红,张可,孙中亮.试题库及在线考试系统的应用研究[J].实验科学与技术,2007(05):72-74.

[2]姜春风,许薇.基于B/S模式的考试系统设计与实现[J].吉林农业科技学院学报,2007(04):22-24.

作者简介:王旭(1973-),女,讲师,研究生在读,研究方向:计算机信息管理。

作者单位:南通职业大学,江苏南通 226007