网络数据库
出自 MBA智库百科(https://wiki.mbalib.com/)
网络数据库(Network DataBase,NDB)
目录 |
什么是网络数据库[1]
网络数据库是指利用网络将两个或多个相互独立的局域数据库连接在一起。
网络数据库系统[2]
网络数据库是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储于数据库中的大量信息及时发布出去;而计算机网络借助于成熟的数据库技术对网络中的各种数据进行有效管理,并实现用户与网络中的数据库进行实时动态数据交互。
网络数据库目前在Intemet厂有大量的应用,从最初的网站留言簿、自由论坛等到今天的远程教育和复杂的电子商务等,这些系统几乎都是采用网络数据库这种方式来实现的。网络数据库系统的组成元素为:客户端、服务器端、连接客户端及服务器端的网络。这些元素是网络数据库系统的基础。网络数据库示意图如图1所示。
使用网络数据库的最大优势是用户无需在自己的客户端安装任何与所需存取或操作数据库系统对应的客户端软件,只需要通过Web浏览器便可完成对数据库数据的常用操作。;这种力·式的优点是用户不必再去学习复杂的数据库知识和数据库软件的使用,只需要掌握基本的网络操作,如填写、提交表单等就可以从任何一台连接Internet的计算机上来访问数据库。网络数据库系统的运作方式如图2所示。
- 图1 网络数据库示意图
- 图2 网络数据库系统的运作方式
网络数据库特点[2]
网络数据库与传统的数据库相比有以下的特点:
(1)扩大了数据资源共享范围。由于计算机网络的范围可以从局部到全球,因此,网络数据库中的数据资源共享范围也扩大了。
(2)易于进行分布式处理。在计算机网络中,各用户可根据情况合理地选择网内资源,以便就近快速地处理。对于大型作业及大批量的数据处理,可通过一定的算法将其分解给不同的汁算机处理,从而达到均衡使用网络资源,实现分布式处理的目的,大大提高了数据资源的处理速度。
(3)数据资源使用形式灵活。基于网络的数据库应用系统开发,既可以采用C/S(Client/Server,客户机/服务器)方式,也可以采用B/S(Browser/Server,浏览器/匠务器)方式,廾发形式多样,数据使用形式灵活。
(4)便于数据传输交流。通过计算机网络可以方便地将网络数据库中的数据传送至网络覆盖的任何地区。
(5)降低了系统的使用费用,提高了计算机可用性。由于网络数据库可供全网用户共享,使用数据资源的用户不一定拥有数据库,这样大大降低丁对计算机系统的要求,同时,也提高了每台计算机的可用性。
(6)数据的保密性、安全性降低。由于数据库的共享范围扩大,对数据库用户的管理难度加大,网络数据库遭受破坏、窃密的概率加大,降低了数据的保密性和安全性。
网络与网络数据库[3]
网络就是通过使用通讯设备和线路,将处在不同地理位置、操作上相对独立的多个计算机连接起来,再配置一定的系统软件和应用软件,在这些计算机上实现软硬件的资源共享和信息传递,由此而构成计算机网络。
互联网是由全球众多的计算机局域网互相连接组成的一个超大规模的网络系统,在这个系统中运行着多种应用系统,如上网使用的网页浏览系统——WWW(即万维网Intemet)、上传与下载用的文件传输系统——FTP、收发电子邮件所使用的电子邮件系统——E—mail等。互联网中运行的每一种应用系统都是由互联网中相应的服务器系统、客户机系统构成,也就是说互联网从物理连接来看是由众多的计算机组成,而从逻辑上看是由多个功能子网组成。
如何实现让使用者利用浏览器,通过Intemet或Intranet访问网络数据库?目前对此问题的解决方案的趋势为:不需要写传统的CGI程序,只要在服务器端执行简单的“Script语言码”,SQL(StructureQueryLanguage结构化查询语言)指令与标准的HTML码,通过ODBC(OpenDatabaseConnectivity)驱动程序,连接到各种支持ODBC的数据库,执行SQL指令来访问数据库即可,如图3所示。
- 图3 访问数据库的解决方案
当在用户端的浏览器中填好表单(Form)的输入数据,按单击Submit按钮后,经过Intemet或Intranet传送HTTP信息到网络服务器,请求在网络服务器上执行一个表单所指定的可执行Script语言码。当网络服务器遇到包括这些Script语言码的特殊扩展名(hts、cfm、tdc、asp、jrp)文件时,就交给处理这些Script语言码的软件来处理,执行后生成一般HTML码及所需数据库数据,然后再交给服务器传到使用者浏览器,如图4所示。
- 图4 访问网络数据库的过程
网络还可以通过多种方式来访问数据库,如CGI、API和ODBC等。网络与数据库连接的原理,如图5所示。
- 图5 网络与数据库连接的原理
一个典型的数据库查询过程包括以下步骤。
1.用户通过浏览器向网络服务器发送一个查询请求;
2.服务器根据参数启动相应的CGI(通用网关接口)或API(应用程序接口)程序(即网关);
3.CGI或API程序登录到数据库中,按条件进行查询;
4.数据库返回查询结果;
5.CGI或API程序把查询结果翻译成为标准的HTML格式,并传给网络服务器;
6.网络服务器把包含结果的HTML网页传给浏览器。
网络数据库的应用[3]
当前比较流行的Web数据库主要有:SQLServer、MySQL、Oracle、DB2和ACCESS。这5种数据库适应性强,性能优异,容易使用,在国内得到了广泛的应用。接下来将对这几种常用的网络数据库进行简单介绍。
- 1.SQL Server
SQLServer是微软公司从SyBase获得基本部件的使用许可后开发出的一种关系型数据库。目前最新的版本是SQLServer2008,但SQL Server 2005仍在广泛使用。
由于均出自微软之手,使得SQLServer和Windows、IIS等产品有着天然的联系。事实上以Windows为核心的几乎所有微软的软件产品都采用了一致的开发策略,包括界面技术、面向对象技术、组件技术等,这样在微软的软件中很多都可以相互调用,而且配合得非常密切。因此如果用户使用的是Windows操作系统,那么IIS、SQLServer就应该是最佳的选择。
- 2.MySQL
MySQL是当今UNIX或Linux类服务器上广泛使用的Web数据库系统。它于1996年诞生于瑞典的MySQLAB公司,支持大部分的操作系统平台。MySQL的设计思想快捷、高效、实用。由于它不支持事务处理,MySQL的速度比一些商业数据库快2~3倍,并且MySQL还针对很多操作平台做了优化,完全支持多CPU系统的多线程方式。
在编程方面,MySQL也提供了C、C++、Java、Perl、Python和TCL等API接口,而且有MyODBC接口,任何可以使用ODBC接口的语言都可以使用它。更重要的是,MySQL的源代码是公开的,可以免费使用,这就使得MySQL成为许多中小型网站、个人网站追捧的明星产品。
- 3.Oracle
Oracle是美国Oracle公司研制的一种关系型数据库管理系统,是一个协调服务器和用于支持任务决定型应用程序的开放型RDBMS(关系型数据库管理系统)。它可以支持多种不同的硬件和操作系统平台,从台式机到大型和超级计算机,为各种硬件结构提供高度的可伸缩性,支持对称多处理器、群集多处理器、大规模处理器等,并提供广泛的国际语言支持。
Oracle是一个多用户系统,能自动从批处理或在线环境的系统故障中恢复运行。系统提供了一个完整的软件开发工具Developer2000,包括交互式应用程序生成器、报表打印软件、字处理软件以及集中式数据字典,用户可以利用这些工具生成自己的应用程序。Orcale以二维表的形式表示数据,并提供了SQL(结构式查询语言),可完成数据查询、操作、定义和控制等基本数据库管理功能。Oracle具有很好的可移植性,通过它的通信功能,微型计算机上的程序可以同小型乃至大型计算机上的Oracle,并且能相互传递数据。
另外Oracle还具有与C语言的接电子表格、图形处理等软件。Oracle属于大型数据库系统,主要适用于大、中小型应用系统,或作为客户机朋艮务器系统中服务器端的数据库系统。Oracle是一种面向网络计算机并支持对象关系模型的数据库产品,是目前最流行的客户/N务器体系机构的数据库之一。目前广泛使用的版本是Oracle1lg。
- 4.DB2
DB2是计算机巨人IBM公司的产品,起源于SystemR和SystemR木。它支持从PC到UNIX,从中小型机到大型机;从IBM到非IBM(HP及SUNUNIX系统等)的各种操作平台。它既可以在主机上以主/从方式独立运行,也可以在客户/N务器环境中运行。其中服务平台可以是OS/400,AIX,OS/2,HP—UNIX,SUN—Solaris等操作系统,客户机平台可以是OS/2或Windows,Dos,AIX,HP—UX,SUNSolaris等操作系统。
DB2数据库核心又称作DB2公共服务器,采用多进程多线索体系结构,可以运行于多种操作系统之上,并分别根据相应平台环境作了调整和优化,以便能够达到较好的性能。
- 5.Access
Access数据库是一个文件型数据库管理系统,由单个或多个文件组成,是Office办公套件中一个极为重要的组成部分。自从1992年开始销售以来,Access已经卖出了超过6000万份,现在已经成为世界上最流行的桌面数据库管理系统。后来微软公司通过大量的改进,将Access的新版本功能变得更加强大。不管是处理公司的客户订单数据,管理自己的个人通讯录,还是大量科研数据的记录和处理,人们都可以利用它来解决大量数据的管理工作。Access之所以被集成到Office中而不是.VisualStudio中,是因为它与其他的数据库管理系统(如VisualFoxPro)相比更加简单易学,一个普通的计算机用户即可掌握并使用。而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要,当然,配上合适的数据访问手段,它也能多用户、多线程的访问。Access对于访问量及数据量不是太大的系统,尤其是桌面数据库系统的开发很具优势,而且从它升级到SQLServer(微软的另一专业数据库产品)也比较容易。
网络数据库实现技术与安全分析[3]
网络数据库是网络环境下办公自动化(OA)系统的核心部分。设计一个网络数据库所采用的技术实现方法,其先进性和科学性不仅对软件的开发效率和软件质量有着很大的影响,而且对整个软件的使用和维护有着重大的影响。同时,系统的安全性对于系统的实现同样非常关键。系统不安全的因素包括非授权用户访问计算机网络,授权用户越权访问有关数据库,以及敏感信息在基于TCP/IP网络上的传输。
- 1.数据库访问技术
一般的数据库开发工具如Delphi5都提供了一些数据库对象组件,它们封装了BDE的功能。这样,开发数据库应用程序就不必知道BDE的功能。其次,还提供了数据感知组件可以与数据访问组件彼此通信,这样,建立数据库应用程序的界面就变得简单。SQLLinks为连接Oracle、Sybase、Informix、MicrosoftSQLServer、DB2和InterBase提供了专门的驱动程序,还可以通过ODBC连接其他数据库。
- 2.SQL编程技术
SQL是一组符合工业标准的数据库操作命令集,它可以在Delphi这样的编程环境中使用。SQL不是一门语言,无法得到一个专门的SQL软件,它只是服务器数据库的一部分。
SQL作为一种查询语言,是网络环境下客户/服务器数据库应用程序开发的标准。SQL具有一些查看数据的优势,而且只能使用SQL命令来获得。通过SQL,也可以灵活地查询所需要的数据,这种灵活性是面向记录的数据库操作所不具备的。
- 3.多层分布式应用技术
MIDAS(Multitude Distributed Application Services Suite)即多层分布式应用程序服务器,它提供了一整套中间层应用服务,扩展了操作系统标准,这些服务用于解决各种具体的分布式计算问题,从用于网络定位的目录服务到数据库集成和业务规则处理。在多层的数据库应用程序中,客户程序、应用程序服务器和远程数据库服务器分布在不同的机器上。其中,客户程序主要是提供用户界面,它能够向应用程序服务器请求数据和申请更新数据,再由应用程序服务器向远程数据库服务器请求数据和申请更新数据。
- 4.WEB访问技术
随着WEB技术的发展,WEB与数据库的互连技术也日益发展,主要有CGI,W曲API,ODBC,JAVA/JDB技术,ASP技术,PHP技术等。使用Delphi的WebBroker技术可以轻松地建立WEB服务器扩展来提供自定义的、动态的HTML(Hypertext Markup Language)网页,并能够访问各种数据源。