數(shù)據(jù)庫系統(tǒng)原理-第十一章 半結(jié)構(gòu)化數(shù)據(jù)模型_第1頁
數(shù)據(jù)庫系統(tǒng)原理-第十一章 半結(jié)構(gòu)化數(shù)據(jù)模型_第2頁
數(shù)據(jù)庫系統(tǒng)原理-第十一章 半結(jié)構(gòu)化數(shù)據(jù)模型_第3頁
數(shù)據(jù)庫系統(tǒng)原理-第十一章 半結(jié)構(gòu)化數(shù)據(jù)模型_第4頁
數(shù)據(jù)庫系統(tǒng)原理-第十一章 半結(jié)構(gòu)化數(shù)據(jù)模型_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第11章章 半結(jié)構(gòu)化數(shù)據(jù)模型半結(jié)構(gòu)化數(shù)據(jù)模型 11.1 半機(jī)構(gòu)化數(shù)據(jù)11.2 XMLPage 111.1 半結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù) 半結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù)SSD 它是一種適于數(shù)據(jù)庫集成的數(shù)據(jù)模型,即適于描述包含它是一種適于數(shù)據(jù)庫集成的數(shù)據(jù)模型,即適于描述包含在兩個或多個數(shù)據(jù)庫在兩個或多個數(shù)據(jù)庫(這些數(shù)據(jù)庫含有不同模式的相似這些數(shù)據(jù)庫含有不同模式的相似數(shù)據(jù)數(shù)據(jù))中的數(shù)據(jù);中的數(shù)據(jù); 它是一種標(biāo)記服務(wù)的基礎(chǔ)模型,用于它是一種標(biāo)記服務(wù)的基礎(chǔ)模型,用于Web上共享信息。上共享信息。 為何需要半結(jié)構(gòu)化數(shù)據(jù)模型為何需要半結(jié)構(gòu)化數(shù)據(jù)模型 可以看成是可以看成是E/R模型和模型和OO模型的混合模型的混合 類

2、類/聯(lián)系;類聯(lián)系;類/關(guān)系關(guān)系 關(guān)系模型成功的一大原因在于它簡化了系統(tǒng)的高效關(guān)系模型成功的一大原因在于它簡化了系統(tǒng)的高效實現(xiàn),而實現(xiàn),而SSD模型的關(guān)注原因是靈活性模型的關(guān)注原因是靈活性SSD是無模式的。本身就指明了其模式,且該模是無模式的。本身就指明了其模式,且該模式會不斷變化式會不斷變化2 半結(jié)構(gòu)化數(shù)據(jù)表示半結(jié)構(gòu)化數(shù)據(jù)表示 SSD的數(shù)據(jù)庫是節(jié)點的集合,每個節(jié)點都是一個葉子節(jié)的數(shù)據(jù)庫是節(jié)點的集合,每個節(jié)點都是一個葉子節(jié)點或者一個內(nèi)部節(jié)點;點或者一個內(nèi)部節(jié)點; 根節(jié)點:沒有進(jìn)入的弧,它代表整個數(shù)據(jù)庫,每個節(jié)根節(jié)點:沒有進(jìn)入的弧,它代表整個數(shù)據(jù)庫,每個節(jié)點都從根可達(dá);點都從根可達(dá); 葉子節(jié)點:與

3、數(shù)據(jù)相關(guān),數(shù)據(jù)的類型可以是任意原子葉子節(jié)點:與數(shù)據(jù)相關(guān),數(shù)據(jù)的類型可以是任意原子類型,如數(shù)字或字符串;類型,如數(shù)字或字符串; 內(nèi)部節(jié)點:至少有一條向外的弧,每條弧都有一個標(biāo)內(nèi)部節(jié)點:至少有一條向外的弧,每條弧都有一個標(biāo)簽,指明弧開始處的節(jié)點與弧末端的節(jié)點之間的關(guān)系簽,指明弧開始處的節(jié)點與弧末端的節(jié)點之間的關(guān)系。Page 3例例11.1 關(guān)于電影與影星的半結(jié)構(gòu)化數(shù)據(jù)庫關(guān)于電影與影星的半結(jié)構(gòu)化數(shù)據(jù)庫Page 4 SSD表示表示 Root節(jié)點:有出無入節(jié)點:有出無入 每個節(jié)點都可從每個節(jié)點都可從root到達(dá),但這個圖未必是一棵樹到達(dá),但這個圖未必是一棵樹 其中的其中的cf/mh/sw是三個邏輯節(jié)點,

4、即只是為了表示和引是三個邏輯節(jié)點,即只是為了表示和引用方便,本身不屬于數(shù)據(jù)庫;用方便,本身不屬于數(shù)據(jù)庫; 從節(jié)點從節(jié)點N出發(fā)到達(dá)節(jié)點出發(fā)到達(dá)節(jié)點M的弧上的標(biāo)簽的弧上的標(biāo)簽L可擔(dān)任下面兩個可擔(dān)任下面兩個角色之一:角色之一: N表示的是一個對象或?qū)嶓w,而表示的是一個對象或?qū)嶓w,而M表示表示N的一個屬性的一個屬性,那么,那么L表示該屬性的名字;表示該屬性的名字; N和和M都是對象或?qū)嶓w,都是對象或?qū)嶓w,L就是從就是從N到到M的一個聯(lián)系的的一個聯(lián)系的名字。名字。例例11.2。注意。注意cf到到name/address的弧標(biāo)簽是屬性名;的弧標(biāo)簽是屬性名;address到到street/city的弧標(biāo)簽是

5、域名;的弧標(biāo)簽是域名;cf到到sw的弧標(biāo)簽是的弧標(biāo)簽是聯(lián)系名聯(lián)系名Page 5 信息集成與半結(jié)構(gòu)化數(shù)據(jù)信息集成與半結(jié)構(gòu)化數(shù)據(jù) SSD模型是自描述的,模式與數(shù)據(jù)附著在一起模型是自描述的,模式與數(shù)據(jù)附著在一起 每個非根節(jié)點的入弧的標(biāo)簽表示該節(jié)點在弧起點節(jié)點每個非根節(jié)點的入弧的標(biāo)簽表示該節(jié)點在弧起點節(jié)點中的角色(屬性中的角色(屬性/域域/聯(lián)系等)聯(lián)系等) 將將SSD的特點應(yīng)用于信息集成的特點應(yīng)用于信息集成 同時訪問多個數(shù)據(jù)庫,例如合并多個庫中的數(shù)據(jù)集,同時訪問多個數(shù)據(jù)庫,例如合并多個庫中的數(shù)據(jù)集,如果這些數(shù)據(jù)庫的模式一致,則元組直接合并;如果這些數(shù)據(jù)庫的模式一致,則元組直接合并; 信息集成中需要解決

6、數(shù)據(jù)的異構(gòu)性信息集成中需要解決數(shù)據(jù)的異構(gòu)性數(shù)據(jù)模式:如圖數(shù)據(jù)模式:如圖11-1中影星的地址中影星的地址數(shù)據(jù)模型:關(guān)系模型、面向?qū)ο髷?shù)據(jù)模型:關(guān)系模型、面向?qū)ο?如果模式不同,且合并要考慮遺留數(shù)據(jù)庫問題如果模式不同,且合并要考慮遺留數(shù)據(jù)庫問題數(shù)據(jù)庫一般是持續(xù)運行的,不允許因為要復(fù)制數(shù)數(shù)據(jù)庫一般是持續(xù)運行的,不允許因為要復(fù)制數(shù)據(jù)到另一個數(shù)據(jù)庫而將其關(guān)閉(即使可以得出從據(jù)到另一個數(shù)據(jù)庫而將其關(guān)閉(即使可以得出從某一模式到另一模式的最有效途徑)某一模式到另一模式的最有效途徑)Page 6 信息集成與半結(jié)構(gòu)化數(shù)據(jù)信息集成與半結(jié)構(gòu)化數(shù)據(jù) 異構(gòu)數(shù)據(jù)集成的解決方案:外加接口異構(gòu)數(shù)據(jù)集成的解決方案:外加接口 接

7、口支持接口支持SSD,接口導(dǎo)入分布庫數(shù)據(jù)源的數(shù)據(jù),轉(zhuǎn)換為,接口導(dǎo)入分布庫數(shù)據(jù)源的數(shù)據(jù),轉(zhuǎn)換為作為中間數(shù)據(jù)的作為中間數(shù)據(jù)的SSD并存儲;并存儲; 數(shù)據(jù)庫中的源數(shù)據(jù)通過數(shù)據(jù)庫中的源數(shù)據(jù)通過wrapper/adapter組件的翻譯功能組件的翻譯功能進(jìn)行轉(zhuǎn)換。圖進(jìn)行轉(zhuǎn)換。圖11-2 另一種解決方案另一種解決方案接口只負(fù)責(zé)將查詢傳遞給數(shù)據(jù)源,并返回在數(shù)據(jù)源中接口只負(fù)責(zé)將查詢傳遞給數(shù)據(jù)源,并返回在數(shù)據(jù)源中相應(yīng)模式的引用(接口最后只保留一些指針)相應(yīng)模式的引用(接口最后只保留一些指針)Page 7例例11.3 例子描述中兩個影星數(shù)據(jù)來自不同結(jié)構(gòu)(模式)的例子描述中兩個影星數(shù)據(jù)來自不同結(jié)構(gòu)(模式)的數(shù)據(jù)庫。要

8、進(jìn)行跨庫查詢則有兩種可能數(shù)據(jù)庫。要進(jìn)行跨庫查詢則有兩種可能 通過第一種接口將數(shù)據(jù)庫物理合并為通過第一種接口將數(shù)據(jù)庫物理合并為SSD形式再進(jìn)行形式再進(jìn)行查詢查詢 將查詢分別傳遞給兩個庫,各自完成具體查詢工作將查詢分別傳遞給兩個庫,各自完成具體查詢工作后向接口返回引用指針。后繼應(yīng)用需要具體結(jié)果時后向接口返回引用指針。后繼應(yīng)用需要具體結(jié)果時可根據(jù)引用指針取到值可根據(jù)引用指針取到值 習(xí)題習(xí)題11.1.5。UML模型和模型和SSD模型的本質(zhì)區(qū)別?模型的本質(zhì)區(qū)別? SSD中的節(jié)點表示實體,中的節(jié)點表示實體,UML中的節(jié)點表示實體集中的節(jié)點表示實體集Page 811.2 XML 什么是什么是XML(Exte

9、nsible Markup Language)? XML與與HTMLXML不象不象HTML那樣,提供那樣,提供了一組事先定義好了的標(biāo)記,而是了一組事先定義好了的標(biāo)記,而是,利用這個標(biāo)準(zhǔn),用戶可以根據(jù)實際需要定義自己的標(biāo)記。此外更利用這個標(biāo)準(zhǔn),用戶可以根據(jù)實際需要定義自己的標(biāo)記。此外更重要的是,重要的是,XML描述的是結(jié)構(gòu)和語義而不是格式。描述的是結(jié)構(gòu)和語義而不是格式。 介紹介紹XML的目的的目的 XML在在HTML的數(shù)據(jù)內(nèi)容表示基礎(chǔ)上,進(jìn)一步描述了文的數(shù)據(jù)內(nèi)容表示基礎(chǔ)上,進(jìn)一步描述了文檔內(nèi)部信息之間的層次關(guān)系檔內(nèi)部信息之間的層次關(guān)系 XML的基本原理與前一節(jié)中的的基本原理與前一節(jié)中的SSD相同

10、,特別是相同,特別是XML中中標(biāo)簽的功能與標(biāo)簽的功能與SSD中的弧功能相同中的弧功能相同 這些相似性特點使得這些相似性特點使得XML成為成為SSD模型的一種典型實現(xiàn)模型的一種典型實現(xiàn)Page 9 語義標(biāo)簽語義標(biāo)簽 用尖括號括起來的文本,往往成對出現(xiàn),稱為用尖括號括起來的文本,往往成對出現(xiàn),稱為開始標(biāo)簽和結(jié)束標(biāo)簽;開始標(biāo)簽和結(jié)束標(biāo)簽; 標(biāo)簽之間可以出現(xiàn)包含文本和嵌套標(biāo)簽,一對標(biāo)簽之間可以出現(xiàn)包含文本和嵌套標(biāo)簽,一對匹配標(biāo)簽和出現(xiàn)在它們之間的一切內(nèi)容稱為元匹配標(biāo)簽和出現(xiàn)在它們之間的一切內(nèi)容稱為元素;素; hello! NewYork 非成對標(biāo)簽不能包含任何元素或文本,但可以非成對標(biāo)簽不能包含任何元

11、素或文本,但可以有屬性。有屬性。 Page 10 有模式和無模式的有模式和無模式的XML 格式規(guī)范的格式規(guī)范的(Well-Formed) 格式正確的格式正確的XML文檔遵守文檔遵守XML語法,但沒有文檔語法,但沒有文檔類型定義類型定義DTD(Document Type Definition)或模式)或模式定義。定義。 合法的(合法的(Valid) 包括一個包括一個DTD(文檔定義類型文檔定義類型),它定義了允許使用,它定義了允許使用的標(biāo)簽和使用標(biāo)簽的語法的標(biāo)簽和使用標(biāo)簽的語法(如何嵌套使用如何嵌套使用),合法的,合法的XML文檔既遵守文檔既遵守XML語法規(guī)則也遵守在其語法規(guī)則也遵守在其DTD或

12、或模式中定義的規(guī)則。模式中定義的規(guī)則。 Page 11 格式規(guī)范的格式規(guī)范的XML 要求該文檔以一個要求該文檔以一個XML聲明開始,同時有一個根元素,它聲明開始,同時有一個根元素,它是文本的整個主體。是文本的整個主體。 例例11.4 與圖與圖11-1對應(yīng)的對應(yīng)的XML文檔文檔Page 12 注意圖注意圖11-2中數(shù)據(jù)信息的層次結(jié)構(gòu)中數(shù)據(jù)信息的層次結(jié)構(gòu) 該該XML文檔并不表現(xiàn)聯(lián)系文檔并不表現(xiàn)聯(lián)系starsIn 可以將每位影星對應(yīng)的電影信息放在可以將每位影星對應(yīng)的電影信息放在段中,但是這種做法會導(dǎo)致電影信息的冗余(可通過段中,但是這種做法會導(dǎo)致電影信息的冗余(可通過后面介紹的屬性列表方法解決)后面

13、介紹的屬性列表方法解決)Page 13 屬性屬性 一個一個XML元素可以在開始標(biāo)簽中有屬性元素可以在開始標(biāo)簽中有屬性(名稱名稱-數(shù)值對數(shù)值對); 屬性是另一種標(biāo)識半結(jié)構(gòu)化數(shù)據(jù)葉子節(jié)點的方屬性是另一種標(biāo)識半結(jié)構(gòu)化數(shù)據(jù)葉子節(jié)點的方法,把圖法,把圖11-3的的元素替換為;元素替換為; 還可把兩個子節(jié)點都當(dāng)成屬性還可把兩個子節(jié)點都當(dāng)成屬性 或或Page 14 連接元素的屬性連接元素的屬性 屬性的一個重要用途是在一個非樹形的半結(jié)構(gòu)屬性的一個重要用途是在一個非樹形的半結(jié)構(gòu)化數(shù)據(jù)圖中表示連接?;瘮?shù)據(jù)圖中表示連接。Page 15 命名空間命名空間 解決不同數(shù)據(jù)源中的標(biāo)簽重名問題;為了在同一文檔中解決不同數(shù)據(jù)源

14、中的標(biāo)簽重名問題;為了在同一文檔中區(qū)分不同詞匯表中的標(biāo)簽,可以為一組標(biāo)簽使用一個命區(qū)分不同詞匯表中的標(biāo)簽,可以為一組標(biāo)簽使用一個命名空間;名空間; xmlns:name=“URI” URI(統(tǒng)一資源標(biāo)識符統(tǒng)一資源標(biāo)識符)是一個指向一個文檔的是一個指向一個文檔的URL,該,該文檔中描述了命名空間中的標(biāo)簽含義。文檔中描述了命名空間中的標(biāo)簽含義。例例11.7 假設(shè)圖假設(shè)圖11-5的元素的元素StarMovieData中的標(biāo)簽屬于文檔中的標(biāo)簽屬于文檔/movies中定義的命名空間:中定義的命名空間:Page 16 XML和數(shù)據(jù)庫和數(shù)據(jù)庫 XML作為一種整合多個數(shù)

15、據(jù)庫的視圖,使用一作為一種整合多個數(shù)據(jù)庫的視圖,使用一種專門的種專門的XML查詢語言來訪問;查詢語言來訪問; 數(shù)據(jù)庫中存儲數(shù)據(jù)庫中存儲XML的方法:的方法: 以解析的形式存儲以解析的形式存儲XML數(shù)據(jù),并提供一個工具庫以數(shù)據(jù),并提供一個工具庫以該形式導(dǎo)航數(shù)據(jù);該形式導(dǎo)航數(shù)據(jù); 兩種解析形式:兩種解析形式:SAX和和DOM SAX是一種事件驅(qū)動接口,是一種事件驅(qū)動接口,以順序的方式來處理文檔,以順序的方式來處理文檔,采用采用了基于事件的方式來處理了基于事件的方式來處理XML文檔文檔 根據(jù)文檔的內(nèi)容建立一個棵文檔結(jié)點樹,然后利用樹模型中根據(jù)文檔的內(nèi)容建立一個棵文檔結(jié)點樹,然后利用樹模型中各種對象或

16、接口的方法來訪問各種對象或接口的方法來訪問XML文檔中的信息。文檔中的信息。 把文檔和它們的元素表示為關(guān)系,并使用傳統(tǒng)的關(guān)系把文檔和它們的元素表示為關(guān)系,并使用傳統(tǒng)的關(guān)系DBMS來存儲它們。來存儲它們。Page 17以簡單以簡單XML文檔為例說明文檔為例說明SAX解析器的工作原理:解析器的工作原理: 事件事件1:文檔開始:文檔開始(Start document) 事件事件2:元素開始:元素開始(Start element) 事件事件3:字符數(shù)據(jù):字符數(shù)據(jù)(Characters) 事件事件4:元素結(jié)束:元素結(jié)束(End element) 事件事件5:文檔結(jié)束:文檔結(jié)束(End document)

17、Page 18 下圖表示解析器在讀取文檔時何時產(chǎn)生相關(guān)的事件:下圖表示解析器在讀取文檔時何時產(chǎn)生相關(guān)的事件: XMLXML文檔文檔 歡迎來到創(chuàng)新電腦公司!歡迎來到創(chuàng)新電腦公司! SAXSAX產(chǎn)生的事件序列產(chǎn)生的事件序列 Start documentStart element(GREETING)Characters(歡迎來到創(chuàng)新電腦公司?。g迎來到創(chuàng)新電腦公司?。?End element(GREETING)End documentPage 19DOM定義定義 文檔對象模型文檔對象模型DOM將將XML文檔模型化為一棵結(jié)點文檔模型化為一棵結(jié)點樹,其中每一個樹,其中每一個XML語法成分語法成分(如元

18、素、屬性、文如元素、屬性、文本內(nèi)容等本內(nèi)容等)都用一個結(jié)點表示。都用一個結(jié)點表示。 DOM利用對象利用對象(node對象等對象等)來模型化文檔,對象描來模型化文檔,對象描述了文檔的數(shù)據(jù)結(jié)構(gòu),還描述了數(shù)據(jù)的行為。述了文檔的數(shù)據(jù)結(jié)構(gòu),還描述了數(shù)據(jù)的行為。 DOM提供提供“隨機(jī)訪問隨機(jī)訪問”機(jī)制,以實現(xiàn)對整個機(jī)制,以實現(xiàn)對整個XML文檔的全面、動態(tài)訪問。它允許用戶隨意訪問文檔文檔的全面、動態(tài)訪問。它允許用戶隨意訪問文檔的任何一部分,并允許修改、刪除或插入新的數(shù)據(jù)的任何一部分,并允許修改、刪除或插入新的數(shù)據(jù)。Page 20 將將XML文檔表示為關(guān)系文檔表示為關(guān)系 為每一個文檔和文檔中的每個元素分配一個唯為每一個文檔和文檔中的每個元素分配一個唯一的一的ID,對于文檔,對于文檔,ID可以是它的可以是它的URL或在文或在文件系統(tǒng)中的路徑;件系統(tǒng)中的路徑; DocRoot (docID, rootElementID) SubElement (parentID, childID,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論