论文部分内容阅读
摘要:XML数据库是数据库研究的热点,本文首先简要介绍了XML技术及其特点和优越性,详细分析和介绍了基于XML技术的数据库管理系统的建立、存储机制、传输技术、查询等关键技术。
关键词:XML;数据库;存储;查询
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)09-11578-02
Application of XML Technology in Database System Administration
GUO Hao
(Zhoushan Subsidiary company of Zhejiang mobile communication company,Zhoushan316000,China)
Abstract: The XML database was the key point of database research, This article first briefly introduced the XML technology and its characteristic and the superiority, Analysied and introduced the database management system’s establishment, the memory mechanism, the transmission technology, the inquiry and so on which were based on the XML technology on detail.
Key words: XML; Database; Memory; Inquiry
信息已经成为现代企业生产和运营不可或缺的组成部分。对信息和数据在网络环境下集成与共享的需求也日益迫切。随着应用对信息和数据需求量的不断增加,将原来单一的数据统合起来,进行集中分析和操作成为必然的趋势。XML是为了用来对信息进行描述而设计的一种新语言,XML是SGML(标准通用标记语言)的子集,它并不是类似于HTML的预定义标识语言,而是用于定义其他标识语言的一种元语言,XML能够使编程者轻松自如地完成许多有趣的事情,但XML并不是编程语言,也不是基于对象的平台,更不是操作系统,它是一种能够思考、交换和表示数据的,独立于平台的,强大而精巧的技术。它的出现,使得统一不同数据库模式成为可能。本文分析了XML技术的优势与特点,详细叙述了其在数据库系统管理平台的设计思想和实现技术,结合实际的应用项目验证了无模式XML数据管理平台。
1 XML技术的优势与特点
1.1 适合于异构数据库间的数据传递
随着计算机网络技术的普及和Web技术的广泛应用,不同平台上数据库之间的数据传递也越来越频繁。这种数据传递面临的技术困难是数据库之间的结构不同以及数据库所处平台的不同,使得数据传递不能直接进行,必须使用某种中间媒介进行过渡。对这种媒介的基本要求是:不受操作系统和数据库系统的限制,即独立于平台。XML以其优良的性能成为这种中间媒介的首选。同时充分利用XML技术,对外部系统,提供统一XML格式文件,对内部系统,统一接口方法,可以彻底解决数据转换问题。
1.2 简单
XML的规范简单,其设计原则是希望与其相关软件能具有高度的兼容性,且降低相关应用程序撰写的难度。XML采取一般计算机语言的语法,清晰易懂,同时XML是一个开放性标准,不隶属于任何一个公司或团体。任何研究单位与公司都可以获得XML,并以此为标准进行开发。
1.3 可扩展性
XML的可扩展性从多个方面表现出来。首先,它不像HTML那样受限于固定的词汇集,允许为特定的应用和行业使用XML定义专门的词汇集。其次,与采用其它格式的应用系统相比,只要结构的改变只牵扯到添加、处理或应用XML格式的应用程序,则XML具有更强的抗变化能力。这样的灵活性在其它数据格式中并不多见,这也是使用XML的显著优越性之一。XML没有绑定到任何程序设计语言、操作系统或软件销售商上。事实上,使用各种各样的程序设计语言都可以相当直接地创建和使用XML。与平台无关的特性使得XML成为非常有用的工具,在不同的程序设计平台和操作系统之间达到交互操作的目的。
1.4 可控制管理
XML不仅可以描述结构化数据,还可以有效地描述半结构化甚至非结构化的数据。以XML为基础结构的数据库,不但可以保存XML格式的数据,还可以保存各种数据格式,包括关系数据库表的数据,以及图形、图像、影片、声音等二进制的数据。同时XML可通过类似数据库的操作技巧来使用该份文件,可作为简易的网络数据库使用
1.5 其他
XML为纯文本文件,不受操作系统、软件平台、数据库的异构性限制。XML使用者可以定制属于自己的标签与文件架构,并且可以提供给其它使用者采用。对于同一份内容,使用者只需要新建一次便可以使用多次,且通过传输可与其它对文件有需求的单位共享资料。可降低重复数据的传输,强化网络资源的使用效率。
2 基于XML技术的数据库管理系统的构建
2.1 建立XML数据库
传统的关系型数据库的建立,其思路是高层数据以对象形式出现,底层数据由关系型数据库组织。而XML数据库是采用关系数据库反映应用数据集根节点的子节点,而由XML组织根节点的各个子树的内容,形成数据对象,把由XML描述的数据组织在关系数据库中,这样的数据无论存储形式还是表现形式都是结构化的,无需再作数据分析。建立步骤简述如下:(1)建立元数据库:将元数据的每个元素用XML标记。若某元数据有多个元素,则分别置标,然后作为一个字符串存放于相应字段中。由于标记后的XML元素已成为独立的对象,因此可以通过对象属性的设置表示元数据的特殊含义;(2)建立文本对象数据库:对于图象、音频、视频等对象可以无需用XML置标.文本必须被XML置标。根据内容结构将元数据分解为若干个对象装入数据库,同时在Catalog字段设置对象的ID和TiTle。这样用户可以通过查看Catalog选择需要的部分。当用户查看某个对象的内容时,可通过ID和TiTie选择子对象。
2.2 存储数据
目前,XML主流的存储方式有两种,一种是基于文本方式的存储,即把XML作为文本存储,它可以是文件系统中的文件、关系数据库中特定的文件格式。这种存储方式对于恢复整个XML文档很简单,因为它不需要重建树结构,但是对于查询或恢复小部分的文档片段效率很低,需要读取和解析整个文档。另一种是基于模型方式存储。基于模型方式是指将数据的概念模型转换成物理存储模型。有些数据库将该模型存储于关系型和面向对象的数据库中,例如在关系型数据库中存储DOM时,就会有元素、属性、PCDATA、实体、实体引用等表格。有些数据库使用了专为这种模型作了优化的专有存储格式。
2.3 XML与数据库之间的数据操作
XML的主要作用是为不同数据库和数据存储之间传递数据和显示数据,XML与数据库之间的数据操作可以分为XML向数据库输人数据、数据库中的数据以XML形式输出。(1)XML向数据库输人数据:可以使用DOM对象将XML文档存人数据库。表文件对象模型(DOM)提供了一种访问和操XM文件的方法。比如在Microsoft IE5.0中包含了Microsoft XML2.0类库,其中包含了各种DOM对象。可以在ASP中引用这些对象,从而实现XML与数据库的交互;(2)数据的XML形式的输出:ADO是ASP的内置组件.它的特征是有一对新对象Record和Stream可以实现数据的XML形式的输出。用ADO实现从数据库中读取XML格式数据的处理步骤是:首先从数据库中取出数据,存人记录集RS中。创建Stream对象,由RecordSet生成XML格式的Stream,参数adPersistXML是生成XML格式的Stream的关键。然后将RecordSet中的数据转换成XML,用Stream的ReadText方法生成XML文本SzXML。
2.4 XML数据的查询
在基于关系数据库的XML数据库中查询数据。就是把关系表中的数据以XML文档的形式发布出来。基于关系存储的XML查询最终都要将XML查询转化为SQL查询,并将SQL查询得到的平坦表形式的结果再转化为XMI 文档返回给用户或应用。由于XML查询语言比SQL要复杂的多,它们一般通过路径表达式来对XML文档中的嵌套结构进行查询,而且路径表达式中可以包含各种查询轴和谓词。谓词中又可以包含路径表达式、操作符和函数等,因此转换XML查询为SQL查询是一个挑战,这种转换技术及其实现性能对于基于关系的XML数据库的发展前途可以起决定性的作用。目前,针对XML文档和页面的查询多采用XQL实现,XQL是AT
关键词:XML;数据库;存储;查询
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)09-11578-02
Application of XML Technology in Database System Administration
GUO Hao
(Zhoushan Subsidiary company of Zhejiang mobile communication company,Zhoushan316000,China)
Abstract: The XML database was the key point of database research, This article first briefly introduced the XML technology and its characteristic and the superiority, Analysied and introduced the database management system’s establishment, the memory mechanism, the transmission technology, the inquiry and so on which were based on the XML technology on detail.
Key words: XML; Database; Memory; Inquiry
信息已经成为现代企业生产和运营不可或缺的组成部分。对信息和数据在网络环境下集成与共享的需求也日益迫切。随着应用对信息和数据需求量的不断增加,将原来单一的数据统合起来,进行集中分析和操作成为必然的趋势。XML是为了用来对信息进行描述而设计的一种新语言,XML是SGML(标准通用标记语言)的子集,它并不是类似于HTML的预定义标识语言,而是用于定义其他标识语言的一种元语言,XML能够使编程者轻松自如地完成许多有趣的事情,但XML并不是编程语言,也不是基于对象的平台,更不是操作系统,它是一种能够思考、交换和表示数据的,独立于平台的,强大而精巧的技术。它的出现,使得统一不同数据库模式成为可能。本文分析了XML技术的优势与特点,详细叙述了其在数据库系统管理平台的设计思想和实现技术,结合实际的应用项目验证了无模式XML数据管理平台。
1 XML技术的优势与特点
1.1 适合于异构数据库间的数据传递
随着计算机网络技术的普及和Web技术的广泛应用,不同平台上数据库之间的数据传递也越来越频繁。这种数据传递面临的技术困难是数据库之间的结构不同以及数据库所处平台的不同,使得数据传递不能直接进行,必须使用某种中间媒介进行过渡。对这种媒介的基本要求是:不受操作系统和数据库系统的限制,即独立于平台。XML以其优良的性能成为这种中间媒介的首选。同时充分利用XML技术,对外部系统,提供统一XML格式文件,对内部系统,统一接口方法,可以彻底解决数据转换问题。
1.2 简单
XML的规范简单,其设计原则是希望与其相关软件能具有高度的兼容性,且降低相关应用程序撰写的难度。XML采取一般计算机语言的语法,清晰易懂,同时XML是一个开放性标准,不隶属于任何一个公司或团体。任何研究单位与公司都可以获得XML,并以此为标准进行开发。
1.3 可扩展性
XML的可扩展性从多个方面表现出来。首先,它不像HTML那样受限于固定的词汇集,允许为特定的应用和行业使用XML定义专门的词汇集。其次,与采用其它格式的应用系统相比,只要结构的改变只牵扯到添加、处理或应用XML格式的应用程序,则XML具有更强的抗变化能力。这样的灵活性在其它数据格式中并不多见,这也是使用XML的显著优越性之一。XML没有绑定到任何程序设计语言、操作系统或软件销售商上。事实上,使用各种各样的程序设计语言都可以相当直接地创建和使用XML。与平台无关的特性使得XML成为非常有用的工具,在不同的程序设计平台和操作系统之间达到交互操作的目的。
1.4 可控制管理
XML不仅可以描述结构化数据,还可以有效地描述半结构化甚至非结构化的数据。以XML为基础结构的数据库,不但可以保存XML格式的数据,还可以保存各种数据格式,包括关系数据库表的数据,以及图形、图像、影片、声音等二进制的数据。同时XML可通过类似数据库的操作技巧来使用该份文件,可作为简易的网络数据库使用
1.5 其他
XML为纯文本文件,不受操作系统、软件平台、数据库的异构性限制。XML使用者可以定制属于自己的标签与文件架构,并且可以提供给其它使用者采用。对于同一份内容,使用者只需要新建一次便可以使用多次,且通过传输可与其它对文件有需求的单位共享资料。可降低重复数据的传输,强化网络资源的使用效率。
2 基于XML技术的数据库管理系统的构建
2.1 建立XML数据库
传统的关系型数据库的建立,其思路是高层数据以对象形式出现,底层数据由关系型数据库组织。而XML数据库是采用关系数据库反映应用数据集根节点的子节点,而由XML组织根节点的各个子树的内容,形成数据对象,把由XML描述的数据组织在关系数据库中,这样的数据无论存储形式还是表现形式都是结构化的,无需再作数据分析。建立步骤简述如下:(1)建立元数据库:将元数据的每个元素用XML标记。若某元数据有多个元素,则分别置标,然后作为一个字符串存放于相应字段中。由于标记后的XML元素已成为独立的对象,因此可以通过对象属性的设置表示元数据的特殊含义;(2)建立文本对象数据库:对于图象、音频、视频等对象可以无需用XML置标.文本必须被XML置标。根据内容结构将元数据分解为若干个对象装入数据库,同时在Catalog字段设置对象的ID和TiTle。这样用户可以通过查看Catalog选择需要的部分。当用户查看某个对象的内容时,可通过ID和TiTie选择子对象。
2.2 存储数据
目前,XML主流的存储方式有两种,一种是基于文本方式的存储,即把XML作为文本存储,它可以是文件系统中的文件、关系数据库中特定的文件格式。这种存储方式对于恢复整个XML文档很简单,因为它不需要重建树结构,但是对于查询或恢复小部分的文档片段效率很低,需要读取和解析整个文档。另一种是基于模型方式存储。基于模型方式是指将数据的概念模型转换成物理存储模型。有些数据库将该模型存储于关系型和面向对象的数据库中,例如在关系型数据库中存储DOM时,就会有元素、属性、PCDATA、实体、实体引用等表格。有些数据库使用了专为这种模型作了优化的专有存储格式。
2.3 XML与数据库之间的数据操作
XML的主要作用是为不同数据库和数据存储之间传递数据和显示数据,XML与数据库之间的数据操作可以分为XML向数据库输人数据、数据库中的数据以XML形式输出。(1)XML向数据库输人数据:可以使用DOM对象将XML文档存人数据库。表文件对象模型(DOM)提供了一种访问和操XM文件的方法。比如在Microsoft IE5.0中包含了Microsoft XML2.0类库,其中包含了各种DOM对象。可以在ASP中引用这些对象,从而实现XML与数据库的交互;(2)数据的XML形式的输出:ADO是ASP的内置组件.它的特征是有一对新对象Record和Stream可以实现数据的XML形式的输出。用ADO实现从数据库中读取XML格式数据的处理步骤是:首先从数据库中取出数据,存人记录集RS中。创建Stream对象,由RecordSet生成XML格式的Stream,参数adPersistXML是生成XML格式的Stream的关键。然后将RecordSet中的数据转换成XML,用Stream的ReadText方法生成XML文本SzXML。
2.4 XML数据的查询
在基于关系数据库的XML数据库中查询数据。就是把关系表中的数据以XML文档的形式发布出来。基于关系存储的XML查询最终都要将XML查询转化为SQL查询,并将SQL查询得到的平坦表形式的结果再转化为XMI 文档返回给用户或应用。由于XML查询语言比SQL要复杂的多,它们一般通过路径表达式来对XML文档中的嵌套结构进行查询,而且路径表达式中可以包含各种查询轴和谓词。谓词中又可以包含路径表达式、操作符和函数等,因此转换XML查询为SQL查询是一个挑战,这种转换技术及其实现性能对于基于关系的XML数据库的发展前途可以起决定性的作用。目前,针对XML文档和页面的查询多采用XQL实现,XQL是AT