XBRL數(shù)據(jù)的存儲(chǔ)離不開(kāi)數(shù)據(jù)庫(kù)技術(shù)。目前,XBRL應(yīng)用采用的存儲(chǔ)方式主要可以分為文件存儲(chǔ)方式、關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)方式和原生XML數(shù)據(jù)庫(kù)存儲(chǔ)方式。
一、文件存儲(chǔ)方式。XBRL一般以實(shí)例文檔的文本文件的形式直接存儲(chǔ)在計(jì)算機(jī)的文件系統(tǒng)中。XBRL實(shí)例文檔即是XML文件,也是自描述文檔,這種文件完全可以數(shù)據(jù)存儲(chǔ)方式來(lái)存儲(chǔ)數(shù)據(jù)。但是,這種“簡(jiǎn)易”存儲(chǔ)方式,由于缺少數(shù)據(jù)庫(kù)管理系統(tǒng)的高效存儲(chǔ)組織、索引、事務(wù)處理、觸發(fā)器、數(shù)據(jù)完整性和多用戶管理等功能,在對(duì)大量XBRL數(shù)據(jù)進(jìn)行處理時(shí),其效率和安全性是比較差的,無(wú)法滿足業(yè)務(wù)高性能存儲(chǔ)的要求。
二、關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)方式。關(guān)系型數(shù)據(jù)庫(kù)是當(dāng)今應(yīng)用最廣的一類數(shù)據(jù)庫(kù),其技術(shù)也是最成熟的。基于關(guān)系數(shù)據(jù)庫(kù)的XML數(shù)據(jù)存儲(chǔ),將XML數(shù)據(jù)分解到若干關(guān)系表中存儲(chǔ),充分利用關(guān)系型數(shù)據(jù)庫(kù)已有資源和成熟技術(shù)來(lái)管理XML數(shù)據(jù)。在關(guān)系數(shù)據(jù)庫(kù)模式下,XML查詢操作轉(zhuǎn)化為一系列關(guān)系查詢操作,利用關(guān)系查詢處理和優(yōu)化機(jī)制來(lái)響應(yīng)查詢。不過(guò),由于XML數(shù)據(jù)大都是半結(jié)構(gòu)化或者非結(jié)構(gòu)化的數(shù)據(jù),而關(guān)系數(shù)據(jù)都是結(jié)構(gòu)化數(shù)據(jù),兩者之間存在本質(zhì)上的差異,因而將XML數(shù)據(jù)分解到關(guān)系存儲(chǔ)需要經(jīng)過(guò)映射,這種映射有時(shí)會(huì)導(dǎo)致一些信息的丟失。
三、原生XML數(shù)據(jù)庫(kù)存儲(chǔ)方式。一般認(rèn)為,滿足以下三個(gè)條件的XML數(shù)據(jù)庫(kù)才能稱之為原生數(shù)據(jù)庫(kù):第一,為XML文檔定義了一個(gè)邏輯模型,XML數(shù)據(jù)的存儲(chǔ)和查詢都是基于這個(gè)模型。第二,將XML文檔作為邏輯存儲(chǔ)的基本單位,就像關(guān)系數(shù)據(jù)庫(kù)將元組作為它存儲(chǔ)的基本單位一樣。第三,不要求只能使用某一特定的底層物理模型或某種專有的存儲(chǔ)格式。