XML查詢語言

2022-10-14 19:57:10 字數 2478 閱讀 7678

隨著網路的迅速發展和資訊的**式增長,人們需要在繁多的資料中尋找所需的資訊變得越來越困難,因此,資訊查詢系統的研究與發展成為乙個熱點問題。然而,當前的資訊查詢系統存在一些普遍的缺陷與弱點:資訊查詢存在盲目性和偶然性,缺乏明確的目標,查詢效率低、查詢速度慢、 不能找到有效資料;並且在當前研究的一些高效的資訊查詢系統多是基於查詢語言的優化或查詢策略的改變。

本文則從具有可伸縮性的路由機制入手介紹了一種基於xml及其資料過濾的高速資訊查詢系統設計方案。

本系統採用三層結構:即介面層、中間層和資料層。

其結構如圖1所示:

圖1 (1) 介面層即資訊查詢的目標資訊輸入層和查詢結果的輸出層。它可以採用網路瀏覽器作為使用者的互動介面。 (2) 中間層將輸入的查詢目標轉化為xml文件中將查詢要求轉化為xquery表示式(為了更好的發揮xml的特性,我們採用xquery 作為資訊查詢語言),,並將查詢結果通過xml文件返回給介面層。

(3) 資料層由於當前資料庫的型別、品牌和執行平台各不相同,我們需要將各種不同的資料進行整合來形成一種異構資料庫整合的xml文件來供xml資料過濾從中查詢資訊。

(1)xml 隨著web服務的廣泛應用,為了更好的描述資訊資料,xml的重要性也越來越突出,。

(2)xquery語言 xml 查詢技術的發展也伴隨著xml技術的廣泛應用而發展。各種xml查詢語言相繼問世,例如早期的xml-ql、xql、unql,後來的quilt、 xpath以及xquery。xquery語言是當前普遍應用的一種基於xml的資料查詢和查詢的語言。

xquery是在quilt基礎上發展起來的語言。在w3c的極力推動和各界的大力支援下,xquery逐漸在這些語言中脫穎而出成為事實上的工業標準。xquery語言的基本結構是表示式,它由關鍵詞、符號、運算元構成。

xquery表示式的模式包括:路徑表示式、元素構造符、flew表示式、運算元和函式表示式、條件表示式、限定表示式、列表表示式、資料型別表示式。

(3) 資料層中基於xml的異構資料庫資訊整合由於xml文件和資料庫資料在結構上存在很多差異。xml文件是巢狀的多層次結構、資料長度和型別都不規則, 資料間的關係通過父元素與子元素的巢狀形式實現;關係型資料庫中的資料是以二維表的形式存在,資料間的關係通過主外來鍵的方式體現。因此在資料轉化過程中可以採用xml與資料庫模式的對映機制。

xml資訊存入關聯式資料庫需要利用xml schema與關係模型的對應關係,將xml文件轉化為關聯式資料庫。它包括兩種方法:一種是將xml檔案作為資料庫的表的乙個字段列入一段中(作為乙個 clob物件存入)。

另一種方法是將xml檔案拆分,將其屬性、元素等分別作為字段儲存到資料庫中,並保持原來資料之間的關係。第一種方式雖然儲存了 xml的結構,但是它將xml作為乙個字段直接存入資料庫的表中,但在查詢過程中由於沒有使用關聯式資料庫的優勢,因此查詢效率很低。第二種方法將xml文件進行拆分,再作為**的字段存入表中,這種方式很好的儲存了原有關聯式資料庫字段之間的關係,可以利用關聯式資料庫的查詢工具有效的提高查詢效率。

本文採用的就是第二種轉化方式,下面給出了一段**採用此方式的對映結構圖: <?xml version="1.

0" ?>

empire

bob10.90

1985

hide

tylor

9.90

1988

hits

dolly

9.70

1982

對映後形成的表如下:

。 4 xml資料過濾的設計與實現對於不同的xml資料需要定義不同的過濾策略和方法,並且要充分利用查詢語言和查詢路徑的特點來充分的過濾 xml資料來提高查詢效率。對於查詢語言xquery來說,選擇正確的優化方法改寫xquery表示式可有效的提高查詢效率;為了更好的提高查詢效率可以通過網路路由管理xquery表示式的優化,並且通過設計良好的網路路由策略實現並行優化機制,不但提高了查詢效能也提高了查詢速度。

具體的xml資料過濾的模型結構如圖2所示

圖2 xml資料過濾基於xml資料過濾的工作步驟如下: (1)將介面層使用者輸入的查詢目標資訊即查詢請求用xml查詢語言xquery表示式表示出來。 (2)通過xml查詢直譯器將xquery表示式進行合理的轉化與分析,並且選擇恰當的路由資料過濾策略對轉化為xml文件的資料庫資訊通過sql語句查詢。

在此過程中基於xml路由的資料過濾策略通過網路傳輸中的路由器的搭配的不同而產生了兩種資料過濾策略。 一種策略是資料共享策略:每個xml路由器都完全管理xquery表示式,負載平衡器根據負載平衡策略把xml文件分配給唯一的xml路由器,xml路由器根據其相應的索引結構使用匹配演算法找到相應的xquery表示式。

其結構如圖3所示。

圖3 資料共享策略另一種策略是過濾共享策略:每個路由器都平等的共享xquery表示式,並且管理一套各不相同的xquery表示式,所有路由器都參與xml文件的過濾。其結構如圖4:

圖4 過濾共享策略這兩種策略都是採用了並行機制,由多個多層索引結構組織的xml路由器過濾時間和空間消耗。第一種策略能增大並行處理檔案的個數。第二種策略能最小化過濾延時時間。

(3)將sql查詢的結果轉化成xml文件。 (4)將xml文件中的查詢結果通過介面層呈現給使用者。

基於XML資料庫的安全查詢處理

摘要首先對現有的xml索引的不同方法進行綜述,介紹xml索引中的相關概念,闡述典型的xml索引的構建方法和主要技術,分析現有索引的特點和存在的問題,展望xml索引未來的發展方向及其面臨的挑戰。關鍵詞xml索引 特點 發展方向 xml是extensible markup language的縮寫,即可擴...

XML命名規範

xml 元素必須遵循以下命名規則 名稱可以含字母 數字以及其他的字元 名稱不能以數字或者標點符號開始 名稱不能以字元 xml 或者 xml xml 開始 名稱不能包含空格 可使用任何名稱,沒有保留的字詞。最佳命名習慣 使名稱具有描述性。使用下劃線的名稱也很不錯。名稱應當比較簡短,比如 而不是 避免 ...

ASP資料庫查詢語言教程

在本篇的開頭,我要感謝一些朋友來信給我指出了前幾篇文章中的錯誤。不知大家是否記得在第八篇中我舉了乙個簡單的利用 application 製作的頁面訪問計數器?有位朋友來信問我,為何當他改變計數器起始變數 numvisits 的值後對最後的記數結果沒有任何作用?起初我也大惑不解,讓我們來回憶一下這段源...