版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
13.3XML查詢語言Xquery
面對XML數(shù)據(jù)量的指數(shù)級的增長,必然要求更有效的數(shù)據(jù)管理能力和更快、更精確的查詢。因此,如何從XML數(shù)據(jù)源中準(zhǔn)確有效地查詢所需信息,也就變得越來越重要。要做到這一點,必須要有一個讓你能夠準(zhǔn)確地獲得所需信息、更新XML數(shù)據(jù)源中數(shù)據(jù)的可表達的查詢語言,XQuery正是這樣的語言。
XQuery是一種將查詢表示成表達式的功能語言。通過它所支持的多種表達式,它的查詢可以有各種不同的形式,各種XQuery表達式可以完全嵌套,也支持子查詢。目前,數(shù)據(jù)庫業(yè)界的三大主流廠商Oracle、IBM、Microsoft都已經(jīng)在各自的產(chǎn)品中提供了對XQuery規(guī)范的支持。
13.3.1XQuery概述
13.3.2XQuery語法簡介1.文字與注釋2.?dāng)?shù)值類型3.XQuery的模塊結(jié)構(gòu)
XQuery模塊包括三個部分:名字空間和模式聲明、函數(shù)定義、查詢表達式。其中模式聲明和函數(shù)定義不是必需的。4.XPath路徑表達式
5.條件表達式
6.算術(shù)表達式與布爾表達式
7.FLWR表達式
13.3.3FLWR查詢FLWR描述了典型XQuery的結(jié)構(gòu)。在FLWR語句中,數(shù)據(jù)被綁定到變量,然后,再在后續(xù)步驟使用該變量。FLWR例句:FOR$bINdocument("Ch10-5-1.xml")/bib/vendor/bookWHERE$b/price=102AND$b/year="2001"RETURN$b/title相當(dāng)于SQL語句:selectb.titlefrombib.vendor.bookasbwhereb.price=102andb.year='2000'結(jié)果為:<title>Office2000VBA編程技術(shù)</title>13.3.4查詢深入
在FLWR查詢語句中,還可以使用if…then…else…這樣的選擇結(jié)構(gòu):
if<條件表達式>then<表達式一>else<表達式二>除路徑表達式和FLWR表達式之外,XQuery還有5種基本的表達式模式:元素構(gòu)造符、算子和函數(shù)表達式、條件表達式、限定表達式、列表構(gòu)造符、數(shù)據(jù)類型表達式。通過它們的多種組合,可以產(chǎn)生具有豐富而強大的查詢檢索功能的查詢語句。
13.4基于關(guān)系數(shù)據(jù)庫的XML處理
在XML數(shù)據(jù)和關(guān)系數(shù)據(jù)庫之間有兩個問題,一個問題是如何將存儲于關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)用XML的形式表達出來,即XML的發(fā)布問題;另一個問題是如何將XML數(shù)據(jù)存儲于關(guān)系數(shù)據(jù)庫中,并能提供基于XML查詢語言的查詢。圖13-3表示了XML存儲和查詢系統(tǒng)的體系結(jié)構(gòu)。
13.4基于關(guān)系數(shù)據(jù)庫的XML處理(2)13.4.1關(guān)系數(shù)據(jù)的XML發(fā)布
為了在XML和數(shù)據(jù)庫之間傳輸數(shù)據(jù),需要在文檔結(jié)構(gòu)和數(shù)據(jù)庫結(jié)構(gòu)之間進行相互的映射,這樣的映射通常分為兩大類:模板驅(qū)動和模式驅(qū)動。1.模板驅(qū)動的映射這種方法的原理是首先定義一個模板,然后在模板中嵌入SQL指令,這些命令將交給數(shù)據(jù)庫關(guān)系系統(tǒng)進行執(zhí)行。
2.模型驅(qū)動的映射模型驅(qū)動的映射是指數(shù)據(jù)從數(shù)據(jù)庫到XML文檔的傳送用一個具體的模型。它通過在DTD/Schemas中定義數(shù)據(jù)模型的方法,建立數(shù)據(jù)庫中數(shù)據(jù)與XML文檔中數(shù)據(jù)的映射。
13.4.2將XML文檔中的數(shù)據(jù)裝入關(guān)系數(shù)據(jù)庫
將XML文檔中的數(shù)據(jù)裝入關(guān)系數(shù)據(jù)庫有兩種通用的方法。一種是可以將整個文檔輸入到數(shù)據(jù)庫的列中。其二就是可以將文檔“撕碎”后放到多個關(guān)系型表格中。第二種方法充分利用了數(shù)據(jù)庫的查詢引擎和強大的更新功能,但是從不規(guī)則XML數(shù)據(jù)到SQL的映射比從SQL到XML的映射要困難得多。
13.4.3關(guān)系式數(shù)據(jù)中產(chǎn)生XML文檔
在SQLServer2000中通過使用SELECT語句可以把查詢結(jié)果存儲為XML文檔而不是通常意義上的結(jié)果集,這樣通過比原來少得多的編碼就可以使Web應(yīng)用或其他應(yīng)用直接使用XML文檔。將關(guān)系數(shù)據(jù)庫的查詢結(jié)果顯示成XML文檔是通過FORXML語句來完成的。在使用FORXML語句的同時可以指定XML的MODE(RAW、AUTO、EXPLICIT)以及XMLDATA的模式(Schema)。13.4.3關(guān)系式數(shù)據(jù)中產(chǎn)生XML文檔(2)FORXML語句的語法規(guī)則為:FORXMLmode[,XMLDATA][,ELEMENTS][,BINARYBASE64]各參數(shù)的含義說明如下:
(1)mode:指定XML模式。XML模式?jīng)Q定所得到的XML的形式,mode共有三種取值,即RAW、AUTO、EXPLICIT。
(2)XMLDATA:指定應(yīng)返回XML-Data架構(gòu),文檔的架構(gòu)被預(yù)先設(shè)計為內(nèi)嵌式架構(gòu)。(3)ELEMENTS:如果指定ELEMENTS選項,則列作為子元素返回;否則,列將映射到XML特性。只有在AUTO模式下才支持該選項。
(4)BINARYBASE64:如果指定BINARYBase64選項,則查詢所返回的任何二進制數(shù)據(jù)都用base64編碼格式表示。小結(jié)XML是跨平臺的數(shù)據(jù)交換語言,也被認(rèn)為是一種跨平臺的數(shù)據(jù)交換語言,因此本章對其進行了簡單的介紹。本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024藝術(shù)品拍賣與宣傳推廣綜合服務(wù)合同3篇
- 2025年度環(huán)保設(shè)施PPP項目合作合同范本3篇
- 2025年度智能車庫產(chǎn)權(quán)交易合同范本4篇
- 2025年度文化產(chǎn)業(yè)園開發(fā)與租賃合同3篇
- 2025年企事業(yè)單位食堂承包與托管全面合作協(xié)議12篇
- 2025年度廠長任期項目投資與風(fēng)險管理合同3篇
- 2025年中投中財基金管理有限公司招聘筆試參考題庫含答案解析
- 2025年中化集團中化能源物流公司招聘筆試參考題庫含答案解析
- 二零二五版美容院專業(yè)護膚技術(shù)研發(fā)與轉(zhuǎn)讓合同4篇
- 二零二五版門窗安裝工程環(huán)保驗收合同2篇
- MT/T 199-1996煤礦用液壓鉆車通用技術(shù)條件
- GB/T 6144-1985合成切削液
- GB/T 10357.1-2013家具力學(xué)性能試驗第1部分:桌類強度和耐久性
- 第三方在線糾紛解決機制(ODR)述評,國際商法論文
- 第5章-群體-團隊溝通-管理溝通
- 腎臟病飲食依從行為量表(RABQ)附有答案
- 深基坑-安全教育課件
- 園林施工管理大型園林集團南部區(qū)域養(yǎng)護標(biāo)準(zhǔn)圖例
- 排水許可申請表
- 低血糖的觀察和護理課件
- 計量檢定校準(zhǔn)技術(shù)服務(wù)合同協(xié)議書
評論
0/150
提交評論