亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)庫索引的建立方法及其電腦系統(tǒng)的制作方法

文檔序號(hào):6606305閱讀:229來源:國知局

專利名稱::數(shù)據(jù)庫索引的建立方法及其電腦系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種數(shù)據(jù)庫的索引建立方法,尤其涉及一種結(jié)合可擴(kuò)展標(biāo)記語言(ExtensibleMarkupLanguage,簡稱為XML)文件特性的數(shù)據(jù)庫索引的建立方法及其電腦系統(tǒng)。
背景技術(shù)
:關(guān)系數(shù)據(jù)庫(RelationalDatabase)是一種被廣為使用的數(shù)據(jù)儲(chǔ)存系統(tǒng),主要是由表格(table)、欄位(column)、記錄(record)以及數(shù)據(jù)所組成。其中,每個(gè)表格包括了多個(gè)欄位,相同欄位用以存放性質(zhì)相同的數(shù)據(jù),而在每一筆記錄中則包括了多個(gè)不同性質(zhì)的數(shù)據(jù)。索引鍵(key)的設(shè)計(jì)便是用以讓使用者能在關(guān)系數(shù)據(jù)庫中快速地查詢需要的數(shù)據(jù)。由于關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)都必須具備單一元素(atomic)的特性,因此在一個(gè)表格中只會(huì)出現(xiàn)一筆符合鍵值的記錄。然而,在利用關(guān)系數(shù)據(jù)庫存放可擴(kuò)展標(biāo)記語言文件,即XML文件時(shí),是以一筆記錄表示一份XML文件,而XML文件的內(nèi)容將存放在特定欄位中。由于在同一份XML文件中,特定關(guān)鍵字可能會(huì)出現(xiàn)不只一次,而這樣的特性將違反關(guān)系數(shù)據(jù)庫的規(guī)則,因而導(dǎo)致無法在關(guān)系數(shù)據(jù)庫中建立XML文件索引。正因如此,在需要查詢XML文件中的某些關(guān)鍵字時(shí),目前的做法是必須對關(guān)系數(shù)據(jù)庫中每份XML文件的內(nèi)容進(jìn)行掃描。不難想見,這種方式不僅十分耗時(shí)費(fèi)力,在數(shù)據(jù)量十分龐大時(shí)更將顯得沒有效率。
發(fā)明內(nèi)容本發(fā)明提供一種數(shù)據(jù)庫索引的建立方法及其電腦系統(tǒng),用以在關(guān)系數(shù)據(jù)庫中建立XML文件的索引,以提升查詢XML文件的效率。本發(fā)明提供一種數(shù)據(jù)庫索引的建立方法,用以建立被存入至關(guān)系數(shù)據(jù)庫的XML文件的索引。此方法在接收到索引建立指令時(shí),于關(guān)系數(shù)據(jù)庫取得第一索引欄位及第二索引欄位。其中,索引建立指令對應(yīng)于第一XML提取函數(shù)與索引屬性。接著依照第一XML提取函數(shù)的特性,利用內(nèi)部提取函數(shù)分析XML文件。若XML文件包括符合索引屬性且彼此相異的一或多個(gè)元素,則在第一索引欄位記錄上述一或多個(gè)元素,并在第二索引欄位對應(yīng)記錄各上述一或多個(gè)元素在XML文件中的出現(xiàn)次數(shù),以建立XML文件的索引。在本發(fā)明的一實(shí)施例中,其中索引建立指令所對應(yīng)的第一XML提取函數(shù)為提取(extract)函數(shù)或提取值(extractValue)函數(shù)。在本發(fā)明的一實(shí)施例中,其中索引屬性為XML路徑語言(Xpath)結(jié)構(gòu)。在本發(fā)明的一實(shí)施例中,其中依照第一XML提取函數(shù)的特性,利用內(nèi)部提取函數(shù)分析XML文件的步驟包括當(dāng)?shù)谝籜ML提取函數(shù)的特性為只允許單一回傳結(jié)果時(shí),利用內(nèi)部提取函數(shù)分析XML文件,以判斷XML文件是否包括符合索引屬性的一單一元素。而建立XML文件的索引的步驟則是在XML文件包括符合索引屬性的單一元素時(shí),將單一元素記錄為第一索引欄位的值組(tuple),并在第二索引欄位的對應(yīng)值組中記錄出現(xiàn)次數(shù)為1。并且令上述值組與對應(yīng)值組指向XML文件,以作為XML文件的索引。在本發(fā)明的一實(shí)施例中,其中依照第一XML提取函數(shù)的特性,利用內(nèi)部提取函數(shù)分析XML文件的步驟包括當(dāng)?shù)谝籜ML提取函數(shù)的特性為不限制回傳結(jié)果的數(shù)量時(shí),利用內(nèi)部提取函數(shù)分析XML文件,以判斷XML文件是否包括符合索引屬性的至少一候選元素。在上述候選元素中,統(tǒng)計(jì)重復(fù)出現(xiàn)的候選元素的數(shù)量以作為對應(yīng)的出現(xiàn)次數(shù),并且在每組重復(fù)出現(xiàn)的候選元素中保留單一候選元素,以及以所有被保留的單一候選元素作為符合索引屬性且彼此相異的上述元素。此外,建立XML文件的索引的步驟包括將上述元素個(gè)別記錄為第一索引欄位的一或多個(gè)值組,并分別將上述元素的出現(xiàn)次數(shù)記錄在第二索引欄位的一或多個(gè)對應(yīng)值組,以及令上述值組與對應(yīng)值組指向XML文件,以作為XML文件的索引。在本發(fā)明的一實(shí)施例中,其中在建立XML文件的索引的步驟之后,還包括接收對應(yīng)于第二XML提取函數(shù)的查詢指令,并根據(jù)第二XML提取函數(shù)的特性,將查詢指令轉(zhuǎn)換為由內(nèi)部提取函數(shù)所構(gòu)成的內(nèi)部查詢指令,其中內(nèi)部查詢指令能被關(guān)系數(shù)據(jù)庫所識(shí)別。接下來,根據(jù)內(nèi)部查詢指令比對第一索引欄位及第二索引欄位的所有值組的內(nèi)容,在第一索引欄位的特定值組與第二索引欄位的對應(yīng)值組的內(nèi)容同時(shí)符合內(nèi)部查詢指令時(shí),回傳特定值組及對應(yīng)值組所指向的XML文件以作為查詢結(jié)果。其中,查詢指令所對應(yīng)的第二XML提取函數(shù)可以是提取(extract)函數(shù)、提取值(extractValue)函數(shù)或存在點(diǎn)(existsNode)函數(shù)。從另一觀點(diǎn)來看,本發(fā)明提供一種建立數(shù)據(jù)庫索引的電腦系統(tǒng),此電腦系統(tǒng)包括相互耦接的儲(chǔ)存單元及處理單元。其中,儲(chǔ)存單元儲(chǔ)存有一關(guān)系數(shù)據(jù)庫,且關(guān)系數(shù)據(jù)庫儲(chǔ)存有XML文件。處理單元在接收到索引建立指令時(shí),于關(guān)系數(shù)據(jù)庫取得第一索引欄位及第二索引欄位,其中索引建立指令對應(yīng)于第一XML提取函數(shù)與索引屬性。處理單元依照第一XML提取函數(shù)的特性,進(jìn)而利用內(nèi)部提取函數(shù)分析XML文件。若XML文件包括符合索引屬性且彼此相異的一或多個(gè)元素,處理單元在第一索引欄位記錄上述元素,并在第二索引欄位對應(yīng)記錄各個(gè)元素在XML文件中的出現(xiàn)次數(shù),從而建立XML文件的索引。在本發(fā)明的一實(shí)施例中,其中處理單元在接收對應(yīng)第二XML提取函數(shù)的查詢指令時(shí),根據(jù)第二XML提取函數(shù)的特性,將查詢指令轉(zhuǎn)換為由內(nèi)部提取函數(shù)所構(gòu)成的內(nèi)部查詢指令,其中內(nèi)部查詢指令能被關(guān)系數(shù)據(jù)庫所識(shí)別。處理單元根據(jù)內(nèi)部查詢指令比對第一索引欄位及第二索引欄位的所有值組的內(nèi)容,進(jìn)而在第一索引欄位的特定值組與第二索引欄位的對應(yīng)值組的內(nèi)容同時(shí)符合內(nèi)部查詢指令時(shí),以特定值組及對應(yīng)值組所指向的XML文件作為查詢結(jié)果?;谏鲜觯景l(fā)明在關(guān)系數(shù)據(jù)庫中建立XML文件的索引時(shí),除了以一個(gè)欄位記錄索引值之外,還將以另一欄位記錄該索引值的出現(xiàn)次數(shù)。據(jù)此,在使用者下達(dá)一查詢指令時(shí),便可根據(jù)上述兩個(gè)欄位的內(nèi)容快速地自關(guān)系數(shù)據(jù)庫找出符合查詢條件的XML文件,以大幅提升數(shù)據(jù)查詢的效率。為讓本發(fā)明上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并結(jié)合附圖作詳細(xì)說明如下。圖1是本發(fā)明的一實(shí)施例的數(shù)據(jù)庫索引的建立方法的流程圖。圖2是本發(fā)明的一實(shí)施例的利用數(shù)據(jù)庫索引進(jìn)行查詢的流程圖。圖3是本發(fā)明的一實(shí)施例的建立數(shù)據(jù)庫索引的電腦系統(tǒng)的方塊圖。主要元件符號(hào)說明300:電腦系統(tǒng);310:儲(chǔ)存單元;315關(guān)系數(shù)據(jù)庫;320處理單元;110140本發(fā)明的一實(shí)施例所述的數(shù)據(jù)庫索引的建立方法的各步驟;210MO本發(fā)明的一實(shí)施例所述的利用數(shù)據(jù)庫索引進(jìn)行查詢的各步驟。具體實(shí)施例方式當(dāng)使用者經(jīng)常需要對關(guān)系數(shù)據(jù)庫中的XML文件進(jìn)行某種特定條件的查詢動(dòng)作時(shí),便可預(yù)先在關(guān)系數(shù)據(jù)庫建立XML文件的相關(guān)索引,以提升日后查詢的效率。圖1是本發(fā)明的一實(shí)施例的數(shù)據(jù)庫索引的建立方法的流程圖,以下將說明在將一份XML文件存入至關(guān)系數(shù)據(jù)庫時(shí),在關(guān)系數(shù)據(jù)庫建立該份XML文件的索引的詳細(xì)步驟。在本實(shí)施例中,關(guān)系數(shù)據(jù)庫具有一特定欄位(column)用以儲(chǔ)存XML文件。換言之,每一份被存入的XML文件會(huì)記錄為上述特定欄位中的一筆數(shù)據(jù)。請參閱圖1,首先如步驟110所示,接收使用者所下達(dá)的索引建立指令,此索引建立指令對應(yīng)于第一XML提取函數(shù)與一索引屬性。在本實(shí)施例中,索引建立指令所對應(yīng)的第一XML提取函數(shù)可以是XML語法所支持的extract函數(shù)或是extractValue函數(shù),而索引屬性指的便是使用者在日后需要查詢的條件,在此可用XML路徑語言(Xpath)結(jié)構(gòu)來表示。接著在步驟120中,在關(guān)系數(shù)據(jù)庫取得第一索引欄位及第二索引欄位。其中,所取得的第一索引欄位的位置是根據(jù)索引建立指令的內(nèi)容來取得。以下是使用者所下達(dá)的對應(yīng)于extract函數(shù)的索引建立指令的一種范例CREATEINDEXidxlontl(extract(cl,'/order/items/item/iproduct'),NULL);上述索引建立指令是指在關(guān)系數(shù)據(jù)庫的表格tl的欄位Cl建立一個(gè)名為idxl的索引,且該索引建立指令所對應(yīng)的索引屬性為'/order/items/item/iproduct‘。因此在接收到上述索引建立指令后,本實(shí)施例所述的數(shù)據(jù)庫索引的建立方法便會(huì)取得表格tl中的欄位cl以作為第一索引欄位,并額外取得另一個(gè)欄位作為第二索引欄位。在另一實(shí)施例中,使用者所下達(dá)的對應(yīng)extractValue函數(shù)的索引建立指令可如下所示createindexidxlontl(extractValue(cl,'/order/items/item/iproduct),NULL);上述索引建立指令是指在關(guān)系數(shù)據(jù)庫的表格tl的欄位Cl建立一個(gè)名為idxl的索引,且該索引建立指令所對應(yīng)的索引屬性為'/order/items/item/iproduct‘。而在接收上述索引建立指令后,本實(shí)施例所述的數(shù)據(jù)庫索引的建立方法會(huì)取得表格tl中的欄位cl以作為第一索引欄位,并額外取得另一個(gè)欄位作為第二索引欄位。由上述兩個(gè)范例可以發(fā)現(xiàn),使用者在下達(dá)索引建立指令時(shí)只會(huì)在索引建立指令中設(shè)定一個(gè)索引欄位,但本實(shí)施例所述的數(shù)據(jù)庫索引的建立方法則會(huì)自動(dòng)地在關(guān)系數(shù)據(jù)庫中取得兩個(gè)索引欄位。其一為使用者在索引建立指令中所設(shè)定的欄位(以下稱為第一索引欄位),其二則是本方法另外自動(dòng)取得的欄位(以下稱為第二索引欄位)。必須特別說明的是,這個(gè)自動(dòng)取得的欄位將不被使用者所知悉。然而,隨著索引建立指令所對應(yīng)的第一XML提取函數(shù)特性的不同,在建立索引時(shí)所產(chǎn)生的索引值也不相同,因此接下來如步驟130所示,依照第一XML提取函數(shù)的特性以利用內(nèi)部提取函數(shù)分析XML文件,并判斷XML文件是否包括符合索引屬性的元素。詳細(xì)地說,假設(shè)第一XML提取函數(shù)為extractValue函數(shù),由于extractValue函數(shù)的特性不允許提取出多個(gè)數(shù)值而僅允許單一回傳結(jié)果,因此在分析XML文件時(shí),便是要判斷XML文件是否包括符合索引屬性的單一元素。換言之,當(dāng)XML文件具有不只一個(gè)符合索引屬性的元素時(shí),extractValue函數(shù)將回傳一錯(cuò)誤信息,進(jìn)而無法建立相關(guān)索引。另外在第一XML提取函數(shù)為extract函數(shù)的情況下,由于extract函數(shù)的特性在于不限制回傳結(jié)果的數(shù)量(,即,允許多個(gè)數(shù)值、單一數(shù)值以及零個(gè)數(shù)值的提取結(jié)果),因此在分析XML文件時(shí)便是要利用內(nèi)部提取函數(shù)對整份XML文件進(jìn)行搜尋,以找出符合索引屬性且彼此相異的元素。為達(dá)到此目的,首先必須判斷XML文件是否包括符合索引屬性的一個(gè)或多個(gè)候選元素。接著在上述候選元素中,統(tǒng)計(jì)各種重復(fù)出現(xiàn)的候選元素的數(shù)量,以作為對應(yīng)的出現(xiàn)次數(shù)。最后在每組重復(fù)出現(xiàn)的候選元素中保留單一候選元素,進(jìn)而將所有被保留的單一候選元素視為符合索引屬性且彼此相異的元素。舉例來說,假設(shè)索引屬性為水果名稱,而在XML文件中可依序提取出“蘋果”、“橘子”、“蘋果”這三個(gè)候選元素,那么在統(tǒng)計(jì)數(shù)量并刪除重復(fù)出現(xiàn)的元素后,所產(chǎn)生的分析結(jié)果為“蘋果”這個(gè)元素在XML文件中出現(xiàn)兩次,以及“橘子”這個(gè)元素在XML文件中出現(xiàn)一次。若在步驟130中判斷XML文件不具有任何符合索引屬性的元素,便結(jié)束本數(shù)據(jù)庫索引的建立方法的流程。然而若可以找到符合索引屬性且彼此相異的元素,則如步驟140所示,在第一索引欄位記錄上述元素,并在第二索引欄位對應(yīng)記錄各上述元素在XML文件中的出現(xiàn)次數(shù),進(jìn)而建立XML文件的索引。舉例來說,當(dāng)索引建立指令所對應(yīng)的第一XML提取函數(shù)為extractValue函數(shù)時(shí),若XML文件具有符合索引屬性的單一元素,那么上述單一元素將被記錄為第一索引欄位的一值組(tuple),而在第二索引欄位的對應(yīng)值組中則會(huì)記錄該單一元素的出現(xiàn)次數(shù)為1。接下來,例如可利用物件識(shí)別碼(ObjectIdentifier,簡稱為0ID)的概念,令第一索引欄位及第二索引欄位中記錄有上述單一元素的值組與對應(yīng)值組同時(shí)指向XML文件,進(jìn)而作為XML文件的索引。而當(dāng)索引建立指令所對應(yīng)的第一XML提取函數(shù)為extract函數(shù)時(shí),由于提取出的元素?cái)?shù)量可以是一或多個(gè),因此將上述元素個(gè)別記錄為第一索引欄位中的一或多個(gè)值組,并分別將上述元素的出現(xiàn)次數(shù)記錄在第二索引欄位的對應(yīng)值組中。同樣地,可利用物件識(shí)別碼的概念令上述值組與其對應(yīng)值組都指向XML文件,以作為XML文件的索引。換句話說,一份XML文件可能同時(shí)具有多個(gè)索引。如上所述,使用者在將XML文件存入關(guān)系數(shù)據(jù)庫時(shí),便可利用XML語法所支持的extract函數(shù)或extractValue函數(shù)下達(dá)索引建立指令,而本實(shí)施例所述的數(shù)據(jù)庫索引的建立方法將根據(jù)索引建立指令而對XML文件進(jìn)行分析,以找出符合索引屬性的元素并統(tǒng)計(jì)其出現(xiàn)次數(shù),再分別將找出的元素及其出現(xiàn)次數(shù)記錄在兩個(gè)索引欄位,進(jìn)而作為XML文件的索引。如此一來,XML文件的索引不僅包括了符合索引屬性的元素,還包括該些元素的出現(xiàn)次數(shù),因此所建立的索引便能反映在同一份XML文件中特定關(guān)鍵字可能會(huì)出現(xiàn)多次的特7性。上述實(shí)施例雖然是以存入一份XML文件來進(jìn)行說明,但當(dāng)使用者插入多份XML文件時(shí),也可反復(fù)通過圖1所示的各步驟進(jìn)而在關(guān)系數(shù)據(jù)庫中建立各XML文件的索引值。當(dāng)關(guān)系數(shù)據(jù)庫已具有XML文件的相關(guān)索引時(shí),使用者便可通過索引來快速查詢需要的數(shù)據(jù)。圖2是本發(fā)明的一實(shí)施例的利用數(shù)據(jù)庫索引進(jìn)行查詢的流程圖,首先如步驟210所示,接收使用者所下達(dá)的一查詢指令,此查詢指令例如是符合結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,簡稱為SQL)且對應(yīng)一第二XML提取函數(shù)。在本實(shí)施例中,第二XML提取函數(shù)可以是XML語法所支持的extract函數(shù)、extractValue函數(shù)或existsNode函數(shù)。由于本領(lǐng)域技術(shù)人員應(yīng)知道如何利用結(jié)構(gòu)化查詢語言下達(dá)查詢指令,故在此不再贅述。接著,為了讓關(guān)系數(shù)據(jù)庫能識(shí)別使用者所下達(dá)的查詢指令,因此在步驟220中,根據(jù)第二XML提取函數(shù)的特性,將查詢指令轉(zhuǎn)換為由內(nèi)部提取函數(shù)所構(gòu)成的內(nèi)部查詢指令,而此內(nèi)部查詢指令能被關(guān)系數(shù)據(jù)庫所識(shí)別。同樣地,指令的轉(zhuǎn)換也為本領(lǐng)域技術(shù)人員所知曉,因而同樣不作贅述。接下來如步驟230所示,根據(jù)內(nèi)部查詢指令比對第一索引欄位及第二索引欄位的所有值組的內(nèi)容。最后在步驟MO中,在第一索引欄位的特定值組與第二索引欄位的對應(yīng)值組的內(nèi)容同時(shí)符合內(nèi)部查詢指令時(shí),回傳特定值組及對應(yīng)值組所指向的XML文件以作為查詢結(jié)果。據(jù)此便能通過第一索引欄位及第二索引欄位中的數(shù)據(jù),快速地查找到符合查詢條件的XML文件。特別是在查詢XML文件中某一特定元素的數(shù)量時(shí),若已預(yù)先建立該特定元素相關(guān)索引,則可以直接利用索引取得其出現(xiàn)次數(shù),而不需對整份XML文件進(jìn)行搜尋。圖3是本發(fā)明的一實(shí)施例的建立數(shù)據(jù)庫索引的電腦系統(tǒng)的方塊圖,如圖3所示,電腦系統(tǒng)300包括相互耦接的儲(chǔ)存單元310與處理單元320。儲(chǔ)存單元310可以是存儲(chǔ)器、硬盤,或其他任何內(nèi)置或外接式的儲(chǔ)存裝置,在此并不加以限制。在儲(chǔ)存單元310中具有一關(guān)系數(shù)據(jù)庫315,而關(guān)系數(shù)據(jù)庫315儲(chǔ)存有XML文件。處理單元320可以是具備運(yùn)算及處理能力的硬件(例如晶片組)、軟件元件,或是硬件及軟件元件的組合,在接收到對應(yīng)于第一XML提取函數(shù)與一索引屬性的索引建立指令時(shí),處理單元320便于關(guān)系數(shù)據(jù)庫315取得第一索引欄位及第二索引欄位。接著,處理單元320依照第一XML提取函數(shù)的特性,利用內(nèi)部提取函數(shù)對XML文件進(jìn)行分析。若XML文件包括符合索引屬性且彼此相異的一或多個(gè)元素,處理單元320便會(huì)在第一索引欄位記錄上述元素,并在第二索引欄位對應(yīng)記錄各個(gè)元素在XML文件中的出現(xiàn)次數(shù),據(jù)以建立XML文件的索引。由于處理單元320依據(jù)使用者所發(fā)出的索引建立指令來建立XML文件的方式與圖1所示的流程相同或相似,故在此不再贅述。在建立XML文件的索引后,當(dāng)處理單元320接收到對應(yīng)于第二XML提取函數(shù)的查詢指令時(shí),將查詢指令轉(zhuǎn)換為由內(nèi)部提取函數(shù)所構(gòu)成的內(nèi)部查詢指令,此內(nèi)部查詢指令能被關(guān)系數(shù)據(jù)庫315所識(shí)別。接著,處理單元320根據(jù)內(nèi)部查詢指令比對第一索引欄位及第二索引欄位的所有值組的內(nèi)容。并在第一索引欄位的特定值組與第二索引欄位的對應(yīng)值組的內(nèi)容同時(shí)符合內(nèi)部查詢指令時(shí),以特定值組及對應(yīng)值組所指向的XML文件作為查詢結(jié)果。處理單元320可將查詢結(jié)果顯示于電腦系統(tǒng)300的顯示單元(未示出)以供使用者檢閱。其中,處理單元320根據(jù)查詢指令而利用關(guān)系數(shù)據(jù)庫315的索引來查找符合條件的XML文件與圖2所示的流程相同或相似,故在此不再贅述。本發(fā)明另提供一種電腦程式產(chǎn)品,其是用以執(zhí)行上述數(shù)據(jù)庫索引的建立方法。此電腦程序產(chǎn)品基本上是由數(shù)個(gè)程序指令片段所組成(例如設(shè)定程序指令片段、以及部署程序指令片段等等),在將這些程序指令片段載入電腦系統(tǒng)并執(zhí)行之后,即可完成上述數(shù)據(jù)庫索引的建立方法的步驟,并使得電腦系統(tǒng)具備在關(guān)系數(shù)據(jù)庫中建立XML文件的索引,以及依據(jù)索引進(jìn)行查詢的功能。綜上所述,上述實(shí)施例結(jié)合了XML文件的特性,進(jìn)而在關(guān)系數(shù)據(jù)庫中除了記錄一般的索引值之外,另以一欄位記錄索引值在XML文件中的出現(xiàn)次數(shù)。如此一來便能反映XML文件包括多個(gè)元素且元素?cái)?shù)量不一的特性。日后在進(jìn)行查詢時(shí),也能利用上述兩個(gè)索引欄位的內(nèi)容,快速地找出符合條件的XML文件,以大幅提升在關(guān)系數(shù)據(jù)庫中查詢XML文件的速度。雖然本發(fā)明已以實(shí)施例揭示如上,但其并非用以限定本發(fā)明,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),可作些適當(dāng)更改或等同替換,因此本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求書界定的范圍為準(zhǔn)。權(quán)利要求1.一種數(shù)據(jù)庫索引的建立方法,用以建立被存入至一關(guān)系數(shù)據(jù)庫的一可擴(kuò)展標(biāo)記語言文件的一索引,其特征在于,所述方法包括當(dāng)接收到一索引建立指令時(shí),于所述關(guān)系數(shù)據(jù)庫取得一第一索引欄位及一第二索引欄位,其中所述索引建立指令對應(yīng)于一第一可擴(kuò)展標(biāo)記語言提取函數(shù)與一索引屬性;依照所述第一可擴(kuò)展標(biāo)記語言提取函數(shù)的特性,利用一內(nèi)部提取函數(shù)分析所述可擴(kuò)展標(biāo)記語言文件;以及若所述可擴(kuò)展標(biāo)記語言文件包括符合所述索引屬性且彼此相異的一或多個(gè)元素,則在所述第一索引欄位記錄所述一或多個(gè)元素,并在所述第二索引欄位對應(yīng)記錄各所述一或多個(gè)元素在所述可擴(kuò)展標(biāo)記語言文件中的一出現(xiàn)次數(shù),以建立所述可擴(kuò)展標(biāo)記語言文件的所述索引。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引的建立方法,其特征在于,所述索引建立指令所對應(yīng)的所述第一可擴(kuò)展標(biāo)記語言提取函數(shù)包括提取函數(shù)及提取值函數(shù)其中之一。3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引的建立方法,其特征在于,所述索引屬性為可擴(kuò)展標(biāo)記語言路徑語言結(jié)構(gòu)。4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引的建立方法,其特征在于,依照所述第一可擴(kuò)展標(biāo)記語言提取函數(shù)的特性,利用所述內(nèi)部提取函數(shù)分析所述可擴(kuò)展標(biāo)記語言文件的步驟包括當(dāng)所述第一可擴(kuò)展標(biāo)記語言提取函數(shù)的特性為只允許單一回傳結(jié)果時(shí),利用所述內(nèi)部提取函數(shù)分析所述可擴(kuò)展標(biāo)記語言文件,以判斷所述可擴(kuò)展標(biāo)記語言文件是否包括符合所述索引屬性的一單一元素。5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)庫索引的建立方法,其特征在于,建立所述可擴(kuò)展標(biāo)記語言文件的所述索引的步驟包括若所述可擴(kuò)展標(biāo)記語言文件包括符合所述索引屬性的所述單一元素,則將所述單一元素記錄為所述第一索引欄位的一值組,并在所述第二索引欄位的一對應(yīng)值組中記錄所述出現(xiàn)次數(shù)為1;以及令所述值組與所述對應(yīng)值組指向所述可擴(kuò)展標(biāo)記語言文件,以作為所述可擴(kuò)展標(biāo)記語言文件的所述索引。6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引的建立方法,其特征在于,依照所述第一可擴(kuò)展標(biāo)記語言提取函數(shù)的特性,利用所述內(nèi)部提取函數(shù)分析所述可擴(kuò)展標(biāo)記語言文件的步驟包括當(dāng)所述第一可擴(kuò)展標(biāo)記語言提取函數(shù)的特性為不限制回傳結(jié)果的數(shù)量時(shí),利用所述內(nèi)部提取函數(shù)分析所述可擴(kuò)展標(biāo)記語言文件,以判斷所述可擴(kuò)展標(biāo)記語言文件是否包括符合所述索引屬性的至少一候選元素;在所述至少一候選元素中,統(tǒng)計(jì)重復(fù)出現(xiàn)的候選元素的一數(shù)量以作為對應(yīng)的所述出現(xiàn)次數(shù);以及在每組重復(fù)出現(xiàn)的候選元素中保留單一候選元素,并以所有被保留的單一候選元素作為符合所述索引屬性且彼此相異的所述一或多個(gè)元素。7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫索引的建立方法,其特征在于,建立所述可擴(kuò)展標(biāo)記語言文件的所述索引的步驟包括將所述一或多個(gè)元素個(gè)別記錄為所述第一索引欄位的一或多個(gè)值組,并分別將所述一或多個(gè)元素的所述出現(xiàn)次數(shù)記錄在所述第二索引欄位的一或多個(gè)對應(yīng)值組;以及令所述一或多個(gè)值組與所述一或多個(gè)對應(yīng)值組指向所述可擴(kuò)展標(biāo)記語言文件,以作為所述可擴(kuò)展標(biāo)記語言文件的所述索引。8.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引的建立方法,其特征在于,在建立所述可擴(kuò)展標(biāo)記語言文件的所述索引的步驟之后,還包括接收一查詢指令,其中所述查詢指令對應(yīng)一第二可擴(kuò)展標(biāo)記語言提取函數(shù);根據(jù)所述第二可擴(kuò)展標(biāo)記語言提取函數(shù)的特性,轉(zhuǎn)換所述查詢指令為由所述內(nèi)部提取函數(shù)所構(gòu)成的一內(nèi)部查詢指令,其中所述內(nèi)部查詢指令能被所述關(guān)系數(shù)據(jù)庫所識(shí)別;根據(jù)所述內(nèi)部查詢指令比對所述第一索引欄位及所述第二索引欄位的所有值組的內(nèi)容;以及在所述第一索引欄位的一特定值組與所述第二索引欄位的一對應(yīng)值組的內(nèi)容同時(shí)符合所述內(nèi)部查詢指令時(shí),回傳所述特定值組及所述對應(yīng)值組所指向的所述可擴(kuò)展標(biāo)記語言文件以作為查詢結(jié)果。9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)庫索引的建立方法,其特征在于,所述查詢指令所對應(yīng)的所述第二可擴(kuò)展標(biāo)記語言提取函數(shù)包括提取函數(shù)、提取值函數(shù)以及存在點(diǎn)函數(shù)其中之ο10.一種建立數(shù)據(jù)庫索引的電腦系統(tǒng),其特征在于,包括一儲(chǔ)存單元,儲(chǔ)存一關(guān)系數(shù)據(jù)庫,所述關(guān)系數(shù)據(jù)庫儲(chǔ)存一可擴(kuò)展標(biāo)記語言文件;以及一處理單元,耦接至所述儲(chǔ)存單元,所述處理單元在接收到一索引建立指令時(shí),于所述關(guān)系數(shù)據(jù)庫取得一第一索引欄位及一第二索引欄位,其中所述索引建立指令對應(yīng)于一第一可擴(kuò)展標(biāo)記語言提取函數(shù)與一索引屬性;所述處理單元依照所述第一可擴(kuò)展標(biāo)記語言提取函數(shù)的特性,利用一內(nèi)部提取函數(shù)分析所述可擴(kuò)展標(biāo)記語言文件;若所述可擴(kuò)展標(biāo)記語言文件包括符合所述索引屬性且彼此相異的一或多個(gè)元素,所述處理單元在所述第一索引欄位記錄所述一或多個(gè)元素,并在所述第二索引欄位對應(yīng)記錄各所述一或多個(gè)元素在所述可擴(kuò)展標(biāo)記語言文件中的一出現(xiàn)次數(shù),以建立所述可擴(kuò)展標(biāo)記語言文件的一索引。11.根據(jù)權(quán)利要求10所述的建立數(shù)據(jù)庫索引的電腦系統(tǒng),其特征在于,所述處理單元在接收對應(yīng)一第二可擴(kuò)展標(biāo)記語言提取函數(shù)的一查詢指令時(shí),根據(jù)所述第二可擴(kuò)展標(biāo)記語言提取函數(shù)的特性,轉(zhuǎn)換所述查詢指令為由所述內(nèi)部提取函數(shù)所構(gòu)成的一內(nèi)部查詢指令,其中所述內(nèi)部查詢指令能被所述關(guān)系數(shù)據(jù)庫所識(shí)別;所述處理單元根據(jù)所述內(nèi)部查詢指令比對所述第一索引欄位及所述第二索引欄位的所有值組的內(nèi)容,在所述第一索引欄位的一特定值組與所述第二索引欄位的一對應(yīng)值組的內(nèi)容同時(shí)符合所述內(nèi)部查詢指令時(shí),所述處理單元以所述特定值組及所述對應(yīng)值組所指向的所述可擴(kuò)展標(biāo)記語言文件作為查詢結(jié)果。全文摘要本發(fā)明涉及一種數(shù)據(jù)庫索引的建立方法及其電腦系統(tǒng)。此方法在接收到索引建立指令時(shí),于關(guān)系數(shù)據(jù)庫取得第一索引欄位及第二索引欄位,此索引建立指令對應(yīng)于第一XML提取函數(shù)與索引屬性。接著依照第一XML提取函數(shù)的特性,利用內(nèi)部提取函數(shù)分析XML文件。若XML文件包括符合索引屬性且彼此相異的一或多個(gè)元素,則在第一索引欄位記錄上述一或多個(gè)元素,并在第二索引欄位對應(yīng)記錄各上述一或多個(gè)元素在XML文件中的出現(xiàn)次數(shù),從而在關(guān)系數(shù)據(jù)庫中建立XML文件的索引。在使用者下達(dá)一查詢指令時(shí),便可根據(jù)兩個(gè)欄位的內(nèi)容快速地自關(guān)系數(shù)據(jù)庫找出符合查詢條件的XML文件,以大幅提升數(shù)據(jù)查詢的效率。文檔編號(hào)G06F17/30GK102339284SQ20101023229公開日2012年2月1日申請日期2010年7月16日優(yōu)先權(quán)日2010年7月16日發(fā)明者莊景如,胡佩芬,邱坤廷,顏振宇申請人:凌群電腦股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1