Existem vários motivos para especificar diretamente dados em XML ou outros formatos de documentos, como o JSON. Para XML em particular, eles incluem:
An enterprise may have a lot of XML in an existing standard formatData may need to be exposed or ingested as XML, so using another format such as relational forces double-modeling of the dataXML is very well suited to sparse data, deeply nested data and mixed content (such as text with embedded markup tags)XML is human readable whereas relational tables require expertise to accessMetadata is often available as XMLSemantic web data is available as RDF/XMLProvides a solution for Object-relational impedance mismatchSteve O'Connell fornece um motivo para o uso de XML nos bancos de dados: o uso cada vez mais comum de XML para transporte de dados, o que significa que "os dados são extraídos dos bancos de dados e colocados em documentos XML e vice-versa". [Atualização de necessidades] Pode ser mais eficiente (em termos de custos de conversão) e mais fácil armazenar os dados no formato XML. Em aplicativos baseados em conteúdo, a capacidade do banco de dados XML nativo também minimiza a necessidade de extração ou entrada de metadados de apoiar a pesquisa e a navegação.
Os bancos de dados habilitados para XML geralmente oferecem uma ou mais das seguintes abordagens para armazenar XML na estrutura relacional tradicional:
XML is stored into a CLOB (Character large object)XML is `shredded` into a series of Tables based on a SchemaXML is stored into a native XML Type as defined by ISO Standard 9075-14RDBMS que suportam o tipo ISO XML são:
IBM DB2 (pureXML )Microsoft SQL ServerOracle DatabasePostgreSQLNormalmente, um banco de dados habilitado para XML é mais adequado, onde a maioria dos dados não é XML. Para conjuntos de dados em que a maioria dos dados é XML, um banco de dados XML nativo é mais adequado.
Os bancos de dados XML nativos são especialmente adaptados para trabalhar com dados XML. Como o gerenciamento do XML como cordas grandes seria ineficiente e, devido à natureza hierárquica do XML, as estruturas de dados otimizadas personalizadas são usadas para armazenamento e consulta. Isso geralmente aumenta o desempenho, tanto em termos de consultas e atualizações somente leitura. Os nós e documentos XML são a unidade fundamental do armazenamento (lógico), assim como um banco de dados relacional possui campos e linhas.
O padrão para consultar dados XML por recomendação W3C é o XQuery; A versão mais recente é XQuery 3.1. O XQuery inclui o XPath como sub-linguagem e o próprio XML é um sub-sinax válido do XQuery. Além do XPath, alguns bancos de dados XML suportam o XSLT como um método de transformação de documentos ou resultados de consulta recuperados do banco de dados.
Para conjuntos de dados XML centrados em dados, o método de pesquisa de palavras-chave exclusivo e distinto, a saber, o XDMA for XML Bathabases é projetado e desenvolvido com base na indexação dupla e no somatório mútuo.