前 言
預(yù)備知識:
為了使您從本資料中獲得最大的收益,建議具備以下特定的知識或經(jīng)驗:
崗前技術(shù)培訓(xùn)的相關(guān)知識
預(yù)備學(xué)習(xí)資料:
XML基礎(chǔ)了解
ORACLE基礎(chǔ)知識
資料內(nèi)容提要:
從XML知識結(jié)構(gòu)來看本身不難,但涉及的面比較廣,只有把每個細(xì)節(jié)知識點扎實應(yīng)用才能融會貫通,本文主要講XML數(shù)據(jù)庫及如何操縱XML
資料學(xué)習(xí)目標(biāo):
通過本資料的學(xué)習(xí)對新產(chǎn)品中的XML能夠熟悉操縱XML。
目 錄
第1章 XML數(shù)據(jù)庫 5
1.1 Oracle XML DB的存貯結(jié)構(gòu) 5
1.1.1 非結(jié)構(gòu)化 5
1.1.2 二進(jìn)制存儲 5
1.1.3 結(jié)構(gòu)化存儲 5
1.1.4 三種結(jié)構(gòu)比較 5
1.2 XML數(shù)據(jù)表 5
1.2.1 XML數(shù)據(jù)表 5
1.2.2 XMLTYPE列的數(shù)據(jù)表 5
1.3 生成XML數(shù)據(jù) 6
1.3.1 通過xmltype類型轉(zhuǎn)換據(jù) 6
1.4 課堂練習(xí) 6
第2章 操縱XML 7
2.1 路徑表達(dá)式 7
2.1.1 路徑表達(dá)式 7
2.1.2 課堂示范 7
2.1.3 課堂練習(xí) 7
2.2 謂語 7
2.2.1 謂語 7
2.2.2 課堂示范 8
2.2.3 課堂練習(xí) 8
2.3 新產(chǎn)品XML函數(shù)案例 8
2.3.1 EXISTSNODE 8
2.3.2 EXTRACT 8
2.3.3 UPDATEXML 8
2.3.4 DELETEXML 9
2.3.5 XMLFOREST 9
2.3.6 XMLELEMENT 9
2.3.7 SYS_XMLGEN(expr[,fmt]) 9
2.3.8 SYS_XMLAGG 10
2.3.9 XMLAGG 10
2.3.10 XMLCONCAT 10
2.3.11 XMLFOREST 10
2.4 XQUERY 10
2.4.1 表達(dá)式 10
2.4.2 課堂練習(xí) 11
2.4.3 XMLTABLE 11
第1章 XML數(shù)據(jù)庫
1.1 Oracle XML DB的存貯結(jié)構(gòu)
1.1.1 非結(jié)構(gòu)化
非結(jié)構(gòu)化即字符大對象CLOB,XML可以使用XLOB存儲,以非結(jié)構(gòu)化方式存儲在ORACLE中,以便SQL查詢不會知道該數(shù)據(jù)的結(jié)構(gòu),該數(shù)據(jù)可以使用ORACLE的XMLTYPE數(shù)據(jù)類型存儲。例子:
Create Table player of XMLType xmltype store as clob
1.1.2 二進(jìn)制存儲
它可以感知XML模式,從而可以獲得更高的磁盤空間效率和查詢性能。例子:
Create Table player of XMLType xmltype store as binary xml
1.1.3 結(jié)構(gòu)化存儲
將結(jié)構(gòu)化XML存儲實現(xiàn)為一組對象,這些對象可以通過具有可以在表間實現(xiàn)的引用約束的表以關(guān)系格式實現(xiàn)。它們也可以使用一個XMLSchema實現(xiàn),以便將一個XMLType文檔分解為一組對象。結(jié)構(gòu)化存儲比非結(jié)構(gòu)化存儲具有一些性能優(yōu)勢,選擇它可通過表和索引設(shè)計提供更多的查詢和更新優(yōu)化;缺點是插入和檢索整個文檔需要更多的開銷。例子:
Create Table player of XMLType XMLSCHEMA ‘Player.xsd’ Element ‘player’
1.1.4 三種結(jié)構(gòu)比較
效率對比 存儲 查詢 更新
結(jié)構(gòu)化 高 高 高
非結(jié)構(gòu)化 低 低 低
二進(jìn)制 中 中 中
|
|