三味中国, china3view

通过语言了解文化,通过游历增强体验. Language, Travel and Experience........联系方式:xuzheping#126.com       

« Using Databases With Gmaps Apps ---Google Map 与数据库技术结合基于hunspell的拼写检查器 »

关于XML数据库的好文章

与关系型数据库相比,XML 的明文格式对于数据交换有着先天的优势。由于项目要涉及在MS SQL SERVER、MYSQL、MS ACCESS、Visual FoxPro、EXCEL等格式之间进行转换,最后选择了XML 作为中间的交换标准,但是真正的XML数据库,似乎有更深的含义,下面是针对话题的好文章。

XML database

From Wikipedia, the free encyclopedia

Jump to: navigation, search

An XML database is a data persistence software system that allows data to be stored in XML format. This data can then be queried, exported and serialized into any format the developer wishes.

Two major classes of XML database exist:

  1. XML-enabled. These map all XML to a traditional database (such as a relational database), accepting XML as input and rendering XML as output.
  2. Native XML (NXD) The internal model of such databases depends on XML and uses XML documents as the fundamental unit of storage.

Note: "XML-enabled" implies that the database does the conversion itself (as opposed to relying on middleware).

Contents

Rationale for XML in databases

O'Connell (2005, 9.2) gives one reason for the use of XML in databases: the increasingly common use of XML for data transport, which has meant that "data is extracted from databases and put into XML documents and vice-versa". It may prove more efficient (in terms of conversion costs) and easier to store the data in XML format.

Database model
Common models

Hierarchical
Network
Relational
Object-relational
Object

Other models

Associative
Concept-oriented
Multi-dimensional
Star schema
XML database

Native XML databases

The term "native XML database" (NXD) can lead to confusion. Many NXDs do not function as standalone databases at all, and do not really store the native (text) form.

The formal definition from the XML:DB consortium states that a native XML database:

  • Defines a (logical) model for an XML document — as opposed to the data in that document — and stores and retrieves documents according to that model. At a minimum, the model must include elements, attributes, PCDATA, and document order. Examples of such models include the XPath data model, the XML Infoset, and the models implied by the DOM and the events in SAX 1.0.
  • Has an XML document as its fundamental unit of (logical) storage, just as a relational database has a row in a table as its fundamental unit of (logical) storage.
  • Need not have any particular underlying physical storage model. For example, NXDs can use relational, hierarchical, or object-oriented database structures, or use a proprietary storage format (such as indexed, compressed files).

Additionally, many XML databases provide a logical model of grouping documents, called "collections". Databases can set up and manage many collections at one time. In some implementations, a hierarchy of collections can exist, much in the same way that an operating system's directory-structure works.

All XML databases now support at least one form of querying syntax. Minimally, just about all of them support XPath for performing queries against documents or collections of documents. XPath provides a simple pathing system that allows users to identify nodes that match a particular set of criteria.

In addition to XPath, many XML databases support XSLT as a method of transforming documents or query-results retrieved from the database. XSLT provides a declarative language written using an XML grammar. It aims to define a set of XPath filters that can transform documents (in part or in whole) into other formats including Plain text, XML, HTML, or PDF.

Not all XML databases support XQuery to perform querying. XQuery includes XPath as a node-selection method, but extends XPath to provide transformational scaffolding. Users sometimes refer to its syntax as "FLWOR" (pronounced 'Flower') because the flow may include the following statements: 'For', 'Let', 'Where', 'Order' and 'Return'.

Some XML databases support an API called the XML:DB API (or XAPI) as a form of implementation-independent access to the XML datastore. In XML databases, XAPI resembles ODBC and JDBC as used with relational databases.

Databases known to support XML:DB API (XAPI)

The following XML databases are known to provide an implementation of the XML:DB API defined by the XML:DB Initiative.

XML Database License Support Notes
Apache XIndice Open source, free Yes XIndice Version 1.1 released 9th May 2007
Gemfire Enterprise Commercial Yes  
DOMSafeXML Commercial Yes  
eXist Open source, free Yes TransactionService (ACID Transactions) not supported
MonetDB/XQuery Open source, free Yes  
myXMLDB Open source, free Yes Works on top of MySQL; seems to have been discontinued long ago.
OZONE Open source, free Yes 100% support including TransactionService (ACID).
Sedna Open source, free Yes 100% support, including TransactionService (ACID).
Software AG's Tamino Commercial Partial Lacks update support, XUpdateQueryService, or any other Update language not implemented.

[edit] Implementations

External references

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表




推荐百度知道

推荐Babylon翻译软件

Powered By Z-Blog 1.7 Laputa Build 70216

Copyright by China3view.com. *