What Is an XML Database?

An XML database is a data management system that supports operations such as storing and querying documents in XML (an application under the standard universal markup language) format. In the system, developers can query, export, and serialize specified formats of XML documents in the database.

XLM is essentially just a
versus
There are two main ways to manage XML data with a database. One is to expand the corresponding functions on the basis of the existing relational database management system or object-oriented database management system, making it capable of managing XML data. It is called a database that supports XML. It is also called XML-enabled database; the second is a database management system tailored to manage XML data, which is called a native XML database, also known as a pure XML database. [2]
XML-enabled database
In order for the RDBMS to support XML storage and query, there must be an XML transformation layer. This transformation layer can be a module in the RDBMS or a middleware on top of the RDBMS. This conversion layer completes the conversion between XML data / query and relational data / query, which includes two modules: a splitter and a query translator.
The working principle is as follows: First, according to the XML schema, the splitter generates the corresponding relational schema, and the mapping of the XML schema to the relational schema is retained; then, when the XML data is loaded, the splitter will map the XML schema to the relational schema according to the XML schema. XML data is split into relational tables for storage; users submit XML queries, which are translated by the query translator, generate SQL queries, submit the relations to the relational engine for execution, and return the relational results. After the relational data is packed by the query translator, the XML results are then used. The form is returned to the user.
Currently supporting XML databases is mainly based on relational databases. The advantage of this method is that it can make full use of the existing very mature relational database technology and integrate a large amount of existing commercial data stored in the relational database, but this processing method cannot take advantage of the characteristics of XML data itself, such as structured, Features such as self-descriptiveness make it necessary to undergo multiple levels of complex transformations when processing data, such as transforming XML data into relational tables or objects when storing XML data, and transforming XML query statements into SQL or OQL statements when querying. The query results also need to be converted into XML documents, etc. Multi-level conversion will inevitably lead to a decrease in efficiency, and will also lead to the loss of some semantic information.
Native XML database
The term native XML database was first introduced by the marketing promotion of the XML database product Tamino developed by Software AG. Later, the term became a common name in similar products. But it's just a marketing term and there has never been a formal technical definition. On Ronald Bourret's website, Ronald Bourret gives a definition (but this definition is not proposed by Ronald Bourret himself), that is, an XML database that meets the following three conditions can be called a native XML database:
(1) Define a (logical) model for XML documents. XML data storage and query are based on this model. This model contains at least elements, attributes, and PCDATA to maintain document order.
(2) XML documents are used as the basic unit for (logical) storage, just as relational databases use ancestors as their basic unit for storage;
(3) It is not required to use only a specific underlying physical model or a specific storage format.
The first condition requires that the native XML database must be based on a certain model, just as a relational database is based on a relational model, and a hierarchical database is based on a hierarchical model. The second condition means that in a native XML database, the data is only meaningful in an XML document. Of course, this does not prevent querying a fragment of a document, just as in a relational database you can still query a primitive ancestor fragment (attribute Value). The third condition means that the underlying storage format is not important. In fact, many native XML databases use some traditional databases as the underlying storage engine, and of course many also use proprietary storage formats.

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?