XMLデータベースは、データをXML形式で指定および保存できるデータ永続化ソフトウェアシステムです。このデータは、クエリ、変換、エクスポート、および呼び出し元システムへの返却が可能です。XMLデータベースは、ドキュメント指向データベースの一種であり、ドキュメント指向データベースはデータベースの一種です。
XMLデータベースとしてデータをXML形式で保存する理由には、次のものがあります。[ 1 ] [ 2 ]
XML対応データベースは通常、従来のリレーショナル構造内にXMLを格納するために、以下のいずれかの方法を提供します。
ISO XMLタイプをサポートするRDBMSは以下のとおりです。
一般的に、XML対応データベースは、データの大部分が非XML形式である場合に最適です。一方、データの大部分がXML形式であるデータセットの場合は、ネイティブXMLデータベースの方が適しています。
select id , vol , xmlquery ( '$j/name' , passing journal as "j" ) as name from journals where xmlexists ( '$j[licence="CreativeCommons"]' , passing journal as "j" )ネイティブ XML データベースは、特に XML データを扱うために設計されています。XML を大きな文字列として管理するのは非効率的であり、また XML の階層構造のため、ストレージとクエリにはカスタム最適化されたデータ構造が使用されます。これにより、読み取り専用クエリと更新の両方のパフォーマンスが向上します。[ 10 ] XML ノードとドキュメントは、リレーショナル データベースのフィールドと行と同様に、(論理的な) ストレージの基本単位です。
W3C勧告によるXMLデータのクエリの標準はXQueryであり、最新バージョンはXQuery 3.1です。[ 11 ] XQueryにはサブ言語としてXPathが含まれており、XML自体もXQueryの有効なサブ構文です。XPathに加えて、一部のXMLデータベースは、データベースから取得したドキュメントやクエリ結果を変換する方法としてXSLTをサポートしています。