• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      對象代理數(shù)據(jù)庫跨類查詢與代理對象查詢的索引結(jié)構(gòu)分析

      2012-01-01 00:00:00雷蕓
      電腦知識與技術(shù) 2012年3期


        摘要:數(shù)據(jù)庫技術(shù)的發(fā)展促使其在不同領(lǐng)域得到了廣泛的應(yīng)用。包括數(shù)字圖書館等在內(nèi)的一些新的應(yīng)用領(lǐng)域?qū)?shù)據(jù)庫的應(yīng)用提出了更高的要求。而在這些新的應(yīng)用領(lǐng)域中,多會涉及到一些復(fù)雜的、非傳統(tǒng)形式的數(shù)據(jù)。而對象代理數(shù)據(jù)庫能較好地支持各種非傳統(tǒng)形式的數(shù)據(jù)類型,可以對各種復(fù)雜的數(shù)據(jù)類型實(shí)施有效的管理,而且對象代理數(shù)據(jù)庫引入的對象代理數(shù)據(jù)庫跨類查詢與代理對象查詢的索引結(jié)構(gòu),現(xiàn)在提高了數(shù)據(jù)庫跨類查詢的效率。該文主要從對象代理數(shù)據(jù)庫跨類查詢索引結(jié)構(gòu)的設(shè)計(jì)、對象代理數(shù)據(jù)庫跨類查詢索引機(jī)制的實(shí)現(xiàn)以及一種基于代理對象查詢機(jī)制索引結(jié)構(gòu)的說明這三個方面來對對象代理數(shù)據(jù)庫跨類查詢與代理對象查詢的索引結(jié)構(gòu)作詳細(xì)的分析。
        關(guān)鍵詞:對象代理數(shù)據(jù)庫;庫跨類查詢;代理對象查詢;索引結(jié)構(gòu)
        中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)03-0502-02
         1對象代理數(shù)據(jù)庫跨類查詢索引結(jié)構(gòu)的設(shè)計(jì)
        1.1對象代理數(shù)據(jù)庫跨類查詢概述
        在對象代理數(shù)據(jù)庫中,一個對象會對應(yīng)一個相應(yīng)的標(biāo)識符,而對象間的關(guān)系就是由相應(yīng)的對象所對應(yīng)的標(biāo)識符之間的關(guān)系來體現(xiàn)的。對象之間的關(guān)系是數(shù)據(jù)庫實(shí)現(xiàn)跨類查詢的基礎(chǔ)。通過數(shù)據(jù)庫查詢語言中那些支持跨類查詢的描述和支持跨類查詢處理操作的描述,從而完成對象代理數(shù)據(jù)庫跨類查詢的操作。
        1.2認(rèn)識對象代理數(shù)據(jù)庫跨類查詢索引結(jié)構(gòu)
        基于對象代理數(shù)據(jù)庫的對象代理數(shù)據(jù)庫跨類查詢索引結(jié)構(gòu)多是依靠對象間的雙向指針連接、跨類查詢處理以及跨類查詢描述進(jìn)行設(shè)計(jì)的。其中跨類查詢處理以及跨類查詢描述是依賴于對象間的雙向指針連接的。1.2.1對象間的雙向指針連接數(shù)據(jù)庫中的每一個對象都具有一個唯一的對象標(biāo)識符,系統(tǒng)可以根據(jù)對象相對應(yīng)的標(biāo)識符以及這些對象之間所建立的聯(lián)系,借助這些對象彼此間建立的雙向指針連接來表示這些對象之間的相互聯(lián)系。其中用于描述對象之間相互關(guān)系的雙向指針連接,包括指針連接的建立和指針連接的刪除這兩個方面。
        1)指針連接的建立。當(dāng)數(shù)據(jù)庫系統(tǒng)在創(chuàng)建那些屬于不同類而且彼此之間具有相互聯(lián)系的對象時,數(shù)據(jù)庫系統(tǒng)會根據(jù)相應(yīng)的對象所對應(yīng)的標(biāo)識符,通過建立這些對象彼此之間的指針連接來表示這些對象之間的相互關(guān)系。
        2)指針連接的刪除。當(dāng)數(shù)據(jù)庫系統(tǒng)中某個對象被刪除時,數(shù)據(jù)庫系統(tǒng)會將那些與這個被刪除的對象之間相關(guān)的指針連接自動刪除。
        1.2.2跨類查詢處理
        在數(shù)據(jù)庫跨類查詢處理時,會以某個初始類中的對象為出發(fā)點(diǎn),通過對象之間的指針連接,來尋找目標(biāo)類中的對象,并使用跨類查詢的目標(biāo)表達(dá)式,對目標(biāo)類中的對象進(jìn)行計(jì)算,其中的計(jì)算結(jié)果即是跨類查詢的結(jié) 果。1.2.3跨類查詢描述
        在數(shù)據(jù)庫查詢語言中,數(shù)據(jù)庫查詢語言中包含描述跨類查詢的語法,可以有效支持跨類查詢描述定義的相關(guān)操作。其中包括路徑表達(dá)式以及和類路徑表達(dá)式相似的形式。
         2對象代理數(shù)據(jù)庫跨類查詢索引機(jī)制的實(shí)現(xiàn)
        2.1對象代理數(shù)據(jù)庫系統(tǒng)對對象之間的雙向指針連接自動維護(hù)的實(shí)現(xiàn)2.1.1具有聯(lián)系的對象之間雙向指針連接的自動創(chuàng)建數(shù)據(jù)庫系統(tǒng)在創(chuàng)建一個類中的對象時會根據(jù)其為每個對象所分配的相應(yīng)的標(biāo)識符,找到與該對象具有聯(lián)系的其他所有的對象,然后數(shù)據(jù)庫系統(tǒng)中把這些用于描述對象之間相互關(guān)系的雙向指針連接記錄下來,而這些用于描述對象之間相互關(guān)系的雙向指針連接是由新創(chuàng)建對象所對應(yīng)的標(biāo)識符以及其所屬類所對應(yīng)的標(biāo)識符、關(guān)聯(lián)對象所對應(yīng)的標(biāo)識符以及關(guān)聯(lián)對象所屬類所對應(yīng)的標(biāo)識符組成的。這些對象間可能存在著1:m或1:1的關(guān)系,對于1:m的關(guān)系,則可通過多對的用于描述對象之間相互關(guān)系的雙向指針連接來記錄這些對象彼此之間的關(guān)系。而對于1:1的關(guān)系,可以通過一對用于描述對象之間相互關(guān)系的雙向指針連接來記錄這兩個對象之間的關(guān)系。
         2.1.2具有聯(lián)系的對象之間雙向指針連接的自動刪除
        數(shù)據(jù)庫系統(tǒng)在刪除某個類的其中一個對象的時候,數(shù)據(jù)庫系統(tǒng)會在記錄中自動找到那些與該被刪除的對象之間所有的指針連接,并自動將這些指針連接從數(shù)據(jù)庫系統(tǒng)中刪除掉。2.2跨類查詢的描述在進(jìn)行跨類查詢的描述時,需要具備跨類查詢的起點(diǎn)類和終點(diǎn)類、跨類查詢所要經(jīng)歷的路徑、跨類查詢的目標(biāo)表達(dá)式等幾項(xiàng)內(nèi)容。其中對跨類查詢的方向沒有明確的規(guī)定,其方向即可以是單向的也可以是雙向的。2.3跨類查詢的執(zhí)行
        跨類查詢的執(zhí)行就是以某個初始類中的對象為出發(fā)點(diǎn),通過對象之間的指針連接來尋找目標(biāo)類中的對象,并使用跨類查詢的目標(biāo)表達(dá)式,將目標(biāo)對象表達(dá)式的計(jì)算結(jié)果返回??珙惒樵儓?zhí)行的具體步驟如下:
        1)根據(jù)跨類查詢命令,確定目標(biāo)類與初始類之間的類路徑,然后在確定類路徑之后,還需要對其正確性進(jìn)行檢查,要檢查該類路徑中是否存在回路以及類路徑中前后兩個類之間是否具有某種語義上的關(guān)聯(lián)。
        2)對于初始類中的每一個對象,要在跨類查詢路徑所涉及的所有類之間查找具有相互聯(lián)系的對象,一直到找到屬于目標(biāo)類的相關(guān)對象為止。由于這些具有相互聯(lián)系的對象之間可能存在著1:m或1:1的關(guān)系,對于1:m的關(guān)系,則尋找與前一個類中的某一個對象具有相互聯(lián)系的后一個類中的多個對象,然后一直重復(fù)上述的查詢處理過程,直到所有的相關(guān)對象取完為止。對于1:1的關(guān)系,則尋找與前一個類中的某一個對象具有相互聯(lián)系的后一個類中的相應(yīng)的某一個對象。
        3)采用相應(yīng)的數(shù)據(jù)庫表達(dá)式計(jì)算方法,并借助跨類查詢所設(shè)定的目標(biāo)類上的表達(dá)式,來對目標(biāo)類上的對象進(jìn)行計(jì)算,完成跨類查詢的處理操作。
        2.4路徑表達(dá)式的計(jì)算
        對象代理數(shù)據(jù)庫查詢處理模塊的路徑表達(dá)式計(jì)算的具體步驟如下:
        1)驗(yàn)證路徑表達(dá)式的正確性。一個正確的路徑表達(dá)要滿足如下兩個方面的條件:一是正確的路徑表達(dá)要求前后兩個類之間要具有直接的代理關(guān)系,其中二者可以互為代理關(guān)系,或者其中一個類為另外一個類的代理類;二是正確的路徑表達(dá)要求路徑表達(dá)式的目標(biāo)表達(dá)式必須是滿足路徑目標(biāo)類屬性要求的一個計(jì)算表達(dá)式。
        2)數(shù)據(jù)庫系統(tǒng)對初始類中的每一個對象進(jìn)行掃描的時候,要根據(jù)相應(yīng)的索引結(jié)構(gòu),對路徑表達(dá)式所涉及的所有類,然后按照深度優(yōu)先遍歷算法查找這些類中具有相互聯(lián)系的對象之間的代理關(guān)系,一直到找到目標(biāo)類上的相應(yīng)的對象為止。由于路徑表達(dá)式的表達(dá)方向不明確,既可以是雙向的也可以是單向的,所以查找的源點(diǎn)即可以是源代理類,也可以是目標(biāo)代理類。
        3)完成上述操作找到目標(biāo)類上的對象后,還需要結(jié)合路徑表達(dá)式的目標(biāo)表達(dá)式,按照數(shù)據(jù)庫表達(dá)式的計(jì)算方法,對目標(biāo)表達(dá)式進(jìn)行計(jì)算,并要把最終的計(jì)算結(jié)果返回。
         3一種基于代理對象查詢機(jī)制的索引結(jié)構(gòu)
        PNI即路徑導(dǎo)航索引是基于代理對象查詢機(jī)制而且支持路徑表達(dá)式高效計(jì)算的一種索引結(jié)構(gòu),以下就以路徑導(dǎo)航索引為例來對代理對象查詢的索引結(jié)構(gòu)進(jìn)行說明。3.1路徑導(dǎo)航索引結(jié)構(gòu)的組成路徑導(dǎo)航索引結(jié)構(gòu)主要由Identity-Index、Path-Instance-Table、Attribute-Index這三部分組成。其中Path-Instance-Table用于存儲路徑的實(shí)例,而Identity-Index和Attribute-Index的建立是以Path-Instance-Table為基礎(chǔ)的,Identity-Index和Attribute-Index的建立可以有效的實(shí)現(xiàn)快速的路徑實(shí)例檢索。
        3.2路徑導(dǎo)航索引結(jié)構(gòu)的說明3.2.1 Path-Instance-Table
        Path-Instance-Table翻譯成漢語即路徑實(shí)例表,顧名思義,路徑實(shí)例表就是一張用來存儲給定路徑的所有實(shí)例的表,而且路徑實(shí)例表中的每個元組對應(yīng)一個具體的路徑實(shí)例。數(shù)據(jù)庫系統(tǒng)根據(jù)對象之間的代理關(guān)系,在不同的代理層次中,會給定相應(yīng)層次的一個不同的路徑。也就是說,可以通過對象間的代理關(guān)系來確定這些對象所有的路徑實(shí)例。
        路徑實(shí)例表中存儲的不是完整的對象實(shí)例,其中只存儲了組成路徑實(shí)例的所有代理對象的OID。在給定的一條路徑即P=C1→C2→…→Cn,該路徑所對應(yīng)的Path-Instance-Table的模式為[S1:OID,S2:OID,…,Sn:OID],其長度路徑為n-1,是一個具有n列的路徑實(shí)例表,而且每列的數(shù)據(jù)類型都是為OID的數(shù)據(jù)類型,即是取值范圍為C1到Cn的所有實(shí)例的OID數(shù)據(jù)類型的數(shù)據(jù)集合,而路徑實(shí)例表的每一行對應(yīng)Path-Instance-Table的一個路徑實(shí)例。
        其中Path-Instance-Table即路徑實(shí)例表在設(shè)計(jì)時需要做到如下兩點(diǎn):
        1)對于互為逆路徑的兩條路徑,只存儲其中的一個路徑實(shí)例,這樣看以節(jié)省存儲開銷。因?yàn)閷τ谌我饪赡媛窂絇及其逆路徑P′,將組成P的每一個路徑實(shí)例的對象序列進(jìn)行順序置換后就可以得到P′的路徑實(shí)例。
        2)如果路徑實(shí)例表存儲的是完整的路徑實(shí)例,在計(jì)算路徑表達(dá)式時,需要找到路徑實(shí)例的最后一個對象實(shí)例,通過投影計(jì)算,推出路徑表達(dá)式的結(jié)果。如果路徑實(shí)例表存儲的只是存儲路徑實(shí)例中的第一個和最后一個實(shí)例,需要進(jìn)行一次對象遍歷以存取路徑實(shí)例上相應(yīng)的對象實(shí)例,然后進(jìn)行路徑表達(dá)式的計(jì)算。
        3.2.2 Identity-Index
        在路徑實(shí)例表上建立Identity-Index,可以快速的實(shí)現(xiàn)路徑實(shí)例的檢索。其中Identity-Index是通過在路徑實(shí)例表的每一列上建立一個以O(shè)ID作為記錄關(guān)鍵字的B+樹索引來實(shí)現(xiàn)的。其中addr1到addrn是包含有記錄關(guān)鍵字OID的路徑實(shí)例對應(yīng)路徑實(shí)例表相應(yīng)元組的物理地址,PagePointer是指向索引樹下一層結(jié)點(diǎn)的指針。
        3.2.3 Attribute-Index
        在路徑實(shí)例表上建立Attribute-Index,可以有效減少路徑表達(dá)式計(jì)算的開銷。Attribute-Index是將路徑上某個代理類對象的屬性值映射到包含該對象的路徑實(shí)例信息上。其中Key-length是索引屬性的長度,Key-value是索引記錄的關(guān)鍵字。
         4結(jié)束語
        結(jié)論:對象代理數(shù)據(jù)庫跨類查詢與代理對象查詢作為支持那些非傳統(tǒng)的復(fù)雜數(shù)據(jù)查詢的兩種重要的查詢方法,在當(dāng)前的數(shù)據(jù)庫查詢應(yīng)用領(lǐng)域得到了廣泛的應(yīng)用。而對象代理數(shù)據(jù)庫跨類查詢與代理對象查詢方法的實(shí)現(xiàn)是以其所采用的索引結(jié)構(gòu)為基礎(chǔ)的,索引結(jié)構(gòu)的設(shè)計(jì)和優(yōu)化直接決定著對象代理數(shù)據(jù)庫跨類查詢與代理對象查詢這兩種數(shù)據(jù)庫查詢方法的查詢效率,因此如何實(shí)現(xiàn)基于對象代理數(shù)據(jù)庫跨類查詢機(jī)制索引結(jié)構(gòu)的優(yōu)化以及基于代理對象查詢機(jī)制索引結(jié)構(gòu)的優(yōu)化,將成為今后數(shù)據(jù)庫數(shù)據(jù)查詢研究領(lǐng)域的一項(xiàng)重要研究課題。
        參考文獻(xiàn):
        [1]王國仁.路徑表達(dá)式的算法研究[J].計(jì)算

      岗巴县| 龙陵县| 友谊县| 海盐县| 贡山| 广昌县| 满城县| 内乡县| 开远市| 扬州市| 保山市| 肇源县| 安仁县| 宁津县| 江阴市| 岑巩县| 陆良县| 长子县| 新平| 金门县| 谢通门县| 普格县| 乌拉特前旗| 西华县| 广元市| 绥阳县| 勐海县| 达日县| 扬中市| 托克托县| 申扎县| 若尔盖县| 太和县| 齐河县| 南丰县| 全南县| 青田县| 临朐县| 中阳县| 康乐县| 泾川县|