版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
13.3XML查詢語(yǔ)言Xquery
面對(duì)XML數(shù)據(jù)量的指數(shù)級(jí)的增長(zhǎng),必然要求更有效的數(shù)據(jù)管理能力和更快、更精確的查詢。因此,如何從XML數(shù)據(jù)源中準(zhǔn)確有效地查詢所需信息,也就變得越來(lái)越重要。要做到這一點(diǎn),必須要有一個(gè)讓你能夠準(zhǔn)確地獲得所需信息、更新XML數(shù)據(jù)源中數(shù)據(jù)的可表達(dá)的查詢語(yǔ)言,XQuery正是這樣的語(yǔ)言。
XQuery是一種將查詢表示成表達(dá)式的功能語(yǔ)言。通過(guò)它所支持的多種表達(dá)式,它的查詢可以有各種不同的形式,各種XQuery表達(dá)式可以完全嵌套,也支持子查詢。目前,數(shù)據(jù)庫(kù)業(yè)界的三大主流廠商Oracle、IBM、Microsoft都已經(jīng)在各自的產(chǎn)品中提供了對(duì)XQuery規(guī)范的支持。
13.3.1XQuery概述
13.3.2XQuery語(yǔ)法簡(jiǎn)介1.文字與注釋2.?dāng)?shù)值類型3.XQuery的模塊結(jié)構(gòu)
XQuery模塊包括三個(gè)部分:名字空間和模式聲明、函數(shù)定義、查詢表達(dá)式。其中模式聲明和函數(shù)定義不是必需的。4.XPath路徑表達(dá)式
5.條件表達(dá)式
6.算術(shù)表達(dá)式與布爾表達(dá)式
7.FLWR表達(dá)式
13.3.3FLWR查詢FLWR描述了典型XQuery的結(jié)構(gòu)。在FLWR語(yǔ)句中,數(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語(yǔ)句:selectb.titlefrombib.vendor.bookasbwhereb.price=102andb.year='2000'結(jié)果為:<title>Office2000VBA編程技術(shù)</title>13.3.4查詢深入
在FLWR查詢語(yǔ)句中,還可以使用if…then…else…這樣的選擇結(jié)構(gòu):
if<條件表達(dá)式>then<表達(dá)式一>else<表達(dá)式二>除路徑表達(dá)式和FLWR表達(dá)式之外,XQuery還有5種基本的表達(dá)式模式:元素構(gòu)造符、算子和函數(shù)表達(dá)式、條件表達(dá)式、限定表達(dá)式、列表構(gòu)造符、數(shù)據(jù)類型表達(dá)式。通過(guò)它們的多種組合,可以產(chǎn)生具有豐富而強(qiáng)大的查詢檢索功能的查詢語(yǔ)句。
13.4基于關(guān)系數(shù)據(jù)庫(kù)的XML處理
在XML數(shù)據(jù)和關(guān)系數(shù)據(jù)庫(kù)之間有兩個(gè)問(wèn)題,一個(gè)問(wèn)題是如何將存儲(chǔ)于關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)用XML的形式表達(dá)出來(lái),即XML的發(fā)布問(wèn)題;另一個(gè)問(wèn)題是如何將XML數(shù)據(jù)存儲(chǔ)于關(guān)系數(shù)據(jù)庫(kù)中,并能提供基于XML查詢語(yǔ)言的查詢。圖13-3表示了XML存儲(chǔ)和查詢系統(tǒng)的體系結(jié)構(gòu)。
13.4基于關(guān)系數(shù)據(jù)庫(kù)的XML處理(2)13.4.1關(guān)系數(shù)據(jù)的XML發(fā)布
為了在XML和數(shù)據(jù)庫(kù)之間傳輸數(shù)據(jù),需要在文檔結(jié)構(gòu)和數(shù)據(jù)庫(kù)結(jié)構(gòu)之間進(jìn)行相互的映射,這樣的映射通常分為兩大類:模板驅(qū)動(dòng)和模式驅(qū)動(dòng)。1.模板驅(qū)動(dòng)的映射這種方法的原理是首先定義一個(gè)模板,然后在模板中嵌入SQL指令,這些命令將交給數(shù)據(jù)庫(kù)關(guān)系系統(tǒng)進(jìn)行執(zhí)行。
2.模型驅(qū)動(dòng)的映射模型驅(qū)動(dòng)的映射是指數(shù)據(jù)從數(shù)據(jù)庫(kù)到XML文檔的傳送用一個(gè)具體的模型。它通過(guò)在DTD/Schemas中定義數(shù)據(jù)模型的方法,建立數(shù)據(jù)庫(kù)中數(shù)據(jù)與XML文檔中數(shù)據(jù)的映射。
13.4.2將XML文檔中的數(shù)據(jù)裝入關(guān)系數(shù)據(jù)庫(kù)
將XML文檔中的數(shù)據(jù)裝入關(guān)系數(shù)據(jù)庫(kù)有兩種通用的方法。一種是可以將整個(gè)文檔輸入到數(shù)據(jù)庫(kù)的列中。其二就是可以將文檔“撕碎”后放到多個(gè)關(guān)系型表格中。第二種方法充分利用了數(shù)據(jù)庫(kù)的查詢引擎和強(qiáng)大的更新功能,但是從不規(guī)則XML數(shù)據(jù)到SQL的映射比從SQL到XML的映射要困難得多。
13.4.3關(guān)系式數(shù)據(jù)中產(chǎn)生XML文檔
在SQLServer2000中通過(guò)使用SELECT語(yǔ)句可以把查詢結(jié)果存儲(chǔ)為XML文檔而不是通常意義上的結(jié)果集,這樣通過(guò)比原來(lái)少得多的編碼就可以使Web應(yīng)用或其他應(yīng)用直接使用XML文檔。將關(guān)系數(shù)據(jù)庫(kù)的查詢結(jié)果顯示成XML文檔是通過(guò)FORXML語(yǔ)句來(lái)完成的。在使用FORXML語(yǔ)句的同時(shí)可以指定XML的MODE(RAW、AUTO、EXPLICIT)以及XMLDATA的模式(Schema)。13.4.3關(guān)系式數(shù)據(jù)中產(chǎn)生XML文檔(2)FORXML語(yǔ)句的語(yǔ)法規(guī)則為:FORXMLmode[,XMLDATA][,ELEMENTS][,BINARYBASE64]各參數(shù)的含義說(shuō)明如下:
(1)mode:指定XML模式。XML模式?jīng)Q定所得到的XML的形式,mode共有三種取值,即RAW、AUTO、EXPLICIT。
(2)XMLDATA:指定應(yīng)返回XML-Data架構(gòu),文檔的架構(gòu)被預(yù)先設(shè)計(jì)為內(nèi)嵌式架構(gòu)。(3)ELEMENTS:如果指定ELEMENTS選項(xiàng),則列作為子元素返回;否則,列將映射到XML特性。只有在AUTO模式下才支持該選項(xiàng)。
(4)BINARYBASE64:如果指定BINARYBase64選項(xiàng),則查詢所返回的任何二進(jìn)制數(shù)據(jù)都用base64編碼格式表示。小結(jié)XML是跨平臺(tái)的數(shù)據(jù)交換語(yǔ)言,也被認(rèn)為是一種跨平臺(tái)的數(shù)據(jù)交換語(yǔ)言,因此本章對(duì)其進(jìn)行了簡(jiǎn)單的介紹。本
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 后勤人員工作計(jì)劃6篇
- 2024社會(huì)實(shí)踐調(diào)研報(bào)告模板5篇
- 2024年建筑涂料色漿項(xiàng)目合作計(jì)劃書(shū)
- 提升倉(cāng)庫(kù)運(yùn)營(yíng)效率數(shù)字化轉(zhuǎn)型的方案計(jì)劃
- 幼兒園親子活動(dòng)計(jì)劃
- 娛樂(lè)場(chǎng)所保安工作計(jì)劃
- 2024出納工作周計(jì)劃怎么寫(xiě)(18篇)
- 發(fā)展社區(qū)經(jīng)濟(jì)的策略研究計(jì)劃
- 2023年長(zhǎng)沙市直事業(yè)單位招聘(選調(diào))考試試題及答案
- 提高研發(fā)投入與創(chuàng)新能力的計(jì)劃
- 2023年度省綜合專家?guī)煸u(píng)標(biāo)專家繼續(xù)教育培訓(xùn)試題及答案解析(4套)
- 新視野大學(xué)英語(yǔ)(第四版)讀寫(xiě)教程2(思政智慧版) 課件 Unit3 The young generation making a difference Section A
- Zemax中文版光學(xué)設(shè)計(jì)從入門到精通
- 人教版九年級(jí)物理:典型電路作圖題20道(含答案及解析)
- 電磁超材料與天線設(shè)計(jì)
- 高考勵(lì)志名言課件
- GB/T 43389-2023市場(chǎng)、民意和社會(huì)調(diào)查數(shù)據(jù)分析方法
- 網(wǎng)絡(luò)拓?fù)渑c數(shù)據(jù)中心架構(gòu)
- 初中化學(xué)考試試題答題卡模版
- 境外礦業(yè)投資環(huán)境分析
- 零信任網(wǎng)絡(luò)安全模型:原理與實(shí)踐
評(píng)論
0/150
提交評(píng)論