分享

XML数据库问答 - JUST ON MY WAY

 海为科技 2007-12-04
1.什么是XML数据库?
XML数据库是可以对XML文档进行存取管理和数据查询的数据库。

2.XML数据库有几种类型?
目前XML数据库主要有两种类型:XML本源数据库(NXD ,Native XML Database)、支持XML的数据库(XEDB ,XML-enable database)。

3.什么是XML本源数据库(NXD)?
NXD是专门对 XML 数据格式的文档进行存取管理和数据查询的数据库。

4.主流的XML本源数据库(NXD)产品有哪些?
目前截止2002年6月,正式公布的NXD产品有28种,其功能各具特色。在支持对XML文档管理的同时,不同程度的增加了一些附加功能。比较著名的产品有Tamino、 dbXML、eXcelon和 XHive/DB,分别由美国的Software AG公司、dbXML Group LLC公司、 eXcelon公司和荷兰的The Connection Factory公司研制。
比如,Tamino 是第一个商用native-XML数据库,其最新版为2.3.1(2002-5), 系统除了具有NXL的基本功能外,还提供与其它数据源的调用接口,可以对关系型收据进行存储管理。其管理界面是基于Web的,与主流的关系数据库管理系统相似,包括与数据库交互和对数据模板(editting schemas)进行编辑的 GUI工具.其查询语言是基于Xpath,有直接XML检索和特殊检索的能力,可实现对任意数据元的检索,其功能在某些方面甚至超过传统SQL(根据Gartner Group的研究报告)。Tamina有Windows NT、Windows 2000、Solaris和SCO Unix等版本。 Tamino适用于需要从多种不同平台和格式整合信息并向业务伙伴或客户散发这些信息的机构。

5.什么是支持XML的数据库(XEDB )?其主要用途是什么?
XEDB是在传统数据库的基础上,通过增加对XML数据的管理功能,从而实现对XML数据的管理的数据库。
XEDB的主要用途是实现数据关系不太复杂的XML文档与传统数据库之间的转换。

6.XEDB产品有哪些?
目前已经知道的XEDB产品有Access 2002 、SQL Server 2000、IBM的DB2 XML Extender,、FileMaker、 FoxPro、 Informix 、Objectivity/DB 、Oracle 8i, 9i。

7.XML数据库由哪几部分组成?
XML本身是不是数据库,XML仅仅意味着XML文档。当XML文件被用于数据存储管理时, XML和它相关的技术结合就组成一个数据库管理系统,目前XML数据库系统主要以下由四部分组成:
DTD或者Schemas是XML数据库数据模型,对XML数据库内容的存储了访问都依据该模型。在模型中规定了元素(elements)、属性(attributes)、PCDATA以及文档内容的顺序。
XML文档是XML数据库的数据区,一个XML文档就是一个基本的存储单元,相当于关系数据库中的一个表格。
XQuery, XPath, XQL, XML-QL, QUILT是数据库查询语言。
SAX、JDOM、DOM是数据库处理工具。提供对XML数据库的编辑、管理功能,以及与其它语言的编程接口。

8.DTD与scheme有何不同?
DTD主要用来指定文件的结构,是一套关于在XML文档中使用的标记符的语法规则。 它告诉你可以在文档中使用哪些标记符, 它们应该按什么次序出现, 哪些标记符可以出现于其它标记符中, 哪些标记符有属性等。 它可以是XML文档的一部分, 但是它通常是一份单独的文档或者一系列文档 。XML本身并没有一个通用的DTD,想使用XML进行数据交换的行业或组织可以定义它们自己的DTD。
XML Schema是W3C推荐的用来规定XML文档结构的标准。它比DTD更加严格规范。
目前大量使用的是DTD,未来XML Schema有可能取而代之。

9.Xquery与 Xpath有何区别?
Xquery与 Xpath,XQL, XML-QL, QUILT都是XML数据库的查询语言。
Xquery是W3C推荐的XML数据库的查询语言标准。
XPath 是在 XML 文档内描述节点路径的通用规范。XPath 规范是 XSLT 的组成部分,用来帮助XSLT在XML源文档中查找定位信息的语言。在实际使用过程中,XPath和XSLT总是混在一起使用,在目前的大多数XML数据库中都采用它实现数据查询。

10.什么是以数据为中心的文档?
这种文档内容有非常规则的结构,元素排列顺序遵从一定的规则。数据为中心的文档主要用于数据存储或交换,便于机器理解和处理。比如企业的销售订单、医院病人档案、科学实验的记录等。
如果要处理的文挡是以数据为中心时,通常使用XEDB。

11.什么是以文档为中心的文档?
这种文档内部数据结构不规则、内容是混合的,其内部包含的信息自身的物理结构很重要。而且数据的粒度也比较大。以文档为中心的文档主要是用人类而设计的。是典型的半结构化的文档具有不规则的内容,如书本、电子邮件、广告等等。
如果要处理的文挡是以文挡为中心时,通常就使用NXD。

12.如果需要处理的文档数据即有以文档为中心的特征,又有以数据为中心的特征时,应当选择何种类型的XML数据库?
应当选择NXD。

13.XML数据库内容与传统数据库内容能够互相转换吗?
当数据结构不复杂时,使用XEDB或者中间件(middleware)可以实现XML文档与关系数据库或者面向对象数据库之间的转换。
当数据结构关系复杂时,它们之间的转换效果不好。
另外有些XML数据无法转换成传统数据库格式,反之亦然。

14.XML:DB是干什么的?
XML:DB是一个致力于关于XML数据库标准化的国际组织,其主要工作是提供XML数据库开发规范,推广XML数据库产品。

15.什么是半结构化数据?
半结构化数据是指数据集合中既含有结构规则的数据,也包括不规则数据。如人的基本情况就是一种半结构化数据,其中姓名、出生日期、籍贯、学历等信息可以用固定的格式描述,是结构化的,而各人的简历内容各不相同,无法用固定的格式描述。

16.XML数据库与传统数据库相比有哪些不同和优势?
与传统数据库相比XML数据库具有以下特点:
(1)XML数据库能够对半结构化数据进行有效的存取和管理。如网页内容就是一种半结构化数据,而传统的关系数据库对于类似网页内容这类半结构化数据无法进行有效的管理。
(2)提供对标签和路径的操作。传统数据库语言允许对数据元素的值进行操作,不能对元素名称操作,半结构化数据库提供了对标签名称的操作,还包括了对路径的操作。
(3)当数据本身具有层次特征时,由于XML数据格式能够清晰表达数据的层次特征,因此XML数据库便于对层次化的数据进行操作。
(4)顺序性(sequence):以文档为中心XML的文档与传统的数据表不同,其内容是有顺序的,顺序性使得查询、特别是连接和修改更加复杂。而在传统的数据表中,表项(field)之间的顺序是可以互换的。
基于上述特征,XML数据库适合管理复杂数据结构的数据集,如果已经以XML 格式存储信息,则XML数据库利于文档存储和检索 ;可以用方便实用的方式检索文档,并能够提供高质量的全文搜索引擎。特别适合对半结构化数据的管理。另外XML数据库能够存储和查询异种的文档结构,提供对异种信息存取的支持。

17.在什么情况下需要使用XML数据库?
XML数据库的主要用途可以概括为两方面:对基于XML的数据进行有效的管理、对基于Web的各种数据源进行集成。如果建立的数据库是基于Web的,同时管理的信息具有半结构化特征,那么最好使用XML数据库。

18.目前XML数据库主要存在哪些问题?
目前XML数据库在有效的存储组织、合理索引结构、数据库系统的安全性、事务处理、数据完整性、触发器、多用户处理机、数据的聚合能力等方面还有待提高。另外,标准众多,缺乏统一的数据库开发标准。不同数据库产品之间的兼容性值得怀疑。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多