戴贵龙 谭新华 龙明雄 孙昌枝
(1三明职业技术学院;2福建三钢闽光股份有限公司 福建三明 365000)
20世纪末,Web的创建改善了Internet数据的访问方式,而Web和数据库系统的完美结合,使用户能够通过Web浏览器方便地检索数据库中的信息。数据库是一个非常有用的现代工具,它储存了许多有用的资料与数据,为人们的学习、工作与生活,提供了很大方便。随着互联网的出现,让原来的数据库系统的形式与存在发生了巨大的改变。数据库,开始朝着网络化、即时化和移动化的方向发展,特别是智能手机和移动平板电脑、Wifi的出现,让随时随地的存储信息成为可能,因此就让基于Web技术的网络数据库的出现成为可能。如今网络上已经出现了许多数据库系统,例如百度云、网盘等。因此,对于一个计算机专业的学生来说,研究基于Web技术的网络数据库这些网络数据库系统设计就是非常有意义和价值的。本文探讨和研究基于Web技术的网络数据库系统的设计与应用,为我国学术界增加一些这方面的资料。
现在的大多数网络数据库的结构都是三层结构,虽然这种三层结构相比原来的客户/服务器的结构来说具有许多优点和进步,但是也存在着很大不足之处。例如数据库、Web层负担过重,开发人员和维护人员负担过重,Internet上的资源无法得到合理的分配等等。这些缺点与不足都严重的阻碍了网络数据库的存在与发展。为了改变这一现状,笔者在网络数据库结构的三层结构基础上设计了一种新的网络数据库,这种这模型的特色和不同之处在于把数据库管理系统中的索引、搜索等功能以对象的形式从数据库系统中独立出来。进行动态分配和层次式的管理,当然这必须通过Internet才能够得以进行。这样一来,Internet中的各个服务器与主要就分管了原来属于数据库服务器的许多管理功能,让原有数据库的负担得以减轻,效率得以大幅上升。我设计的这个模型是以网络节点为基本单元的,每个节点都包含着多个功能代理,而这样的节点可以有许多个,如图1所示。
图1 基于Web的网络节点
通过这种基于web的网络节点的网络数据库,就让传统由一个服务器完成的管理功能交由网络上的代理服务器等来完成,因为这些功能以对象的形式被网络上的代理联系起来,并从空间和时间上进行了分布,在分布的同时网络上的代理服务器又完成了传统的服务器的功能,从而解放了传统数据库服务器,并让资源得到了合理而又有效的分配。这一设计的优点还在于这些数据库对象都是独立的,一个数据库对象的产生和消亡,不会影响到别的数据库对象,使用者还可以根据需要派生出具备父对象属性和功能的子对象来。各个对象间通过Java程序来实现,对象之间还可以进行互动,合作,因此能让整个数据库的效率得到大大的提高。
这个系统同样拥有Web浏览器、Web服务器和数据库服务器这三层分布式结构。除了上文所说的与传统网络数据库不同的特色以外,其它的方面,基于Web的网络节点都与传统网络数据库相似。
第一,实现这一网络数据库系统需要的是通用网关接口 (CGI),它是最早实现Web应用程序与数据库接口的技术之一。也是网络技术中最重要的技术之一。CGI是数据库外部应用程序与Web服务器之间的接口标准,是在程序和Web服务器之间传递信息的规程。CGI规范的作用是让Web服务器与外部程序联系起来,并可让网络上的Web服务器执行外部程序。并在网络上的Web服务器执行完外部程序后将结果输出发给web浏览器。通过CGI可以将原来简单静态的超媒体文档变成一个系统的、互动式的媒体,虽然它无法实现真正的动态Web页面。但它具有占有资源少,效率高等优点。
第二,数据库连接 (JDBC),它的功能是用来为多种关系数据库提供联系,帮助它们进行统一访问。JDBC还能够帮助广大数据库开发人员构建高级工具和接口,并帮助数据库开发人员编写应用程序。总而言之,它的主要功能就是让网络数据库应用程序实现跨平台服务,同时,通过它,开发人员编写的数据库应用程序具有跨平台特性。
第三,超文本预处理器 (PHP),它是一种通用开源脚本语言,与C语言、Java语言类似的语言。其特点是用途非常广泛,适用于Web开发领域。它在网络数据库系统中的功能是用来实现真正跨平台服务,让网络数据库可以在Windows、Linux这些不同的操作系统的Web服务器上运行。另外,它还帮助我实现与MySQL、Access等多种数据库的内置连接,能有效提高数据库的访问速度。
第四,动态服务器页面 (ASP),它的功能与CGI脚本程序非常相像,能够实现与与数据库和其它程序进行交互。它是一种新的脚本程序,是简单又方便实用的工具。由微软公司开发的专门用于编程用的。它可以创造出一种动态互动的用途广泛的用于服务器的应用程序。凭借着强大编译能力,创造出扩展名为。Asp的网页文件,能够让Web浏览器调用,让Web服务器启动,在将相关的。Asp文件的内容读完之后执行相关的脚本命令,并在产生相关的动态页面,处理完命令之后返回浏览器。它的特点有:首先是高效,凭借它能够在网页上编程和执行的功能,它能够创造出动态,而又内容丰富的网页,高效,方便,实用。其次是编程简单,Script语言的特点是可以直接嵌入Html文本中,并与Html文本中一起同时运行。就如同一个整体一般,可在原有的Html文本基础上,设计出一个网页程序,然后再将它加入Html文本中。第三是用途广泛。它除了动态网页功能之外,还可以通过其它技术实现数据库的存取功能,并与其它特殊的数据库存程序进行连接,实现数据共享。例如FoxPro等等。第四是它还进行扩充,它不但支持Script语言,还可以通过特定的插件程序支持PERL、TCL等第三方语言,因此可以运行用PERL、TCL等第三方语言编写的网页程序。
第五,支持多种浏览器和程序运行环境。众所周知,Asp文件不但能在多种浏览器和环境下被网络服务器解释执行,因此程序设计人员在在开发程序时不必担心它的应用问题,也不必担心网络黑客方面的问题。它是一种非常实用,方便的技术,完全符合本文设计的需要。
在软件平台方面,本文选择了现在被广泛使用的微软公司的视窗系统WindowsNTServer系列软件、微软公司IIS服务器、和微软公司的SQLServer系列服务器作为数据库服务器的软件平台。该平台的浏览器我选择了微软公司的IE系列。另外在客户端软件平台方面,笔者选择了Windows98、Windows7等常用的操作系统,以及IE9和IE10等等。
笔者采用 C++、Dreamweaver、JavaScript、VisualJ++等开发工具,硬件开发平台为一台配置为CPU i3 4150,主板采用华硕z85-A,内存4G×2,硬盘1T×2,电源400W,机箱2u的服务器,通过路由器用LAN专线接入。另配B-Link BLHB24集线器1台,外部设备图2所示。
图2 数据库外部设备
过去,设计人员往往会用手工试凑法来设计相关系统,但这种方法的缺点是缺乏科学理论和方法的支持,对设计人员的经验和水平要求很高,还有在设计完成后经常会不断的被发现问题和错误,需要不断地修正与维护。本文舍弃了传统的手工试凑法,而采用了现在的新方法,如奥尔良法,它将数据库设计分为四个阶段,SBYao方法、IRPalmer方法等等。并利用了许多的计算机辅助方法如 OracleDesigner 2000、SybasePowerDesigner等来辅助设计。
在完成框架和数据库结构,建立网络数据库所需要的技术后,就是网络数据库设计。在设计网络数据库系统的时候,笔者经研究借鉴,采取以下几个步骤:
第一,是分析存在着的网络数据库软件的不足和缺点,分析它们存在着的问题。对自己想要设计的数据库系统进行构思,借鉴前人的经验,扬长避短,分析问题所在的问题域,确认需要解决的问题。
第二,是设计出数据库的架构、模型。将设计理念和设计目的,设计内容具体化,转化为现实。文章主要强调的是原数据库功能的对象化、网络化,分担原服务器的负担,因此,需要使用面向对象方法开发软件,需建立动态模型、对象模型与功能模型。
第三,设计一个由HTML文本构成的Web页面,而基于Web技术的数据库系统的功能就在页面上得以实现。这一页面上嵌入了由Script等言语所编好的网页程序,能够让Web浏览器调用,让Web服务器启动,在将相关的。Asp文件的内容读完之后执行相关的脚本命令,并在产生相关的动态页面,处理完命令之后返回浏览器。另外,这一页面的设计必须能够让所有功能对象能够被其它网络服务器所调用执行,从而让其它机器能够帮助完成整个系统的功能。还必须能够建立好页面与页面,系统与系统之间的关系,利用页面链接这一形式来实现页面与页面之间的调用关系。更好的协调页面的整体内容与布局,让资源得到最充分的优化和配置。页面之间的功能链接可以用各种形式来表现,如页面框图、字符等等,其中页面框图可以以表格形式来体现,包含着名称、功能、接口、状态、动作、关联页面集等内容。各个部分对应着不同的功能对象,如名称对应着实现时的Html文件名;状态对应着页面内部的控制数据;动作则对应着构成用户界面的按钮、列表、链接等重要元素。关联页面集对应着页面与其它页面的链接。通常,简单的页面框图不用分层,但是如果页面框图内容太多,而且关联复杂,那么就得把页面流程图分层,这样才能理清各种关系。
另外,还得先编写好Asp应用程序脚本,通过微软公司的视窗系统提供的ODBC数据源管理器来建立数据源、服务器、登录标识号、密码等用户DNS数据。创建方法很简单,例如通常你只需打开 Html文件,插入定界符 “<%”和“%>”之类的脚本命令,然后将扩展名为。Html的文件另存为。asp即可。
第四,逻辑设计。这主要是根据现在网络上的网络数据库的现实情况,而将现实世界的数据模型和相关概念、范畴设计成为数据库逻辑模式的一步工作。设计出来的逻辑模型还须网络数据库管理系统所支持的逻辑数据模式。在设计完父逻辑模式之后,还必须为与之相联的各种数据处理应用领域设计相应的逻辑子模式。
第五,物理设计。这一步很重要,它的作用是根据网络数据库管理系统的功能、结构和特点等设计现实世界的具体的各项物理设计措施,如服务器、网关、存储装置、文件类型、索引结构和数据的存放次序与位逻辑、存取方法和存取路径等。这一步设计产生的就是所谓“网络数据库的物理装置”。
第六,编制程序。这一步是网络数据库系统设计的核心步骤,首先需要选择正确的程序。在选择编程语言时需要考虑语言的完整性、能否准确地表达问题域语义,能不能满足编制基于Web技术的网络数据库系统的需要等问题。
第七,测试系统。在程序编制完成后,下一步的步骤是测试整个系统,这一步骤往往需要很长的时间,因为许多的系统问题和程序BUG等,必须在多次测试和使用之后,才能够被发现,因此系统设计完成之后必须经过多次测试,反复检验才行。在检测出错误和问题,BUG之后,对这些错误和问题进行修正,然后再次测试,反复测试,直到发现不了错误和问题为止。
第八,维护系统。开发一个新的系统非常不容易,但是系统的维护也是非常不易,看看微软公司的视窗系统就知道了,每过一段时间就会给系统打几个补丁以防止黑客的其它病毒的攻击。网络数据库系统作为网络上的数据库,面临的危险和威胁更大,因此在系统完成后,在具体的运营过程中还需要对这一系统进行维护,具有自己预先的维护计划才行。