XML基础教程第9章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《XML基础教程第9章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XML 基础教程 课件
- 资源描述:
-
1、第第9 9章章 XMLXML与数据库与数据库熟练掌握:熟练掌握:在在HTMLHTML中与中与XMLXML文档建立数据源连接并在文档建立数据源连接并在IEIE中中正确显示出正确显示出XMLXML数据。数据。掌握:掌握:XML数据源对象的基本概念。数据源对象的基本概念。了解:了解:XML与数据库的相关概念;与数据库的相关概念;XML与关系型数与关系型数据库和面向对象数据库的联系;基于据库和面向对象数据库的联系;基于XML的数的数据库模型及据库模型及XML在数据库中的应用模式;在数据库中的应用模式;XML数据转化成数据库的相关概念;数据转化成数据库的相关概念;XML数据库的数据库的基本概念、体系结构
2、及访问基本概念、体系结构及访问XML数据库的相关数据库的相关技术。技术。在在XMLXML技术出现之后,各种传统数据库相继推出技术出现之后,各种传统数据库相继推出了自己的支持了自己的支持XMLXML的解决方案来实现传统数据库与的解决方案来实现传统数据库与XMLXML之间的转换。作为数据存储载体,之间的转换。作为数据存储载体,XMLXML文档也可以作文档也可以作为数据文件使用,同样可以完成传统数据库存储数据为数据文件使用,同样可以完成传统数据库存储数据的任务和功能,因而提出了的任务和功能,因而提出了XMLXML数据库的概念。数据库的概念。XML XML的数据交换技术,除了的数据交换技术,除了CSS
3、CSS、XSLTXSLT外,还有数外,还有数据源技术。据源技术。数据源技术是以数据源技术是以HTTPHTTP协议来实现网络传输,并显示协议来实现网络传输,并显示XMLXML数据文件的另外一种技术。把数据文件的另外一种技术。把XMLXML数据文件嵌入数据文件嵌入HTMLHTML文本中,作为提供数据的模块,借助文本中,作为提供数据的模块,借助HTMLHTML可以方便地在可以方便地在浏览器上浏览这个浏览器上浏览这个XMLXML数据文件。数据文件。XML XML的数据源对象(的数据源对象(data source objectdata source object,DSODSO)又)又称为称为“数据岛数据
4、岛”。数据岛的实现机制是将一个数据岛的实现机制是将一个XMLXML文档或一段文档或一段XMLXML代码当代码当成一个类似数据库的对象,使用传统操作数据库的方法来成一个类似数据库的对象,使用传统操作数据库的方法来操作操作XMLXML文档中的数据,例如,数据的添加、删除、更新文档中的数据,例如,数据的添加、删除、更新和查询。有人也将其称为一个在网络上流动的数据库。另和查询。有人也将其称为一个在网络上流动的数据库。另外,数据岛提供了一种对外,数据岛提供了一种对XMLXML格式的数据和格式的数据和HTMLHTML的一些对的一些对象(如表格、文本框等)进行绑定的技术。象(如表格、文本框等)进行绑定的技术
5、。9.1 XML9.1 XML与数据库概述与数据库概述 数据库提供了对大批量数据进行有效存储管理、快数据库提供了对大批量数据进行有效存储管理、快速信息检索和查询的功能。从体系结构上看,数据库技速信息检索和查询的功能。从体系结构上看,数据库技术的发展经历了网状型数据库、层次型数据库、关系数术的发展经历了网状型数据库、层次型数据库、关系数据库、面向对象数据库等几个阶段。据库、面向对象数据库等几个阶段。虽然面向对象数据库融入了面向对象技术,但是到虽然面向对象数据库融入了面向对象技术,但是到目前为止,在各个领域使用最广泛的还是关系数据库。目前为止,在各个领域使用最广泛的还是关系数据库。因此,下面主要介
6、绍因此,下面主要介绍XMLXML与关系数据库和面向对象数据与关系数据库和面向对象数据库的相关概念。库的相关概念。9.1.1 XML9.1.1 XML与关系数据库与关系数据库 关系数据库有自己的查询语言,那就是结构化查询语关系数据库有自己的查询语言,那就是结构化查询语言言SQLSQL(structured query languagestructured query language)。)。SQL SQL是非过程性的语言。是非过程性的语言。一般情况下,大多数支持一般情况下,大多数支持SQLSQL的服务器系统均采用客的服务器系统均采用客户服务器架构,现在又发展到更为先进的分布式处理架户服务器架构,
7、现在又发展到更为先进的分布式处理架构。构。与与XMLXML文档不同,数据库将不再扮演简单的数据容器文档不同,数据库将不再扮演简单的数据容器的角色。数据库相当灵活,允许开发者将适合自己应用的角色。数据库相当灵活,允许开发者将适合自己应用需要的规则和模式存入其中,而不仅仅是单纯而枯燥的需要的规则和模式存入其中,而不仅仅是单纯而枯燥的数据。数据。针对针对XMLXML数据,一般有两种存储方式:一种是将其按数据,一般有两种存储方式:一种是将其按结构层次拆分开来分别存于不同字段,另一种是将结构层次拆分开来分别存于不同字段,另一种是将XMLXML文文档原封不动地存入数据库。档原封不动地存入数据库。9.1.2
8、 XML9.1.2 XML与面向对象数据库与面向对象数据库 面向对象数据库源于计算机编程语言中的面向对象技术。面向对象数据库源于计算机编程语言中的面向对象技术。面向对象数据库管理系统(面向对象数据库管理系统(OODBMSOODBMS)使得文本、图像、)使得文本、图像、视频和空间数据可以存储在数据库中。视频和空间数据可以存储在数据库中。XML XML的出现给面向对象数据库注入了新的生机和动力。的出现给面向对象数据库注入了新的生机和动力。当当XMLXML同关系数据库相结合时,一般需要将同关系数据库相结合时,一般需要将XMLXML文档按元文档按元素层次结构拆分后依次存入数据库中的相应字段。素层次结构
9、拆分后依次存入数据库中的相应字段。这样一来,这样一来,XMLXML文档的整体性将受到破坏,除非有一个文档的整体性将受到破坏,除非有一个预先设定的小程序对数据库中的数据进行整合,否则预先设定的小程序对数据库中的数据进行整合,否则XMLXML数数据将失去结构信息而变得一团糟。据将失去结构信息而变得一团糟。当当XMLXML同面向对象数据库相结合时,同面向对象数据库相结合时,XMLXML数据将不再数据将不再被拆分,而是被描述成一个对象存入数据库,其优点显而被拆分,而是被描述成一个对象存入数据库,其优点显而易见,易见,XMLXML数据的结构和语义信息可以完整地保留下来。数据的结构和语义信息可以完整地保留
10、下来。目前,各厂商纷纷推出一些针对目前,各厂商纷纷推出一些针对XMLXML的面向对象数据的面向对象数据库,如库,如XhiveXhive和和XML RepositoryXML Repository。著名的。著名的Object DesignObject Design公公司也调整策略,将其面向对象数据库的产品司也调整策略,将其面向对象数据库的产品ObjectStoreObjectStore融入了融入了XML ServerXML Server体系之中。体系之中。9.1.3 9.1.3 基于基于XMLXML的数据库模型的数据库模型究竟什么样的数据库才能称得上是究竟什么样的数据库才能称得上是XMLXML数
11、据库呢?数据库呢?一般认为,一个基于一般认为,一个基于XMLXML的数据库系统应该具备以下特征:的数据库系统应该具备以下特征:(1 1)能根据)能根据DTDDTD或或SchemaSchema确定数据库的模式。确定数据库的模式。(2 2)支持)支持XML XML 常用解析器,可以进行事件驱动的常用解析器,可以进行事件驱动的XMLXML处理。处理。(3 3)内置数据处理语言模块()内置数据处理语言模块(XMLXML语法分析器),能够进行语法分析器),能够进行XMLXML文档数据的语法分析,同时对数据库中的元素进行直接的文档数据的语法分析,同时对数据库中的元素进行直接的定位操作。定位操作。(4 4)
12、提供标准的)提供标准的XMLXML查询语言。通过套用一定的样式模式,输查询语言。通过套用一定的样式模式,输出多种格式的文档。出多种格式的文档。(5 5)能够处理大型数据集合,能够对置标文本的结构和内容)能够处理大型数据集合,能够对置标文本的结构和内容进行索引。进行索引。(6 6)提供开发工具包,支持)提供开发工具包,支持XML DOMXML DOM、SAXSAX、JavaScriptJavaScript语言语言等。等。(7 7)提供一定的机制保证数据的一致性。例如,通过行级或)提供一定的机制保证数据的一致性。例如,通过行级或页级共享锁、排他锁对数据加锁,满足用户对数据进行并发读页级共享锁、排他
13、锁对数据加锁,满足用户对数据进行并发读写时数据的有效性。写时数据的有效性。(8 8)支持)支持OLAPOLAP和数据仓库等高级应用。和数据仓库等高级应用。9.1.4 XML9.1.4 XML在数据库中的应用模式在数据库中的应用模式 通常,通常,XMLXML在数据库中的应用模式需要借助在数据库中的应用模式需要借助3 3层架构来实现,层架构来实现,一般会有一个代理程序运行于中间层,通过它来访问数据库管一般会有一个代理程序运行于中间层,通过它来访问数据库管理系统中的数据和输出理系统中的数据和输出XMLXML文档。文档。代理程序实际上是一种在客户端桌面应用层与底层数据层代理程序实际上是一种在客户端桌面
14、应用层与底层数据层之间传递数据的工具。利用之间传递数据的工具。利用CSSCSS或或XSLXSL技术,技术,XMLXML可以实现基于可以实现基于WebWeb浏览器的多样式可视化显示。浏览器的多样式可视化显示。代理程序还可以进行双向的基于事件的数据更新,也就是代理程序还可以进行双向的基于事件的数据更新,也就是说,客户端的数据发生了如数据的插入、删除、修改等变化时说,客户端的数据发生了如数据的插入、删除、修改等变化时可以通过代理程序反映到底层数据库,而数据库的更新也能够可以通过代理程序反映到底层数据库,而数据库的更新也能够通知到客户端。表面上看,这种机制同传统的通知到客户端。表面上看,这种机制同传统
15、的3 3层架构没有什层架构没有什么区别,但实际上是不同的,因为数据在传输过程中都已经么区别,但实际上是不同的,因为数据在传输过程中都已经XMLXML化了。化了。开发一个访问数据库的开发一个访问数据库的XMLXML应用系统需要同时借助应用系统需要同时借助XMLXML编程编程接口和数据库编程接口,前者用于对接口和数据库编程接口,前者用于对XMLXML文档的解析、定位和文档的解析、定位和查询,所需技术包括查询,所需技术包括XML DOMXML DOM和和SAXSAX;后者则是用于访问数据库,;后者则是用于访问数据库,如数据库中数据的更新和检索等,需要使用的技术有如数据库中数据的更新和检索等,需要使用
16、的技术有ODBCODBC、JDBCJDBC、ADOADO等。等。9.2 XML9.2 XML数据源对象数据源对象 数据源对象(数据源对象(data source objectdata source object,DSODSO)是在)是在HTMLHTML文文件中加载结构化数据的另外一种方法。件中加载结构化数据的另外一种方法。9.2.1 XML9.2.1 XML数据源对象的基本概念数据源对象的基本概念 不同类型的数据格式有不同类型的不同类型的数据格式有不同类型的DSODSO,不同类型的,不同类型的DSODSO有有不同的数据处理方式。不同的数据处理方式。作为一个文件形式保存在计算机系统中的作为一个文
17、件形式保存在计算机系统中的XMLXML文档,使用文档,使用DSODSO来操作它们时,类似于操作传统关系数据库。来操作它们时,类似于操作传统关系数据库。在一个关系数据库实例中,使用表格来表示数据的组织。在一个关系数据库实例中,使用表格来表示数据的组织。每个表格是一个二维表,表格的每一列叫做数据项或字段,表每个表格是一个二维表,表格的每一列叫做数据项或字段,表格的一行称为一条记录,一个表格包含若干字段和若干行。若格的一行称为一条记录,一个表格包含若干字段和若干行。若干行的集合称为记录集(干行的集合称为记录集(recordsetrecordset)。)。结构化结构化XMLXML数据可以与一个表格对应
18、。数据可以与一个表格对应。9.2.2 9.2.2 数据集操作数据集操作 在操作在操作XMLXML文档数据时,文档数据时,DSODSO允许从一行数据移动允许从一行数据移动到下一行数据,以及添加、删除、修改数据记录等,到下一行数据,以及添加、删除、修改数据记录等,这些操作使用这些操作使用recordsetrecordset对象来实现。对象来实现。属属 性性操操 作作AddNewAddNew在文件尾部加入一条新记录在文件尾部加入一条新记录bof()bof()记录集的逻辑项,当指针指向记录集的逻辑项时,该属性为真,否记录集的逻辑项,当指针指向记录集的逻辑项时,该属性为真,否则为假则为假deletede
19、lete删除当前记录删除当前记录eof()eof()记录集的逻辑底,当指针指向记录集的逻辑底时记录集的逻辑底,当指针指向记录集的逻辑底时,该属性为真,否则该属性为真,否则为假为假move(n)move(n)把记录指针移动到第把记录指针移动到第n n条记录条记录moveFirstmoveFirst记录指针指向第一条记录记录指针指向第一条记录moveLastmoveLast记录指针指向最后一条记录记录指针指向最后一条记录movePreviomovePreviousus记录指针指向当前记录的前一条记录记录指针指向当前记录的前一条记录moveNextmoveNext记录指针指向当前记录的下一条记录记录
20、指针指向当前记录的下一条记录Field()Field()表示字段的属性表示字段的属性recordsetrecordset对象的属性和方法对象的属性和方法1.1.移动记录指针移动记录指针把数据集指针移动到第把数据集指针移动到第3636条记录的操作:条记录的操作:mydatas.recordset.move(36)mydatas.recordset.move(36)把数据集指针移动到第一条记录的操作:把数据集指针移动到第一条记录的操作:mydatas.recordset.moveFirstmydatas.recordset.moveFirst把数据集指针移动到最后一条记录的操作:把数据集指针移动到
21、最后一条记录的操作:mydatas.recordset.moveLastmydatas.recordset.moveLast把数据集指针移动到当前记录的前一条记录的操作:把数据集指针移动到当前记录的前一条记录的操作:mydatas.recordset.movePreviousmydatas.recordset.movePrevious把数据集指针移动到当前记录的下一条记录的操作:把数据集指针移动到当前记录的下一条记录的操作:mydatas.recordset.moveNextmydatas.recordset.moveNext2.2.添加记录添加记录 在一个打开的记录集中增加一条新记录的操作:
22、在一个打开的记录集中增加一条新记录的操作:mydatas.recordset.AddNewmydatas.recordset.AddNew3.3.删除记录删除记录 在一个打开的记录集中删除某一条记录时,需先在一个打开的记录集中删除某一条记录时,需先移动记录指针到该记录,再执行删除操作,如删除第移动记录指针到该记录,再执行删除操作,如删除第2020条记录的操作:条记录的操作:mydatas.recordset.move(20)mydatas.recordset.move(20)mydatas.recordset.deletemydatas.recordset.delete4.4.修改记录修改记录
展开阅读全文