HOME

TheInfoList



OR:

An XML database is a data persistence software system that allows data to be specified, and stored, in
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
format. This data can be queried, transformed, exported and returned to a calling system. XML databases are a flavor of document-oriented databases which are in turn a category of
NoSQL NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
database.


Rationale for XML as a database format

Reasons to store data in XML format as an XML database include: * An enterprise may have numerous XML documents with similar data, but dispersed in different XML formats. Conglomerating this data into a singular, standardized XML database structure will avoid compatibility issues * Data may need to be exposed or ingested as XML, so using another format such as relational forces double-modeling of the data * XML is very well suited to parse data, deeply nested data and mixed content (such as text with embedded markup tags) * XML is human readable whereas relational tables require expertise to access *
Metadata Metadata (or metainformation) is "data that provides information about other data", but not the content of the data itself, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive ...
is often available as XML * Semantic web data is available as RDF/XML * Provides a solution for Object-relational impedance mismatch Steve O'Connell 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. In content-based applications, the ability of the native XML database also minimizes the need for extraction or entry of metadata to support searching and navigation.


XML-enabled databases

XML-enabled databases typically offer one or more of the following approaches to storing XML within the traditional relational structure: #XML is stored into a CLOB ( Character large object) #XML is `shredded` into a series of Tables based on a Schema. Sectio
Creating XMLType Tables and Columns Based on XML Schema
/ref> #XML is stored into a native XML Type as defined by ISO Standard 9075-14 RDBMS that support the ISO XML Type are: #IBM DB2 (pureXML) #Microsoft SQL Server #Oracle Database #PostgreSQL Typically an XML-enabled database is best suited where the majority of data are non-XML. For datasets where the majority of data are XML, a native XML database is better suited.


Example of XML Type Query in IBM DB2 SQL

select id, vol, xmlquery('$j/name', passing journal as "j") as name from journals where xmlexists('$j icence="CreativeCommons", passing journal as "j")


Integration with Relational Databases

XML databases are often used in combination with relational databases to manage and store hierarchical data. A significant challenge in such integrations is extracting XML documents from relational databases, which requires specialized techniques and tools. These techniques often include: # Mapping Relational Data to XML: Schema mapping is a critical process that defines how relational tables correspond to XML elements and attributes. # XQuery Processing: Querying XML data extracted from relational databases may involve XQuery, a language designed for querying and transforming XML. One of the most common scenario involves converting relational data into XML documents to facilitate standards with systems relying on XML-based standards, such as web services or APIs. This process is important in applications where structured and semi-structured data co-exist and must be integrated perfectly. For example, extracting hierarchical data from relational databases and converting it into XML is a common approach when generating XML feeds, exchanging data between systems, or implementing XML-based configurations.


Native XML databases

Native XML databases are especially tailored for working with XML data. As managing XML as large strings would be inefficient, and due to the hierarchical nature of XML, custom optimized data structures are used for storage and querying. This usually increases performance both in terms of read-only queries and updates. XML nodes and documents are the fundamental unit of (logical) storage, just as a
relational database A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970. A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
has fields and rows. The standard for querying XML data per W3C recommendation is XQuery; the latest version is XQuery 3.1. XQuery includes
XPath XPath (XML Path Language) is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) in 1999, and can be used to compute values (e.g., strings, numbers, or ...
as a sub-language and XML itself is a valid sub-syntax of XQuery. In addition to XPath, some XML databases support XSLT as a method of transforming documents or query results retrieved from the database.


Language features


Supported APIs


Data-centric XML datasets

For data-centric XML datasets, the unique and distinct keyword search method, namely, XDMA for XML databases is designed and developed based on dual indexing and mutual summation.


References

{{Databases XML Data management Data modeling Database management systems