网络数据库的种类及适宜的切入点.doc_第1页
网络数据库的种类及适宜的切入点.doc_第2页
网络数据库的种类及适宜的切入点.doc_第3页
网络数据库的种类及适宜的切入点.doc_第4页
网络数据库的种类及适宜的切入点.doc_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要网络数据库是重要的电子资源,有着独特的优势与良好的发展前景。在信息全球化的今天,网络数据库的应用使得资源共享和数据通信得以实现,对于人们提高工作效率节约劳动成本有着及其重要的意义,然而由于互联网络是一个面向社会各界的开放的信息资源库,网络数据库在方便人们的办公的同时,也产生了许多安全问题。这使人们通过网络数据库正常的工作活动受到极大威胁。因此,如何保证网络数据库的安全便成为设计数据库时需要重点考虑的问题。本文在对网络数据库的种类、实现技术分析的基础上得出了当今世界网络数据库的特点和发展趋势,并对当今世界的主流网络数据库进行了分析比较。以网络数据库发展过程中最为重要的问题安全问题为切入点。通过对网络数据库所面临的安全问题的分析,得出引起数据库安全性差的因素 ,介绍了数据库面临的威胁,最后给出了保障数据库安全的策略:从外围层的安全和核心层的安全两个方面阐述网络数据库安全性策略和应用。关键词:网络数据库 种类 切入点 安全策略Abstract Network Database is an important electronic resources, has unique advantages and good prospects for development. Globalization in the information, web-based database application allows the sharing of resources and data communications to achieve, for people to improve efficiency and save labor costs has important significance, but because the Internet is an open community-oriented information resource library, web-based database to facilitate the people in the office, but also have a lot of security issues. This web-based database through normal work activities be at risk. Therefore, how to ensure the security of network database design has become the focus of the database need to consider.In this paper, the type of database on the network, the realization of technical analysis based on the world web-based database of the characteristics and trends. Web database development process the most important issues - security issues as the breakthrough point. Database of network security issues facing the analysis caused by poor database security factors on the threats to the database, and finally given the protection of database security strategy: the external layer from the core level of safety and security of the two aspects of the web-based database and application security strategy.Key words: Network database Types Entry point Security Policy 目录第一章 绪论11.1研究背景11.2 数据库基础知识11.2.1几个数据库应用案例11.2.2数据库相关名词21.2.3 计算机数据管理21.3数据库系统的组成和结构51.3.1 数据库系统的组成51.3.2数据库主要特点61.4数据库发展史7第二章 网络数据库技术概述92.1 Internet技术与WWW世界92.1.1 Internet技术与相关协议92.1.2 Web的工作原理与工作步骤102.1.3 WWW世界中的标记语言112.2 Web数据库访问技术152.2.1 CGI技术162.2.2 ODBC技术162.2.3 ASP、JSP、PHP技术172.3 网络数据库应用系统的层次体系182.3.1 客户机/服务器结构182.3.2 浏览器/服务器结构212.3.3 Internet/Intranet信息系统的多层体系结构22第三章 网络数据库的分类233.1网络数据库分类概述233.2. 参考数据库253.2.1书目数据库253.2.2指南数据库273.3源数据库283.3.1数值数据库293.3.2全文数据库293.3.3术语数据库303.3.3图像数据库31第四章 网络数据库的特点及发展趋势334.1网络数据的特点334.2 网络数据库的发展趋势394.2.1 学术电子期刊迅速增长394.2.2 电子图书迅速蔓延404.3.3 文献全文取用即时方便40第五章 常用网络数据库浅析435.1 SQL Server数据库系统435.2 Oracle数据库系统445.3 DB2数据库系统465.4 MySQL数据库系统475.5 常用网络数据库比较47第六章 网络数据库切入点安全496.1 数据库安全综述496.1.1 为何需要数据库安全?496.1.2 常见的数据库安全问题及原因496.1.3 数据库安全管理原则506.2数据库安全分析506.2.1 数据库安全的概念516.2.2 引起数据库安全性差的因素516.2.3 数据库面临的安全威胁526.3 保证数据库安全的策略526.3.1 确保网络系统的安全526.3.2 确保操作系统的安全526.3.3数据库管理系统的安全536.4 网络数据库安全解决办法536.4.1外围层的安全536.4.2核心层的安全54第七章 结束语57致谢59参考文献60第一章 绪论1.1研究背景Internet新技术日新月异,层出不穷。1989年,Web在Internet上异军突起,很快便占据了Internet技术的主流地位。可以说,Web技术已成为最有前途,最有魅力的新一代信息传播技术。 Web技术与数据库技术的结合Web数据库技术,正在深刻地改变着网络应用的面貌。无论是网络图书馆、网络情报检索系统、网络信息出版、电子商务,还是基于B/S方式的信息管理系统,都离不开Web数据库技术。并且,随着网络应用的深度、广度的不断拓展,Web数据库技术将日益突显其重要意义。1.2 数据库基础知识1.2.1几个数据库应用案例自从计算机被发明之后,人类社会就进入了高速发展阶段,大量的信息堆积在人们面前。此时,如何组织存放这些信息,如何在需要是快速检索出信息,以及如何让所有用户共享这些信息就成为一个大问题。数据库技术就是在这种大背景下诞生的,这也是使用数据库的原因。当今,世界上每一个人的生活几乎都离不开数据库了。如果没有数据库,很多事情几乎无法解决。例如,没有银行存款数据库,则取钱就会成为一个很复杂的问题,更不用说异地取款了。又如,如果没有手机用户数据库,难以想象计费系统会怎样工作;没有计费系统,人们就不能随心所欲地拨打手机。还有,没有数据库的支持,网络搜索引擎就无法继续工作,网上购物就不用想了。可见,数据库应用在不知不觉中已经遍布在人们生活中的各个角落。1.2.2数据库相关名词 1.数据库 数据库(DB)是一个以某种组织方式存储在磁盘上数据的集合。它通过现有的数据库管理系统(例如,Access、SQL Server和Oracle等)创建和管理。 数据库不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。数据库中存放的数据可以被多个用户或多个应用程序共享。例如,某航空公司票务管理系统的数据库,在同一时刻可能有多个售票场所都在访问或更改数据库中的数据。 2.数据库应用系统 数据库应用系统是指基于数据库的应用软件,例如教学管理系统、财务管理系统等。数据库应用系统有两部分组成,分别是数据库和程序。数据库有数据库管理系统软件创建,而程序可以由任何支持数据库编程的程序设计语言编写,如C语言、Visual Basic、Java等。 3.数据库管理系统 数据库管理系统(DBMS)用来创建和维护数据库。例如,Access、SQL Server、Oracle等都是数据库管理系统。 4.关系数据库管理系统 关系数据库管理系统(RDBMS)是DBMS的一种,它用于创建和维护关系数据库。当今流行的大多数DBMS,其实都是关系数据库管理系统,如Access、SQL Server和Oracle等。 5.对象关系型数据库管理系统 对象-关系型数据库管理系统(ORDBMS)也是DBMS的一种,它用于创建和维护面向对象数据库。当今最佳的对象关系型数据库管理系统的代表是PostgreSQL。1.2.3 计算机数据管理 数据管理的历史由来已久,早在计算机发明之前,人们就在纸或者竹简甚至在石头上记录各种数据,以此对数据进行管理和处理。 在发明计算机之后,人们开始逐渐使用计算机管理各种数据。这一过程经历了人工管理、文件系统、数据库系统、分布式数据库系统和面向对象数据库系统等几个阶段。1. 人工管理阶段20世纪50年代中期至六十年代中后期,计算机还没有类似于硬盘的外部存储设备,只能将数据存储在卡片、纸带、磁带等设备上,所以,随机访问、直接存取数据在那个年代是不可能完成的工作。那时也没有专门管理数据的软件,数据和处理它的程序放在一起保存为一个文件,所以程序设计人员就充当了数据管理员角色,负责数据的存储结构、存取方法和输入输出方式等。由于数据和程序放在一起,所以就根本不能重用或允许其他程序共享数据。当需要编写使用同样数据的新程序时,还必须在新程序下手动重写同样的数据,因此造成不同程序文件中存有大量数据的问题,这就是数据的冗余。2. 文件系统阶段20世纪50年代后期至60年代中后期,计算机开始被用来进行数据处理,而且是大量用于数据处理。因此,数据存储、查询检索和维护的需求就变得非常重要。这一时期,可直接存取的硬盘(磁盘)成为主要的外部存储器,而且还出现了高级语言和操作系统。操作系统中的文件系统是专门管理外部存储器的数据管理软件。这一阶段,人们开始将程序和数据分开存储,即出现了程序文件和数据文件的区别,也使得数据文件可以被多个不同的程序多次使用。但是,文件系统中1. 数据冗余度大各数据文件之间没有有机的联系,一个文件基本上对应于一个应用程序,数据不能共享。2. 数据独立性低数据和程序相互依赖,一旦改变数据的逻辑结构,必须修改相应的应用程序。而应用程序发生变化,如改用另一种程序设计语言来编写程序,也需修改数据结构。3.数据一致性差由于相同数据的重复存储、各自管理,在进行更新操作时,容易造成数据的不一致性。3.数据库系统阶段60年代后期,计算机应用于管理的规模更加庞大,数据量急剧增加;硬件方面出现了大容量磁盘,使计算机联机存取大量数据成为可能;硬件价格下降,而软件价格上升,使开发和维护系统软件的成本增加。文件系统的数据管理方法已无法适应开发应用系统的的需要。为解决多用户、多个应用程序共享数据的需求,出现了统一管理数据的专门软件系统,即数据库管理系统。数据库系统管理数据的特点如下: 1. 数据共享性高、冗余少 这是数据库系统阶段的最大改进,数据不再面向某个应用程序而是面向整个系统,当前所有用户可同时存取库中的数据。 这样便减少了不必要的数据冗余,节约存储空间,同时也避免了数据之间的不相容性与不一致性。2. 数据结构化 按照某种数据模型,将全组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联。3. 数据独立性高 数据的独立性是指逻辑独立性和物理独立性。 数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。 数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。4. 有统一的数据控制功能 数据库为多个用户和应用程序所共享,对数据的存取往往是并发的,即多多个用户 可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据,为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供下述四方面的数据控制功能1.3数据库系统的组成和结构1.3.1 数据库系统的组成数据库系统通常是指数据库和相应的软硬件系统。主要由数据(库)、用户、软件和硬件四部分组成。 数据(库)数据库是长期存储在计算机内有组织的共享的数据的集合。它可以供用户共享,具有尽可能小的冗余度和较高的数据独立性,使得数据存储最优,数据最容易操作,并且具有完善的自我保护能力和数据恢复能力。数据库特点如下:1. 集成性:把某特定应用环境中的各种应用相关的数据及其数据之间的联系全部地集中地并按照一定的结构形式进行存储,或者说,把数据库看成为若干个单个性质不同的数据文件的联合和统一的数据整体。2. 共享性:数据库中的一块块数据可为多个不同的用户所共享,即多个不同的用户,使用多种不同的语言,为了不同的应用目的,而同时存取数据库,甚至同时存取同一块数据,即多用户系统 用户用户是指使用数据库的人,即对数据库的存储、维护和检索等操作。用户分为三类:1. 第一类用户,终端用户(End User)主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员;2. 第二类用户,应用程序员(Application Programmer)负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。3. 第三类用户,数据库管理员(Dadabase Administrator,简称DBA)DBA是指全面负责数据库系统的“管理、维护和正常使用的”人员, 软件 (Software)负责数据库存取、维护和管理的软件系统,即数据库管理系统(Data Base Management System,简称DBMS),数据库系统的各类人员对数据库的各种操作请求,都由DBMS完成,DBMS是数据库系统的核心软件。硬件(Hardware)存储和运行数据库系统的硬件设备。包括CPU、内存、大容量的存储设备、外部设备等。数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。 (1)物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。 (2)概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。 (3)逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。 1.3.2数据库主要特点: (1)实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。 (2)减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。 (3)数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。 (4)数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。 (5)数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:安全性控制:以防止数据丢失、错误更新和越权使用;完整性控制:保证数据的正确性、有效性和相容性;并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏1.4数据库发展史数据库技术的发展,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术最初产生于20世纪60年代中期,根据数据模型的发展,可以划分为三个阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统。 第一代数据库的代表是1969年IBM公司研制的层次模型的数据库管理系统IMS和70年代美国数据库系统语言协商CODASYL下属数据库任务组DBTG提议的网状模型。层次数据库的数据模型是有根的定向有序树,网状模型对应的是有向图。这两种数据库奠定了现代数据库发展的基础。这两种数据库具有如下共同点:1.支持三级模式(外模式、模式、内模式)。保证数据库系统具有数据与程序的物理独立性和一定的逻辑独立性;2.用存取路径来表示数据之间的联系;3.有独立的数据定义语言;4.导航式的数据操纵语言。 第二代数据库的主要特征是支持关系数据模型(数据结构、关系操作、数据完整性)。关系模型具有以下特点:1.关系模型的概念单一,实体和实体之间的连系用关系来表示;2.以关系数学为基础;3.数据的物理存储和存取路径对用户不透明;4.关系数据库语言是非过程化的。 第三代数据库产生于80年代,随着科学技术的不断进步,各个行业领域对数据库技术提出了更多的需求,关系型数据库已经不能完全满足需求,于是产生了第三代数据库。主要有以下特征:1.支持数据管理、对象管理和知识管理;2.保持和继承了第二代数据库系统的技术;3.对其它系统开放,支持数据库语言标准,支持标准网络协议,有良好的可移植性、可连接性、可扩展性和互操作性等。第三代数据库支持多种数据模型(比如关系模型和面向对象的模型),并和诸多新技术相结合(比如分布处理技术、并行计算技术、人工智能技术、多媒体技术、模糊技术),广泛应用于多个领域(商业管理、GIS、计划统计等),由此也衍生出多种新的数据库技术。 第二章 网络数据库技术概述网络数据库也叫Web数据库。促进Internet发展的因素之一就是Web技术。由静态网页技术的HTML到动态网页技术的CGI、ASP、PHP、JSP等,Web技术经历了一个重要的变革过程。Web已经不再局限于仅仅由静态网页提供信息服务,而改变为动态的网页,可提供交互式的信息查询服务,使信息数据库服务成为了可能。Web数据库就是将数据库技术与Web技术融合在一起,使数据库系统成为Web的重要有机组成部分,从而实现数据库与网络技术的无缝结合。这一结合不仅把Web与数据库的所有优势集合在了一起,而且充分利用了大量已有数据库的信息资源。图1.1是Web数据库的基本结构图,它由数据库服务器(Database Server)、中间件(Middle Ware)、Web服务器(Web Server)、浏览器(Browser)4部分组成。图1.1 Web数据库的基本结构它的工作过程可简单地描述成:用户通过浏览器端的操作界面以交互的方式经由Web服务器来访问数据库。用户向数据库提交的信息以及数据库返回给用户的信息都是以网页的形式显示。在本章中,将介绍Web数据库技术所涉及到的一些基本概念、Web数据库的工作机制及相关技术。2.1 Internet技术与WWW世界2.1.1 Internet技术与相关协议Internet技术在Web数据库技术中扮演着重要的角色。Internet(因特网)专指全球最大的、开放的、由众多网络相互连接而成的计算机网络,并通过各种协议在计算机网络中传递信息。TCP/IP协议是Internet上使用的两个最基本的协议。因此也可以说Internet是全球范围的基于分组交换原理和TCP/IP协议的计算机网络。它将信息进行分组后,以数据包为单位进行传输。Internet在进行信息传输时,主要完成两项任务。(1)正确地将源信息文件分割成一个个数据包,并能在目的地将源信息文件的数据包再准确地重组起来。(2)将数据包准确地送往目的地。TCP/IP协议的作用就是为了完成上述两项任务,规范了网络上所有计算机之间数据传递的方式与数据格式,提供了数据打包和寻址的标准方法。1 TCP/IP协议TCP协议(Transmission Control Protocol,传输控制协议)规定了分割数据和重组数据所要遵循的规则和要进行的操作。TCP协议能保证数据发送的正确性,如果发现数据有损失,TCP将重新发送数据。2IP协议在Internet上传送数据往往都是远距离的,因此在传输过程中要通过路由器一站一站的转接来实现。路由器是一种特殊的计算机,它会检测数据包的目的地主机地址,然后决定将该数据包送往何处。IP协议(Internet Protocol,网际协议)给Internet中的每一台计算机规定了一个地址,称为IP地址。IP地址的标准是由4部分组成(例如1),其中前两部分规定了当前使用网络的管理机构,第3部分规定了当前使用的网络地址,第4部分规定了当前使用的计算机地址。Internet上提供的主要服务有E-mail、FTP、BBS、Telnet、WWW等。其中WWW(World Wide Web,万维网)由于其丰富的信息资源而成为Internet最为重要的服务。3HTTP协议HTTP协议(Hypertext Transfer Protocol,超文本传输协议)应用在WWW上,其作用是完成客户端浏览器与Web服务器端之间的HTML数据传输。2.1.2 Web的工作原理与工作步骤万维网简称为Web。Web可以描述为在Internet上运行的、全球的、交互的、动态的、跨平台的、分布式的、图形化的超文本信息系统。1.Web的工作原理Web是伴随着Internet技术而产生的。在计算机网络中,对于提供Web服务的计算机称为Web服务器。Web采用浏览器/服务器的工作方式。每个Web服务器上都放置着大量的Web信息。Web信息的基本单位是Web页(网页),多个网页组成了一个Web节点。每个Web节点的起始页称为“主页”,且拥有一个URL地址(统一资源定位地址)。Web节点之间及网页之间都是以超文本结构(非线性的网状结构)来进行组织的。2Web的工作步骤Web的工作步骤如下。(1)用户打开客户端计算机中的浏览器软件(例如Internet Explorer)。(2)用户输入要启动的Web主页的URL地址,浏览器将生成一个HTTP请求。(3)浏览器连接到指定的Web服务器,并发送HTTP请求。(4)Web服务器接到HTTP请求,根据请求的内容不同作相应的处理,再将网页以HTML文件格式发回给浏览器。(5)浏览器将网页显示到屏幕上。Web的工作步骤如图1.2所示。图1.2 Web的工作步骤2.1.3 WWW世界中的标记语言1HTML语言HTML(Hypertext Markup Language,超文本标记语言)是创建网页的计算机语言。所谓网页实际上就是一个HTML文档。文档内容由文本和HTML标记组成。HTML文档的扩展名就是.html或.htm。浏览器负责解释HTML文档中的标记,并将HTML文档显示成网页。(1)HTML标记HTML标记的作用是告诉浏览器网页的结构和格式。每一个标记用尖括号括起来。大多数标记都有一个开始标记和一个结束标记。标记不分大小写。多数标记都带有自己的属性。例如字体标记有FACE、COLOR、SIZE等属性:FACE定义字体;COLOR定义字体的颜色;SIZE定义字体的大小。使用格式: BEIJING 。网页中有很多文本链接和图片链接。链接,又被称为超链接,用于链接到WWW万维网中的其他网页上。在HTML文档中表示超链接的标记是,通过属性HREF指出链接的网页地址URL。使用格式: BEIJING 。(2)HTML程序HTML程序必须以标记开始,以标记结束。在和标记之间主要由两部分组成:文件头和文件体。文件头用标记 来标识,文件体用标记来标识。在文件的头部通常包含整个网页的一些信息。例如标记是用来说明网页的名称;标记是用来说明网页的其他信息,如设计者姓名和版权信息等。所有在浏览器中要显示的内容称为网页的主体,必须放在标记中。下面给出的是一个空网页的HTML程序。 (在此标记中写网页的标题) (在此标记中写网页的内容) (3)HTML规范HTML规范又称为HTML标准,它总在不断地发展。每一新版本的出现,HTML都会增加新的特性和内容。有关HTML版本的详细信息请访问网站。在不同的浏览器中,网页的显示效果可能会有所不同。每一个浏览器都使用自己独特的方式解释HTML文档中的标记,并且多数浏览器不完全支持HTML的所有特性。因为,像Microsoft和Netscape公司在HTML标准上又开发了一些特有的HTML标记和属性,称之为HTML的扩展。这些标记和属性只被他们自己的浏览器所识别,不可能被其他公司的浏览器识别。如果浏览器不能识别HTML文档中的标记,则会忽略这个标记。(4)HTML程序的编辑环境与运行环境HTML文档是一个普通的文本文件(ASCII),不包含任何与平台、程序有关的信息。因此HTML文档可以利用任何文本编辑器来方便地生成。要注意的是HTML文档的扩展名必须是.html或.htm。运行HTML文档可以在任何浏览器下进行,并可在浏览器上查看网页的HTML源代码。关于HTML语言中标记的种类与使用方法将会在第5章中更详细地进行介绍。2可扩展标记语言(XML)HTML是Web上的通用语言,随着Internet的深入人心,WWW上的Web文件日益复杂化、多样化,人们开始感到了HTML这种固定格式的标记语言的不足。1996年W3C开始对HTML的后续语言进行研究,并于1998年正式推出了XML(Extensible Markup Language,可扩展标记语言)。在设计网页时,XML提供了比HTML更灵活的方法。(1)XML语言的特点XML是国际组织W3C为适应WWW的应用,将SGML (Standard Generalized Markup Language)标准进行简化形成的元标记语言。简单地说,XML是使用标记来描述内容或与内容相关的形式信息的通用语言。一个XML文档由标记和字符数据组成。而作为元标记语言,XML不再使标记固定,允许网页的设计者定义数量不限的标记来描述内容,同时还允许设计者创建自己的使用规则。(2)XML的DTDDTD(Document Type Definition,文档类型定义)是一组应用在XML文档中的自定义标记语言的技术规范。DTD中定义了标记的含义及关于标记的语法规则。语法规则中确定了在XML文档中使用哪些标记符,它们应该按什么次序出现,标记符之间如何嵌套,哪些标记符有属性等等。DTD可以包含在它所描述的XML文档中,但通常它是一份单独的文档或者一系列文档。作为外部文件可通过URL链接,被不同的XML文档 共享。XML把DTD的定义权开放,不同行业可以根据自己的实际需求定义描述内容的DTD,以适应本行业内部的信息交流和存档需要。因此,适合于不同行业、不同平台的标记语言大批涌现。DTD定义的基本格式是:。其中的规则包括:元素声明ELEMENT,属性声明ATTLIST,实体声明ENTITY,等。通常出版发行业描述图书的信息需要有:书号、书名、作者、出版社、出版日期等,那么下面给出的便是为描述图书信息而制定的一个DTD和与它对应的XML文档。!DOCTYPE BookInformation ISBN0001 XML3.0技术内幕 John 清华大学出版社 2001 8 另一本书信息省略 不难看出,在XML的程序清单中使用了具有意义的标记,如、和等。这种用法的优点是:标记具有含义,源码易于阅读理解;其次是处理程序可以根据文档类型定义来验证XML文档是否合法。(3)XML的CSS与XSL强调内容描述与形式描述的分离,一方面可以使XML文件的编写者更集中精力于数据本身,而不受显示方式的细节影响;另一方面允许为相同的数据定义不同的显示方式,从而适合于不同应用、不同媒体,使XML数据得到最大程度的重用。XML文档数据的显示形式是通过样式单定义的。CSS(Cascading Style Sheets)是XML使用的一种标准的级联样式单,XSL(Extensible Style Language)则是可扩展的样式语言。由于XML允许用户创建任何所需的标记,而通用浏览器却既无法预期用户标记的意义,又无法为显示这些标记而提供规则,因此用户必须为自己创建的XML文档编写样式单,样式单可以实现共享。浏览器对一个XML文档的处理过程是,首先去关联它所指定的样式单文件,如果该样式单是一个XSL文件,则按照规定对XML数据进行转换然后再显示,XSL本身也是基于XML语言的,可以将XML转化为HTML后再显示。如果该样式单是一个CSS文件,浏览器就会按照样式单的规定给每个标记赋予一组样式后再显示。2.2 Web数据库访问技术10Web数据库访问技术通常是通过三层结构来实现的,如图1.3所示。目前建立与Web数据库连接访问的技术方法可归纳为CGI技术,ODBC技术和ASP、JSP、PHP技术。图1.3 Web数据库访问的三层结构2.2.1 CGI技术CGI(Common Cateway Interface,通用网关界面)是一种Web服务器上运行的基于Web浏览器输入程序的方法,是最早的访问数据库的解决方案。CGI程序可以建立网页与数据库之间的连接,将用户的查询要求转换成数据库的查询命令,然后将查询结果通过网页返回给用户。一个CGI工作的基本原理如图1.4所示。CGI程序需要通过一个接口才能访问数据库。这种接口多种多样,数据库系统对CGI程序提供了各种数据库接口如Perl、C/C+、VB等。为了使用各种数据库系统,CGI程序支持ODBC方式,通过ODBC接口访问数据库。图1.4 CGI工作流程2.2.2 ODBC技术ODBC(Open Database Connectivity,开放数据库互接)是一种使用SQL的应用程序接口(API)。ODBC最显著的优点就是它生成的程序与数据库系统无关,为程序员方便地编写访问各种DBMS的数据库应用程序提供了一个统一接口,使应用程序和数据库源之间完成数据交换。ODBC的内部结构为4层:应用程序层、驱动程序管理器层、驱动程序层、数据源层。它们之间的关系如图1.5所示。由于ODBC适用于不同的数据库产品,因此许多服务器扩展程序都使用了包含ODBC层的系统结构。图1.5 ODBC的内部结构Web服务器通过ODBC数据库驱动程序向数据库系统发出SQL请求,数据库系统接收到的是标准SQL查询语句,并将执行后的查询结果再通过ODBC传回Web服务器,Web服务器将结果以HTML网页传给Web浏览器,工作原理如图1.6所示。图1.6 Web服务器通过ODBC访问数据库由于Java语言所显示出来的编程优势赢得了众多数据库厂商的支持。在数据库处理方面,Java提供的JDBC为数据库开发应用提供了标准的应用程序编程接口。与ODBC类似,JDBC也是一种特殊的API,是用于执行SQL语句的Java应用程序接口。它规定了Java如何与数据库之间交换数据的方法。采用Java和JDBC编写的数据库应用程序具有与平台无关的特性。2.2.3 ASP、JSP、PHP技术ASP是Microsoft开发的动态网页技术,主要应用于Windows NT+IIS或 Windows 9x+PWS平台。确切地说ASP不是一种语言,而是Web服务器端的开发环境。利用ASP可以产生和运行动态的、交互的、高性能的Web服务应用程序。ASP支持多种脚本语言,除了VBScript和Pscript,也支持Perl语言,并且可以在同一ASP文件中使用多种脚本语言以发挥各种脚本语言的最大优势。但ASP默认只支持VBScript和Pscript,若要使用其他脚本语言,必须安装相应的脚本引擎。ASP支持在服务器端调用ActiveX组件ADO对象实现对数据库的操作。在具体的应用中,若脚本语言中有访问数据库的请求,可通过ODBC与后台数据库相连,并通过ADO执行访问库的操作。JSP是Sun公司推出的新一代Web开发技术。作为Java家族的一员,几乎可以运行在所有的操作系统平台和Web服务器上,因此JSP的运行平台更为广泛。目前JSP支持的脚本语言只有Java。JSP使用JDBC实现对数据库的访问。目标数据库必须有一个JDBC的驱动程序,即一个从数据库到Java的接口,该接口提供了标准的方法使Java应用程序能够连接到数据库并执行对数据库的操作。JDBC不需要在服务器上创建数据源,通过JDBC、JSP就可以实现SQL语句的执行。PHP是Rasmus Lerdorf推出的一种跨平台的嵌入式脚本语言,可以在Windows、UNIX、Linux等流行的操作系统和IIS、Apache、Netscape等Web服务器上运行,用户更换平台时,无需变换PHP代码。PHP是通过Internet合作开发的开放源代码软件,它借用了C、Java、Perl语言的语法并结合PHP自身的特性,能够快速写出动态生成页面。PHP可以通过ODBC访问各种数据库,但主要通过函数直接访问数据库。PHP支持目前绝大多数的数据库,提供许多与各类数据库直接互连的函数,包括Sybase、Oracle、SQL Server等,其中与SQL Server数据库互连是最佳组合。2.3 网络数据库应用系统的层次体系12当前,Internet/Intranet技术发展异常迅速,越来越多的数据库应用软件运行在Internet/Intranet环境下。在此之前,数据库应用系统的发展经历了单机结构、集中式结构、客户机/服务器(C/S)结构之后,随着Internet的普及,又出现了浏览器/服务器(B/S)结构与多层结构。在构造一个应用系统时,首先考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。2.3.1 客户机/服务器结构1二层C/S结构二层C/S结构是当前非常流行的数据库系统结构,在这种结构中,客户机提出请求,服务器对客户机的服务请求做出回答。它把界面和数据处理操作分开在前端(客户端)和后端(服务器端),这个主要特点使得C/S系统的工作速度主要取决于进行大量数据操作的服务器,而不是前端的硬件设备;同时也大大降低了对网络传输速度的要求,因为只须客户端把服务请求发送给数据库服务器,数据库服务器只把服务结果传回前端,如图1.7所示。图1.7 C/S结构图在设计时,对数据可能有如下不同的处理形式。(1)在处理时,客户机先向服务器索取数据,然后释放数据库,即客户机发出的是文件请求,在客户机端处理数据,最后将结果送回服务器。这种处理方式的缺点很明显:所有的应用处理都在客户端完成,这就要求客户端的计算机必须有足够的能力,以便执行需要的任何程序。更为糟糕的是,由于所有的处理均在客户端完成,每次运行时都要将文件整体传送到客户端,然后才能执行。如:Student表中有30000条记录,客户端发出命令:Select * From Student Where Sno=200101这条命令将要求服务器将Student表中的所有记录传送到客户端,然后在客户端执行查询,结果只用到一条记录;如果查询的记录不存在,网络传输的数据实际上是无用的。如此大的数据传输量是不可想象的。因此,人们提出了在服务器中能够执行部分代码的客户机/服务器结构。(2)在处理时,客户机接受用户要求,并发给服务器;在服务器端处理用户要求,最后将结果传回客户机显示或打印。这种处理方式网络通信量较小。客户机向服务器发出的是处理请求,而不是文件请求,处理请求中的代码在服务器端执行后向客户机传送处理后的结果。这样,为了特定任务,客户机上的程序和服务器上的程序协同工作:客户机端的代码用于完成用户的输入输出及数据的检查,而服务器端的代码完成对数据库的操作。客户机/服务器结构的另一个主要特点在于软件、硬件平台的无关性。数据库服务器上的数据库管理系统集中负责管理数据,它向客户端提供一个开放的使用环境,客户端通过数据库接口,如ODBC(开放数据库连接)和SQL语言访问数据库,也就是说,不管客户端采用什么样的硬件和软件,它只要能够通过网络和数据库接口程序连接到服务器,就可对数据库进行访问。在客户机/服务器结构中,常把客户机称为前台,而把服务器端称为后台。前台应用程序的功能包括用户界面、接收用户数据、处理应用逻辑、向后台发出请求、同时接收后台返回的结果,最后再将返回的结果按一定的格式或方式显示给用户。而后台服务器则负责共享外部设备、存取共享数据、响应前台客户端的请求并回送结果等工作。前台的应用程序和数据一般是用户专用的,而后台的数据和代码是所有用户可以共享的。由于数据库服务器不仅要管理共享数据,保证数据的完整性,还要执行一部分代码,完成客户端的一些处理请求,所以对用于服务器的计算机提出较高的要求。最好要采用一台专用的服务器,有较快的处理速度,有大容量的硬盘和内存,支持磁带等大容量的存储设备。上面讲的客户机/服务器结构将应用分在了客户机、服务器两级,称其为两层客户机/ 服务器结构。总之,两层C/S结构的基本工作方式是客户程序向数据库服务器发送SQL请求,服务器返回数据或结果。这种C/S结构有两种实现方式,一种是客户来完成表示部分和应用逻辑部分,而服务器完成数据访问部分,这种情况是以客户为中心的,适用于应用相对简单、数据访问量不是很大的情况。另一种是以服务器为中心的,把一些重要的应用逻辑部分放到服务器上,这样可充分利用服务器的计算能力,减少网络上需要传送的数据。通常以存储过程和触发器的形式出现,但存储过程都依赖于特定数据库,不同数据库之间很难移植,而三层C/S结构可以很好地解决这个问题。注意:触发器(trigger)是数据库系统中,一个在插入、删除、修改操作之后运行的记录级事件代码。不同的事件可以对应不同的动作。通常有3种类型的触发器:INSERT触发器、DELETE触发器和UPDATE触发器。2三层C/S结构由于两层结构的客户机/服务器系统本身固有的缺陷,使得它不能应用于一些大型、结构较为复杂的系统中,故出现了3层结构的客户机/服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论