一種xml數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法、裝置及xml數(shù)據(jù)庫的制作方法
【專利摘要】本發(fā)明提供了一種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法、裝置及XML數(shù)據(jù)庫,所述方法包括:當(dāng)一XML文檔中的XML節(jié)點(diǎn)存在修改操作時(shí),檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng)的觸發(fā)器;當(dāng)所述XML節(jié)點(diǎn)具有與所述修改操作對應(yīng)的觸發(fā)器時(shí),觸發(fā)所述觸發(fā)器。采用本發(fā)明提供的技術(shù)方案,為XML數(shù)據(jù)庫系統(tǒng)設(shè)定一組指定的動作后,并指定觸發(fā)條件后,在XML數(shù)據(jù)庫系統(tǒng)檢測到滿足觸發(fā)條件后,使得XML數(shù)據(jù)庫系統(tǒng)自動的執(zhí)行預(yù)先設(shè)定的一組指定動作完成相應(yīng)操作,用戶無需再進(jìn)行額外操作,特別是減少了用戶在進(jìn)行數(shù)據(jù)一致性的維護(hù)方面的工作。
【專利說明】-種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法、裝置及XML數(shù)據(jù)庫
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)通信領(lǐng)域,尤其涉及一種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法、裝置 及XML數(shù)據(jù)庫。
【背景技術(shù)】
[0002] XMLDBMS (XML數(shù)據(jù)庫管理系統(tǒng))是近年快速發(fā)展的一種新型的數(shù)據(jù)庫管理系 統(tǒng),它用于存儲和檢索XML文檔。XML數(shù)據(jù)的檢索和更新語言是由W3C (World Wide Web Consortium,萬維網(wǎng)聯(lián)盟)制定的標(biāo)準(zhǔn)的XQuery和XQuery Update。XQuery系列語言基于 XDM (序列數(shù)據(jù)模型),即XQuery中任意數(shù)據(jù)都是一個(gè)序列,序列由若干個(gè)有序的item (項(xiàng) 目)的組成;一個(gè)item是一個(gè)原子值或者一個(gè)XDM節(jié)點(diǎn),一個(gè)XDM節(jié)點(diǎn)是XML文檔的7種 節(jié)點(diǎn)之一?;谶@樣的數(shù)據(jù)模型,最自然和高效的XML數(shù)據(jù)存儲方案就是把XML文檔存儲 為節(jié)點(diǎn)。
[0003] 在XMLDBMS中存儲XML文檔的實(shí)體稱為容器,一個(gè)容器中存儲任意多個(gè)XML文檔, 而這個(gè)容器由若干個(gè)數(shù)據(jù)表構(gòu)成,而這些數(shù)據(jù)表分別存儲XML文檔各個(gè)方面的數(shù)據(jù)和結(jié)構(gòu) 信息:包括節(jié)點(diǎn)數(shù)據(jù),節(jié)點(diǎn)間關(guān)系,節(jié)點(diǎn)路徑數(shù)據(jù),索引,統(tǒng)計(jì)信息等。數(shù)據(jù)表存儲的單位是 數(shù)據(jù)行,一個(gè)數(shù)據(jù)表中含有若干個(gè)數(shù)據(jù)行,并且可以通過索引快速查找到特定的數(shù)據(jù)行。
[0004] 當(dāng)XML文檔被添加到一個(gè)容器后,用戶可以通過XMLDBMS所提供的相關(guān)系統(tǒng)命令 來對該文件進(jìn)行操作:列出該文檔屬性,查詢文檔中的節(jié)點(diǎn)信息,更新文檔中節(jié)點(diǎn)信息等。 但當(dāng)我們對某個(gè)文檔操作時(shí)候,我們同時(shí)希望能夠完成對其它相關(guān)節(jié)點(diǎn)的更新操作,從而 保證數(shù)據(jù)的一致性,若此應(yīng)用需求在關(guān)系數(shù)據(jù)庫中,我們可以創(chuàng)建一個(gè)觸發(fā)器來實(shí)現(xiàn)此項(xiàng) 功能。但是對于非結(jié)構(gòu)化數(shù)據(jù)庫特別是XML數(shù)據(jù)庫來說由于其不同于關(guān)系數(shù)據(jù)庫,對XML 數(shù)據(jù)庫來說由于其存儲的數(shù)據(jù)為非結(jié)構(gòu)化的數(shù)據(jù),無法做到像關(guān)系數(shù)據(jù)庫使用行級粒度的 觸發(fā)器,況且非結(jié)構(gòu)化數(shù)據(jù)庫對于觸發(fā)器的支持方式和實(shí)現(xiàn)方式上也與關(guān)系數(shù)據(jù)庫有很大 的不同。故而本發(fā)明給出了一種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法用來完成上述的功能。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本發(fā)明提供了一種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法、裝置及XML數(shù)據(jù)庫, 以解決現(xiàn)有技術(shù)中,在XML數(shù)據(jù)庫中XML文檔變化時(shí),需要用戶進(jìn)行額外的操作以維護(hù)數(shù)據(jù) 庫中的數(shù)據(jù)一致性的問題。
[0006] 為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法,包括:當(dāng)一 XML文檔中的XML節(jié)點(diǎn)存在修改操作時(shí),檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng) 的觸發(fā)器,所述觸發(fā)器包括觸發(fā)條件及被觸發(fā)后執(zhí)行的動作,所述觸發(fā)條件為所述XML節(jié) 點(diǎn)存在所述修改操作時(shí)觸發(fā)所述觸發(fā)器,所述被觸發(fā)后執(zhí)行的動作包括對所述XML文檔和 /或其他XML文檔中的相關(guān)節(jié)點(diǎn)的預(yù)設(shè)操作;當(dāng)所述XML節(jié)點(diǎn)具有與所述修改操作對應(yīng)的 觸發(fā)器時(shí),觸發(fā)所述觸發(fā)器。
[0007] 進(jìn)一步地,所述當(dāng)一 XML文檔中的XML節(jié)點(diǎn)存在修改操作時(shí),檢測所述XML節(jié)點(diǎn)是 否具有與所述修改操作對應(yīng)的觸發(fā)器之前,還包括:為所述XML節(jié)點(diǎn)創(chuàng)建與所述修改操作 對應(yīng)的觸發(fā)器。
[0008] 進(jìn)一步地,所述為所述XML節(jié)點(diǎn)創(chuàng)建與所述修改操作對應(yīng)的觸發(fā)器具體為:獲取 用戶使用XML數(shù)據(jù)庫系統(tǒng)提供的指定命令定義的觸發(fā)器創(chuàng)建語句;根據(jù)所述觸發(fā)器創(chuàng)建語 句創(chuàng)建所述觸發(fā)器。
[0009] 進(jìn)一步地,為所述XML數(shù)據(jù)庫設(shè)置觸發(fā)器信息表;所述為所述XML節(jié)點(diǎn)創(chuàng)建與所述 修改操作對應(yīng)的觸發(fā)器,具體為:將所述XML節(jié)點(diǎn)的所述修改操作對應(yīng)的觸發(fā)器存儲至所 述觸發(fā)器信息表中;所述檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng)的觸發(fā)器,具體 為:查詢所述觸發(fā)器信息表中是否存在與所述XML節(jié)點(diǎn)的所述修改操作對應(yīng)的觸發(fā)器。 [0010] 進(jìn)一步地,為所述XML數(shù)據(jù)庫設(shè)置觸發(fā)器開關(guān)選項(xiàng),所述觸發(fā)器開關(guān)選項(xiàng)包括:使 用觸發(fā)器和不使用觸發(fā)器;所述檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng)的觸發(fā)器 之前還包括:檢測所述觸發(fā)器開關(guān)選項(xiàng)是否被設(shè)置成為使用觸發(fā)器;當(dāng)檢測到所述觸發(fā)器 開關(guān)選項(xiàng)被設(shè)置成為使用觸發(fā)器時(shí),進(jìn)入檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng) 的觸發(fā)器的步驟。
[0011] 進(jìn)一步地,所述方法還包括:刪除所述XML節(jié)點(diǎn)的與所述修改操作對應(yīng)的觸發(fā)器。
[0012] 進(jìn)一步地,所述刪除所述XML節(jié)點(diǎn)的與所述修改操作對應(yīng)的觸發(fā)器具體為:獲取 用戶使用XML數(shù)據(jù)庫系統(tǒng)提供的指定命令定義的觸發(fā)器刪除語句;檢測所述XML節(jié)點(diǎn)是否 具有所述觸發(fā)器刪除語句指定的觸發(fā)器;當(dāng)所述XML節(jié)點(diǎn)具有所述觸發(fā)器時(shí),根據(jù)所述觸 發(fā)器刪除語句刪除所述觸發(fā)器。
[0013] 本發(fā)明還提供一種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)裝置,包括:第一檢測模塊,用于當(dāng)一 XML文檔中的XML節(jié)點(diǎn)存在修改操作時(shí),檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng) 的觸發(fā)器,所述觸發(fā)器包括觸發(fā)條件及被觸發(fā)后執(zhí)行的動作,所述觸發(fā)條件為所述XML節(jié) 點(diǎn)存在所述修改操作時(shí)觸發(fā)所述觸發(fā)器,所述被觸發(fā)后執(zhí)行的動作包括對所述XML文檔和 /或其他XML文檔中的相關(guān)節(jié)點(diǎn)的預(yù)設(shè)操作;觸發(fā)模塊,用于當(dāng)所述XML節(jié)點(diǎn)具有與所述修 改操作對應(yīng)的觸發(fā)器時(shí),觸發(fā)所述觸發(fā)器;創(chuàng)建模塊,用于為XML節(jié)點(diǎn)創(chuàng)建與所述修改操作 對應(yīng)的觸發(fā)器。
[0014] 進(jìn)一步地,所述裝置還包括:獲取模塊,用于獲取用戶使用XML數(shù)據(jù)庫系統(tǒng)提供的 指定命令定義的觸發(fā)器創(chuàng)建語句;所述創(chuàng)建模塊進(jìn)一步用于根據(jù)所述觸發(fā)器創(chuàng)建語句創(chuàng)建 所述觸發(fā)器。
[0015] 進(jìn)一步地,所述裝置還包括:第一設(shè)置模塊,用于為所述XML數(shù)據(jù)庫設(shè)置觸發(fā)器信 息表;所述創(chuàng)建模塊具體用于將所述XML節(jié)點(diǎn)的所述修改操作對應(yīng)的觸發(fā)器存儲至所述觸 發(fā)器信息表中;所述第一檢測模塊具體用于查詢所述觸發(fā)器信息表中是否存在與所述XML 節(jié)點(diǎn)的所述修改操作對應(yīng)的觸發(fā)器。
[0016] 進(jìn)一步地,所述裝置還包括:第二設(shè)置模塊,用于為所述XML數(shù)據(jù)庫設(shè)置觸發(fā)器開 關(guān)選項(xiàng),所述觸發(fā)器開關(guān)選項(xiàng)包括:使用觸發(fā)器和不使用觸發(fā)器;第二檢測模塊,用于檢測 所述觸發(fā)器開關(guān)選項(xiàng)是否被設(shè)置成為使用觸發(fā)器;所述第一檢測模塊具體用于當(dāng)XML文檔 中的XML節(jié)點(diǎn)存在修改操作且所述第二檢測模塊檢測到所述觸發(fā)器開關(guān)選項(xiàng)被設(shè)置成為 使用觸發(fā)器時(shí),檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng)的觸發(fā)器。
[0017] 進(jìn)一步地,所述裝置還包括:刪除模塊,用于刪除所述XML節(jié)點(diǎn)的與所述修改操作 對應(yīng)的觸發(fā)器。
[0018] 本發(fā)明還提供一種XML數(shù)據(jù)庫,包括如上所述的XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)裝置。 [0019] 本發(fā)明的上述技術(shù)方案的有益效果如下:
[0020] 本發(fā)明提供了一種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法、裝置及XML數(shù)據(jù)庫,為XML數(shù) 據(jù)庫系統(tǒng)設(shè)定一組指定的動作后,并指定觸發(fā)條件后,在XML數(shù)據(jù)庫系統(tǒng)檢測到滿足觸發(fā) 條件后,使得XML數(shù)據(jù)庫系統(tǒng)自動的執(zhí)行預(yù)先設(shè)定的一組指定動作完成相應(yīng)操作,用戶無 需再進(jìn)行額外操作,特別是減少了用戶在進(jìn)行數(shù)據(jù)一致性的維護(hù)方面的工作,同時(shí)豐富了 XMLDBMS的系統(tǒng)核心功能。
【專利附圖】
【附圖說明】
[0021] 圖1為本發(fā)明實(shí)施例1提供的XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法的流程圖。
[0022] 圖2為本發(fā)明實(shí)施例1提供的XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023] 為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具 體實(shí)施例進(jìn)行詳細(xì)描述。
[0024] 本發(fā)明針對現(xiàn)有技術(shù)中,在XML數(shù)據(jù)庫中當(dāng)XML文檔發(fā)生改變時(shí),需要用戶進(jìn)行 額外的操作以維護(hù)數(shù)據(jù)庫中的數(shù)據(jù)一致性的問題,提供了一種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方 法、裝置及XML數(shù)據(jù)庫,為XML數(shù)據(jù)庫系統(tǒng)設(shè)定一組指定的動作后,并指定觸發(fā)條件后,在 XML數(shù)據(jù)庫系統(tǒng)檢測到滿足觸發(fā)條件后,使得XML數(shù)據(jù)庫系統(tǒng)自動的執(zhí)行預(yù)先設(shè)定的一組 指定動作完成相應(yīng)操作,用戶無需再進(jìn)行額外操作,特別是減少了用戶在進(jìn)行數(shù)據(jù)一致性 的維護(hù)方面的工作。
[0025] 圖1為本發(fā)明實(shí)施例1提供的XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法的流程圖,如圖所示, 包括:
[0026] 步驟S101,當(dāng)一XML文檔中的XML節(jié)點(diǎn)存在修改操作時(shí),檢測所述XML節(jié)點(diǎn)是否具 有與所述修改操作對應(yīng)的觸發(fā)器,所述觸發(fā)器包括觸發(fā)條件及被觸發(fā)后執(zhí)行的動作,所述 觸發(fā)條件為所述XML節(jié)點(diǎn)存在所述修改操作時(shí)觸發(fā)所述觸發(fā)器,所述被觸發(fā)后執(zhí)行的動作 包括對所述XML文檔和/或其他XML文檔中的相關(guān)節(jié)點(diǎn)的預(yù)設(shè)操作;
[0027] 步驟S102,當(dāng)所述XML節(jié)點(diǎn)具有與所述修改操作對應(yīng)的觸發(fā)器時(shí),觸發(fā)所述觸發(fā) 器。
[0028] 在上述技術(shù)方案中,當(dāng)XML數(shù)據(jù)庫中所存儲的XML文檔的某個(gè)節(jié)點(diǎn)發(fā)生修改操作 時(shí),例如所述節(jié)點(diǎn)的數(shù)據(jù)發(fā)生了變化,或者增加或刪除了某個(gè)節(jié)點(diǎn),XML數(shù)據(jù)庫系統(tǒng)檢測在 所述節(jié)點(diǎn)上是否具有對應(yīng)于相應(yīng)修改操作的觸發(fā)器,所述觸發(fā)器記錄了觸發(fā)條件,例如將 如上所述的節(jié)點(diǎn)數(shù)據(jù)發(fā)生了變化作為觸發(fā)條件,或者將增加或刪除了某個(gè)節(jié)點(diǎn)作為觸發(fā)條 件,所述觸發(fā)器還記錄了被觸發(fā)后執(zhí)行的動作,例如修改與所述節(jié)點(diǎn)相關(guān)的節(jié)點(diǎn)的數(shù)據(jù),或 者增加或刪除與所述節(jié)點(diǎn)相關(guān)的節(jié)點(diǎn),與所述節(jié)點(diǎn)相關(guān)的節(jié)點(diǎn)可以與所述節(jié)點(diǎn)處于同一 XML文檔中,或者是處于不同的XML文檔中。當(dāng)檢測到所述節(jié)點(diǎn)具有與所述修改操作對應(yīng)的 觸發(fā)器時(shí),觸發(fā)所述觸發(fā)器,即當(dāng)檢測到與所述節(jié)點(diǎn)對應(yīng)的觸發(fā)器,且滿足所述觸發(fā)器中記 錄的觸發(fā)條件時(shí),執(zhí)行所述觸發(fā)器記錄的被觸發(fā)后執(zhí)行的動作。從而實(shí)現(xiàn)了當(dāng)XML數(shù)據(jù)庫 中的某個(gè)XML文檔發(fā)生改變時(shí),XML數(shù)據(jù)庫系統(tǒng)自動的執(zhí)行預(yù)先設(shè)定的一組指定動作完成 對相應(yīng)的XML文檔中的節(jié)點(diǎn)進(jìn)行修改,用戶無需在進(jìn)行額外操作,減少了用戶在進(jìn)行數(shù)據(jù) 一致性的維護(hù)方面的工作。
[0029] 進(jìn)一步地,所述當(dāng)一 XML文檔中的XML節(jié)點(diǎn)存在修改操作時(shí),檢測所述XML節(jié)點(diǎn)是 否具有與所述修改操作對應(yīng)的觸發(fā)器之前,還包括:為所述XML節(jié)點(diǎn)創(chuàng)建與所述修改操作 對應(yīng)的觸發(fā)器。
[0030] 進(jìn)一步地,所述為所述XML節(jié)點(diǎn)創(chuàng)建與所述修改操作對應(yīng)的觸發(fā)器可以具體為: 獲取用戶使用XML數(shù)據(jù)庫系統(tǒng)提供的指定命令定義的觸發(fā)器創(chuàng)建語句;根據(jù)所述觸發(fā)器創(chuàng) 建語句創(chuàng)建所述觸發(fā)器。
[0031] 在上述技術(shù)方案中,XML數(shù)據(jù)庫系統(tǒng)創(chuàng)建所述觸發(fā)器時(shí),可以根據(jù)用戶使用XML數(shù) 據(jù)庫系統(tǒng)提供的指定命令定義的觸發(fā)器創(chuàng)建語句來創(chuàng)建觸發(fā)器。
[0032] 用戶可以使用系統(tǒng)提供的指定命令來完成觸發(fā)器的定義,其作用是告知XML數(shù)據(jù) 庫系統(tǒng),用戶需要定義一個(gè)新的觸發(fā)器,并告知XML數(shù)據(jù)庫系統(tǒng)關(guān)于該觸發(fā)器的觸發(fā)條件, 所執(zhí)行的動作,該觸發(fā)器所對應(yīng)的XML數(shù)據(jù)庫系統(tǒng)中的文檔對象,以及對應(yīng)的所述XML文檔 中節(jié)點(diǎn)的路徑信息,當(dāng)所述節(jié)點(diǎn)的路徑信息為空時(shí),默認(rèn)為在整個(gè)對象上創(chuàng)建。
[0033] 其命令格式可以如下所示:
[0034]
【權(quán)利要求】
1. 一種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)方法,其特征在于,包括: 當(dāng)一 XML文檔中的XML節(jié)點(diǎn)存在修改操作時(shí),檢測所述XML節(jié)點(diǎn)是否具有與所述修 改操作對應(yīng)的觸發(fā)器,所述觸發(fā)器包括觸發(fā)條件及被觸發(fā)后執(zhí)行的動作,所述觸發(fā)條件為 所述XML節(jié)點(diǎn)存在所述修改操作時(shí)觸發(fā)所述觸發(fā)器,所述被觸發(fā)后執(zhí)行的動作包括對所述 XML文檔和/或其他XML文檔中的相關(guān)節(jié)點(diǎn)的預(yù)設(shè)操作; 當(dāng)所述XML節(jié)點(diǎn)具有與所述修改操作對應(yīng)的觸發(fā)器時(shí),觸發(fā)所述觸發(fā)器。
2. 如權(quán)利要求1所述方法,其特征在于,所述當(dāng)一 XML文檔中的XML節(jié)點(diǎn)存在修改操作 時(shí),檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng)的觸發(fā)器之前,還包括: 為所述XML節(jié)點(diǎn)創(chuàng)建與所述修改操作對應(yīng)的觸發(fā)器。
3. 如權(quán)利要求2所述方法,其特征在于,所述為所述XML節(jié)點(diǎn)創(chuàng)建與所述修改操作對應(yīng) 的觸發(fā)器具體為: 獲取用戶使用XML數(shù)據(jù)庫系統(tǒng)提供的指定命令定義的觸發(fā)器創(chuàng)建語句; 根據(jù)所述觸發(fā)器創(chuàng)建語句創(chuàng)建所述觸發(fā)器。
4. 如權(quán)利要求2所述方法,其特征在于,還包括: 為所述XML數(shù)據(jù)庫設(shè)置觸發(fā)器信息表; 所述為所述XML節(jié)點(diǎn)創(chuàng)建與所述修改操作對應(yīng)的觸發(fā)器,具體為: 將所述XML節(jié)點(diǎn)的所述修改操作對應(yīng)的觸發(fā)器存儲至所述觸發(fā)器信息表中; 所述檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng)的觸發(fā)器,具體為: 查詢所述觸發(fā)器信息表中是否存在與所述XML節(jié)點(diǎn)的所述修改操作對應(yīng)的觸發(fā)器。
5. 如權(quán)利要求1所述方法,其特征在于,還包括: 為所述XML數(shù)據(jù)庫設(shè)置觸發(fā)器開關(guān)選項(xiàng),所述觸發(fā)器開關(guān)選項(xiàng)包括:使用觸發(fā)器和不 使用觸發(fā)器; 所述檢測所述XML節(jié)點(diǎn)是否具有與所述修改操作對應(yīng)的觸發(fā)器之前還包括: 檢測所述觸發(fā)器開關(guān)選項(xiàng)是否被設(shè)置成為使用觸發(fā)器; 當(dāng)檢測到所述觸發(fā)器開關(guān)選項(xiàng)被設(shè)置成為使用觸發(fā)器時(shí),進(jìn)入檢測所述XML節(jié)點(diǎn)是否 具有與所述修改操作對應(yīng)的觸發(fā)器的步驟。
6. 如權(quán)利要求1-5中任一項(xiàng)所述的方法,其特征在于,還包括: 刪除所述XML節(jié)點(diǎn)的與所述修改操作對應(yīng)的觸發(fā)器。
7. 如權(quán)利要求6所述方法,其特征在于,所述刪除所述XML節(jié)點(diǎn)的與所述修改操作對應(yīng) 的觸發(fā)器具體為: 獲取用戶使用XML數(shù)據(jù)庫系統(tǒng)提供的指定命令定義的觸發(fā)器刪除語句; 檢測所述XML節(jié)點(diǎn)是否具有所述觸發(fā)器刪除語句指定的觸發(fā)器; 當(dāng)所述XML節(jié)點(diǎn)具有所述觸發(fā)器時(shí),根據(jù)所述觸發(fā)器刪除語句刪除所述觸發(fā)器。
8. -種XML數(shù)據(jù)庫觸發(fā)器的實(shí)現(xiàn)裝置,其特征在于,包括: 第一檢測模塊,用于當(dāng)一 XML文檔中的XML節(jié)點(diǎn)存在修改操作時(shí),檢測所述XML節(jié)點(diǎn)是 否具有與所述修改操作對應(yīng)的觸發(fā)器,所述觸發(fā)器包括觸發(fā)條件及被觸發(fā)后執(zhí)行的動作, 所述觸發(fā)條件為所述XML節(jié)點(diǎn)存在所述修改操作時(shí)觸發(fā)所述觸發(fā)器,所述被觸發(fā)后執(zhí)行的 動作包括對所述XML文檔和/或其他XML文檔中的相關(guān)節(jié)點(diǎn)的預(yù)設(shè)操作; 觸發(fā)模塊,用于當(dāng)所述XML節(jié)點(diǎn)具有與所述修改操作對應(yīng)的觸發(fā)器時(shí),觸發(fā)所述觸發(fā) 器; 創(chuàng)建模塊,用于為所述XML節(jié)點(diǎn)創(chuàng)建與所述修改操作對應(yīng)的觸發(fā)器。
9. 如權(quán)利要求8所述裝置,其特征在于,還包括: 獲取模塊,用于獲取用戶使用XML數(shù)據(jù)庫系統(tǒng)提供的指定命令定義的觸發(fā)器創(chuàng)建語 句; 所述創(chuàng)建模塊進(jìn)一步用于根據(jù)所述觸發(fā)器創(chuàng)建語句創(chuàng)建所述觸發(fā)器。
10. 如權(quán)利要求8所述裝置,其特征在于,還包括: 第一設(shè)置模塊,用于為所述XML數(shù)據(jù)庫設(shè)置觸發(fā)器信息表; 所述創(chuàng)建模塊具體用于將所述XML節(jié)點(diǎn)的所述修改操作對應(yīng)的觸發(fā)器存儲至所述觸 發(fā)器信息表中; 所述第一檢測模塊具體用于查詢所述觸發(fā)器信息表中是否存在與所述XML節(jié)點(diǎn)的所 述修改操作對應(yīng)的觸發(fā)器。
11. 如權(quán)利要求8所述裝置,其特征在于,還包括: 第二設(shè)置模塊,用于為所述XML數(shù)據(jù)庫設(shè)置觸發(fā)器開關(guān)選項(xiàng),所述觸發(fā)器開關(guān)選項(xiàng)包 括:使用觸發(fā)器和不使用觸發(fā)器; 第二檢測模塊,用于檢測所述觸發(fā)器開關(guān)選項(xiàng)是否被設(shè)置成為使用觸發(fā)器; 所述第一檢測模塊具體用于當(dāng)XML文檔中的XML節(jié)點(diǎn)存在修改操作且所述第二檢測模 塊檢測到所述觸發(fā)器開關(guān)選項(xiàng)被設(shè)置成為使用觸發(fā)器時(shí),檢測所述XML節(jié)點(diǎn)是否具有與所 述修改操作對應(yīng)的觸發(fā)器。
12. 如權(quán)利要求8-11任一項(xiàng)所述裝置,其特征在于,還包括: 刪除模塊,用于刪除所述XML節(jié)點(diǎn)的與所述修改操作對應(yīng)的觸發(fā)器。
13. -種XML數(shù)據(jù)庫,其特征在于,包括如權(quán)利要求8-12中任一項(xiàng)所述的XML數(shù)據(jù)庫觸 發(fā)器的實(shí)現(xiàn)裝置。
【文檔編號】G06F17/30GK104462078SQ201310415274
【公開日】2015年3月25日 申請日期:2013年9月12日 優(yōu)先權(quán)日:2013年9月12日
【發(fā)明者】李 浩, 陳麗娟, 鄧光超, 彭川 申請人:方正信息產(chǎn)業(yè)控股有限公司, 上海方正數(shù)字出版技術(shù)有限公司