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

通用自定義查詢系統(tǒng)及方法

文檔序號:6331862閱讀:330來源:國知局
專利名稱:通用自定義查詢系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)數(shù)據(jù)處理領(lǐng)域,更具體地,本發(fā)明涉及一種通用自定義查詢系統(tǒng)及方法。
背景技術(shù)
隨著技術(shù)的進(jìn)步和社會的發(fā)展,信息共享變得越來越重要,為了解決數(shù)據(jù)共享問題,現(xiàn)有技術(shù)通過建立大型的中心數(shù)據(jù)庫的方式來實現(xiàn)數(shù)據(jù)共享。所有外圍系統(tǒng)與中心數(shù)據(jù)庫相連,所有需要共享的數(shù)據(jù)都由中心數(shù)據(jù)庫集中管理,外圍系統(tǒng)通過訪問中心數(shù)據(jù)庫來獲取所需要的數(shù)據(jù)。目前,外圍系統(tǒng)的業(yè)務(wù)系統(tǒng)通常采用TOB應(yīng)用方式訪問中心數(shù)據(jù)庫。然而在上述業(yè)務(wù)的開發(fā)中,對數(shù)據(jù)查詢的設(shè)計,一般只能根據(jù)特定的業(yè)務(wù)要求設(shè)計相應(yīng)的查詢,功能單一,并不可重復(fù)使用。如果用戶有新的數(shù)據(jù)查詢要求,往往需要進(jìn)行二次開發(fā),增加相應(yīng)的查詢功能,浪費人力物力;并且只能有限制的允許用戶自行設(shè)定查詢條件。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對上述現(xiàn)有業(yè)務(wù)系統(tǒng)中查詢功能單一、增加查詢?nèi)蝿?wù)需重新開發(fā)的問題,提供一種通用自定義查詢系統(tǒng)及方法。本發(fā)明解決上述技術(shù)問題的技術(shù)方案是,提供一種通用自定義查詢系統(tǒng),用于從數(shù)據(jù)庫查詢,包括查詢表創(chuàng)建單元、查詢組創(chuàng)建單元以及查詢創(chuàng)建單元,其中所述查詢表創(chuàng)建單元,用于創(chuàng)建查詢表,每一查詢表與源數(shù)據(jù)庫中的一個表關(guān)聯(lián)并包括所述數(shù)據(jù)庫中表的一個或多個字段;所述查詢組創(chuàng)建單元,用于創(chuàng)建查詢組,每一查詢組包括來自至少一個查詢表中的一個或多個字段;所述查詢創(chuàng)建單元,用于創(chuàng)建查詢,每一查詢包括涉及的查詢組和查詢邏輯,所述查詢邏輯基于所述查詢組中一個或多個字段的值。在本發(fā)明所述的通用自定義查詢系統(tǒng)中,還包括執(zhí)行查詢單元,用于執(zhí)行所述查詢創(chuàng)建單元所創(chuàng)建的查詢以從數(shù)據(jù)庫獲得數(shù)據(jù)并輸出查詢結(jié)果。在本發(fā)明所述的通用自定義查詢系統(tǒng)中,所述查詢組創(chuàng)建單元包括字段代碼轉(zhuǎn)換子單元,用于將查詢表中字段的名稱轉(zhuǎn)換為自定義的名稱。 在本發(fā)明所述的通用自定義查詢系統(tǒng)中,所述查詢組創(chuàng)建單元包括關(guān)聯(lián)創(chuàng)建子單元,用于創(chuàng)建兩個或兩個以上查詢表之間的關(guān)聯(lián),每一關(guān)聯(lián)的查詢表中的至少一個字段符合關(guān)聯(lián)邏輯。在本發(fā)明所述的通用自定義查詢系統(tǒng)中,所述查詢創(chuàng)建單元包括輸出指標(biāo)定義子單元,用于從查詢組中選擇一個或多個字段作為輸出數(shù)據(jù);在本發(fā)明所述的通用自定義查詢系統(tǒng)中,所述查詢創(chuàng)建單元包括參數(shù)變量定義子單元,用于創(chuàng)建參數(shù)變量,所述參數(shù)變量用于進(jìn)行參數(shù)輸入;
查詢邏輯定義子單元,用于創(chuàng)建查詢邏輯,每一查詢邏輯包括字段、關(guān)系符及參數(shù)變量。本發(fā)明還提供一種通用自定義查詢方法,用于從數(shù)據(jù)庫查詢數(shù)據(jù),包括以下步驟a、創(chuàng)建查詢表,每一查詢表與源數(shù)據(jù)庫中的一個表關(guān)聯(lián)并包括所述數(shù)據(jù)庫中表的一個或多個字段;b、創(chuàng)建查詢組,每一查詢組包括來自至少一個查詢表中的一個或多個字段;C、創(chuàng)建查詢,每一查詢包括涉及的查詢組和查詢邏輯,所述查詢邏輯基于所述查詢組中一個或多個字段的值。在本發(fā)明所述的通用自定義查詢方法中,所述步驟c之后還包括執(zhí)行所述查詢創(chuàng)建單元所創(chuàng)建的查詢以從數(shù)據(jù)庫獲得數(shù)據(jù)并輸出查詢結(jié)果。在本發(fā)明所述的通用自定義查詢方法中,所述步驟a中包括將查詢表中字段的名稱轉(zhuǎn)換為自定義的名稱。在本發(fā)明所述的通用自定義查詢方法中,所述步驟b中包括創(chuàng)建兩個或兩個以上查詢表之間的關(guān)聯(lián),每一關(guān)聯(lián)的查詢表中的至少一個字段符合關(guān)聯(lián)邏輯。本發(fā)明的通用自定義查詢系統(tǒng)和方法,通過數(shù)據(jù)源定義、查詢組創(chuàng)建以及查詢方式定義,實現(xiàn)了自定義的查詢創(chuàng)建,能滿足所有的用戶的查詢需求。本發(fā)明能嵌入任何基于 J2EE技術(shù)的業(yè)務(wù)系統(tǒng)中,而無需二次開發(fā),高度重用代碼。


圖1是本發(fā)明通用自定義查詢系統(tǒng)實施例的示意圖;圖2是本發(fā)明通用自定義查詢方法實施例的流程圖。
具體實施例方式本發(fā)明是基于關(guān)系型數(shù)據(jù)庫系統(tǒng),是通過用戶自定義并可多次重復(fù)使用的查詢子系統(tǒng),該子系統(tǒng)能嵌入到任何基于J2EE技術(shù)的TOB應(yīng)用軟件中。如圖1所示,是本發(fā)明通用自定義查詢系統(tǒng)實施例的示意圖,該系統(tǒng)用于從數(shù)據(jù)庫查詢指定數(shù)據(jù)。在本實施例中,查詢系統(tǒng)包括查詢表創(chuàng)建單元11、查詢組創(chuàng)建單元12以及查詢創(chuàng)建單元13。上述各單元可位于同一物理設(shè)備,也可位于通過網(wǎng)絡(luò)連接的多個設(shè)備。查詢表創(chuàng)建單元11用于創(chuàng)建查詢表,每一查詢表與源數(shù)據(jù)庫中的一個表關(guān)聯(lián)(或?qū)?yīng))并包括數(shù)據(jù)庫中對應(yīng)表的一個或多個字段。通過創(chuàng)建查詢表,可定義查詢中所需要用到的數(shù)據(jù)庫中相關(guān)表及相關(guān)表的字段信息,即獲得查詢的數(shù)據(jù)源。在本實施例中,查詢表創(chuàng)建單元11所創(chuàng)建的查詢表可與多個不同數(shù)據(jù)庫中的數(shù)據(jù)表相關(guān)聯(lián)。例如查詢表創(chuàng)建單元11可創(chuàng)建與第一數(shù)據(jù)庫中的數(shù)據(jù)表A對應(yīng)的第一查詢表,該第一查詢表包括數(shù)據(jù)表A中的所有字段0、P、Q ;同時創(chuàng)建與第二數(shù)據(jù)庫中的數(shù)據(jù)表B對應(yīng)的第二查詢表,該第二查詢表包括數(shù)據(jù)表B中的所有字段R、S、T。查詢組創(chuàng)建單元12用于創(chuàng)建查詢組,每一查詢組包括來自至少一個查詢表中的一個或多個字段。上述查詢組主要用于確定查詢數(shù)據(jù)的范圍,明確需要查詢的數(shù)據(jù)所關(guān)聯(lián)的表,及表與表之間的關(guān)系。例如當(dāng)查詢的數(shù)據(jù)僅涉及第一數(shù)據(jù)庫中的數(shù)據(jù)表A中的字段0時(即從數(shù)據(jù)表A中的字段0中查詢符合條件的數(shù)據(jù)時),則查詢組創(chuàng)建單元12創(chuàng)建的查詢組僅包含字段0,該字段0通過第一查詢表從數(shù)據(jù)表A獲得其字段0的數(shù)據(jù)。查詢創(chuàng)建單元13用于創(chuàng)建查詢,每一查詢包括涉及的查詢組和查詢邏輯(即查詢條件),上述查詢邏輯基于查詢組中一個或多個字段的值。例如,上述查詢可以為第一數(shù)據(jù)庫中數(shù)據(jù)表A的字段Q的值大于指定值的所有表項。在本發(fā)明的另一實施例中,還可包括執(zhí)行查詢單元(圖中未示出)。該執(zhí)行查詢單一用于執(zhí)行查詢創(chuàng)建單元13所創(chuàng)建的查詢以從對應(yīng)數(shù)據(jù)庫獲得查詢數(shù)據(jù)并輸出查詢結(jié)^ ο為了使輸出的查詢結(jié)果更加直觀,查詢組創(chuàng)建單元12可包括一個字段代碼轉(zhuǎn)換子單元。該字段代碼轉(zhuǎn)換子單元用于將查詢表中字段的名稱轉(zhuǎn)換為自定義的名稱,從而將數(shù)據(jù)庫的數(shù)據(jù)表中抽象的字段名稱轉(zhuǎn)換為終端用戶可直接讀懂的內(nèi)容,使得查詢結(jié)果更加直觀。此外,為了實現(xiàn)多數(shù)據(jù)表中數(shù)據(jù)的組合查詢,上述查詢組創(chuàng)建單元12可包括一個關(guān)聯(lián)創(chuàng)建子單元。該關(guān)聯(lián)創(chuàng)建子單元用于在查詢涉及兩個以上數(shù)據(jù)表(即查詢組包括兩個以上位于不同查詢表中的字段時)創(chuàng)建兩個以上查詢表之間的關(guān)聯(lián),每一關(guān)聯(lián)的查詢表中的至少一個字段符合關(guān)聯(lián)邏輯。例如當(dāng)查詢的數(shù)據(jù)涉及第一數(shù)據(jù)庫中數(shù)據(jù)表A中的字段P和第二數(shù)據(jù)庫中數(shù)據(jù)表 B中的字段R時,則查詢組創(chuàng)建單元12創(chuàng)建的查詢組包含字段P和字段R,其中字段P通過第一查詢表從數(shù)據(jù)表A獲得其字段P的數(shù)據(jù),字段R通過第二查詢表從數(shù)據(jù)表B獲得其字段R的數(shù)據(jù)。此時,關(guān)聯(lián)創(chuàng)建子單元需創(chuàng)建第一查詢表盒第二查詢表間的關(guān)聯(lián),從而建立兩個表中表項的聯(lián)系,使查詢組中的多個字段組合成一個“虛擬表”。為了定義輸出結(jié)果,查詢創(chuàng)建單元13可包括一個輸出指標(biāo)定義子單元。該輸出指標(biāo)定義子單元用于從查詢組中選擇一個或多個字段作為輸出數(shù)據(jù),從而輸出結(jié)果為由上述選擇的一個或多個字段組成的表。此外,查詢創(chuàng)建單元13還可包括參數(shù)變量定義子單元和查詢邏輯定義子單元。其中參數(shù)變量定義子單元用于創(chuàng)建參數(shù)變量,該參數(shù)變量用于進(jìn)行參數(shù)輸入。查詢邏輯定義子單元,用于創(chuàng)建查詢邏輯,每一查詢邏輯包括字段、關(guān)系符(例如包含、不包含、匹配、不匹配、等于、不等于、大于、大于等于、小于、小于等于、不等于等)及參數(shù)變量。例如當(dāng)參數(shù)變量定義子單元定義參數(shù)變量X,查詢邏輯為字段0等于X,則在執(zhí)行查詢時,當(dāng)用戶輸入的參數(shù)變量X的值為6,查詢結(jié)果為字段0中所有值為6的表項。上述的查詢邏輯可以進(jìn)行多字段組合,即查詢邏輯包括對多個字段的關(guān)系符運算。在本發(fā)明的其他實施例中,查詢創(chuàng)建單元13還可包括子查詢變量定義子單元,將子查詢的結(jié)果作為參數(shù)變量,從而實現(xiàn)更加復(fù)雜的查詢邏輯;查詢創(chuàng)建單元13還可包括查詢結(jié)果排序定義子單元,用于定義查詢結(jié)果的顯示順序。如圖3所示,是本發(fā)明通用自定義查詢方法實施例的流程圖,該方法用于從數(shù)據(jù)庫查詢指定數(shù)據(jù)。在本實施例中,該方法包括以下步驟步驟S21 創(chuàng)建查詢表,每一查詢表與源數(shù)據(jù)庫中的一個表關(guān)聯(lián)(或?qū)?yīng))并包括數(shù)據(jù)庫中對應(yīng)表的一個或多個字段。通過創(chuàng)建查詢表,可定義查詢中所需要用到的數(shù)據(jù)庫中相關(guān)表及相關(guān)表的字段信息,即獲得查詢的數(shù)據(jù)源。該步驟中創(chuàng)建的查詢表可與多個不同數(shù)據(jù)庫中的數(shù)據(jù)表相關(guān)聯(lián)。例如創(chuàng)建與第一數(shù)據(jù)庫中的數(shù)據(jù)表A對應(yīng)的第一查詢表,該第一查詢表包括數(shù)據(jù)表A中的所有字段0、P、Q ;創(chuàng)建與第二數(shù)據(jù)庫中的數(shù)據(jù)表B對應(yīng)的第二查詢表,該第二查詢表包括數(shù)據(jù)表B中的所有字段R、S、T。步驟S22 創(chuàng)建查詢組,每一查詢組包括來自至少一個查詢表中的一個或多個字段。上述查詢組主要用于確定查詢數(shù)據(jù)的范圍,明確需要查詢的數(shù)據(jù)所關(guān)聯(lián)的表,及表與表之間的關(guān)系。例如當(dāng)查詢的數(shù)據(jù)僅涉及第一數(shù)據(jù)庫中的數(shù)據(jù)表A中的字段0時(即從數(shù)據(jù)表A中的字段0中查詢符合條件的數(shù)據(jù)時),則創(chuàng)建的查詢組僅包含字段0,該字段0通過第一查詢表從數(shù)據(jù)表A獲得其字段0的數(shù)據(jù)。步驟S23 創(chuàng)建查詢,每一查詢包括涉及的查詢組和查詢邏輯(即查詢條件),上述查詢邏輯基于查詢組中一個或多個字段的值。例如,上述查詢可以為第一數(shù)據(jù)庫中數(shù)據(jù)表 A的字段Q的值大于指定值的所有表項。在本發(fā)明的另一實施例中,上述方法還可包括執(zhí)行步驟S23中創(chuàng)建的查詢以從對應(yīng)數(shù)據(jù)庫獲得查詢數(shù)據(jù)并輸出查詢結(jié)果。為了使輸出的查詢結(jié)果更加直觀,在步驟S22中可包括將查詢表中字段的名稱轉(zhuǎn)換為自定義的名稱的步驟,從而將數(shù)據(jù)庫的數(shù)據(jù)表中抽象的字段名稱轉(zhuǎn)換為終端用戶可直接讀懂的內(nèi)容,使得查詢結(jié)果更加直觀。此外,為了實現(xiàn)多數(shù)據(jù)表中數(shù)據(jù)的組合查詢,步驟S22中可包括在查詢涉及兩個以上數(shù)據(jù)表(即查詢組包括兩個以上位于不同查詢表中的字段時)創(chuàng)建兩個以上查詢表之間的關(guān)聯(lián),每一關(guān)聯(lián)的查詢表中的至少一個字段符合關(guān)聯(lián)邏輯。例如當(dāng)查詢的數(shù)據(jù)涉及第一數(shù)據(jù)庫中數(shù)據(jù)表A中的字段P和第二數(shù)據(jù)庫中數(shù)據(jù)表 B中的字段R時,則查詢組創(chuàng)建單元12創(chuàng)建的查詢組包含字段P和字段R,其中字段P通過第一查詢表從數(shù)據(jù)表A獲得其字段P的數(shù)據(jù),字段R通過第二查詢表從數(shù)據(jù)表B獲得其字段R的數(shù)據(jù)。此時,關(guān)聯(lián)創(chuàng)建子單元需創(chuàng)建第一查詢表盒第二查詢表間的關(guān)聯(lián),從而建立兩個表中表項的聯(lián)系,使查詢組中的多個字段組合成一個“虛擬表”。為了定義輸出結(jié)果,在步驟S23中可包括從查詢組中選擇一個或多個字段作為輸出數(shù)據(jù),從而輸出結(jié)果為由上述選擇的一個或多個字段組成的表。此外,步驟S23中還可包括創(chuàng)建參數(shù)變量以及創(chuàng)建查詢邏輯的步驟,其中該參數(shù)變量用于進(jìn)行參數(shù)輸入,每一查詢邏輯包括字段、關(guān)系符(例如包含、不包含、匹配、不匹配、等于、不等于、大于、大于等于、小于、小于等于、不等于等)及參數(shù)變量。例如當(dāng)參數(shù)變量定義子單元定義參數(shù)變量X,查詢邏輯為字段0等于X,則在執(zhí)行查詢時,當(dāng)用戶輸入的參數(shù)變量X的值為6,查詢結(jié)果為字段0中所有值為6的表項。上述的查詢邏輯可以進(jìn)行多字段組合,即查詢邏輯包括對多個字段的關(guān)系符運算。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種通用自定義查詢系統(tǒng),用于從數(shù)據(jù)庫查詢數(shù)據(jù),其特征在于,包括查詢表創(chuàng)建單元、查詢組創(chuàng)建單元以及查詢創(chuàng)建單元,其中所述查詢表創(chuàng)建單元,用于創(chuàng)建查詢表,每一查詢表與源數(shù)據(jù)庫中的一個表關(guān)聯(lián)并包括所述數(shù)據(jù)庫中表的一個或多個字段;所述查詢組創(chuàng)建單元,用于創(chuàng)建查詢組,每一查詢組包括來自至少一個查詢表中的一個或多個字段;所述查詢創(chuàng)建單元,用于創(chuàng)建查詢,每一查詢包括涉及的查詢組和查詢邏輯,所述查詢邏輯基于所述查詢組中一個或多個字段的值。
2.根據(jù)權(quán)利要求1所述的通用自定義查詢系統(tǒng),其特征在于,還包括執(zhí)行查詢單元,用于執(zhí)行所述查詢創(chuàng)建單元所創(chuàng)建的查詢以從數(shù)據(jù)庫獲得數(shù)據(jù)并輸出查詢結(jié)果。
3.根據(jù)權(quán)利要求1所述的通用自定義查詢系統(tǒng),其特征在于,所述查詢組創(chuàng)建單元包括字段代碼轉(zhuǎn)換子單元,用于將查詢表中字段的名稱轉(zhuǎn)換為自定義的名稱。
4.根據(jù)權(quán)利要求1所述的通用自定義查詢系統(tǒng),其特征在于,所述查詢組創(chuàng)建單元包括關(guān)聯(lián)創(chuàng)建子單元,用于創(chuàng)建兩個或兩個以上查詢表之間的關(guān)聯(lián),每一關(guān)聯(lián)的查詢表中的至少一個字段符合關(guān)聯(lián)邏輯。
5.根據(jù)權(quán)利要求1所述的通用自定義查詢系統(tǒng),其特征在于,所述查詢創(chuàng)建單元包括輸出指標(biāo)定義子單元,用于從查詢組中選擇一個或多個字段作為輸出數(shù)據(jù);
6.根據(jù)權(quán)利要求5所述的通用自定義查詢系統(tǒng),其特征在于,所述查詢創(chuàng)建單元包括參數(shù)變量定義子單元,用于創(chuàng)建參數(shù)變量,所述參數(shù)變量用于進(jìn)行參數(shù)輸入;查詢邏輯定義子單元,用于創(chuàng)建查詢邏輯,每一查詢邏輯包括字段、關(guān)系符及參數(shù)變量。
7.一種通用自定義查詢方法,用于從數(shù)據(jù)庫查詢數(shù)據(jù),其特征在于,包括以下步驟a、創(chuàng)建查詢表,每一查詢表與源數(shù)據(jù)庫中的一個表關(guān)聯(lián)并包括所述數(shù)據(jù)庫中表的一個或多個字段;b、創(chuàng)建查詢組,每一查詢組包括來自至少一個查詢表中的一個或多個字段;C、創(chuàng)建查詢,每一查詢包括涉及的查詢組和查詢邏輯,所述查詢邏輯基于所述查詢組中一個或多個字段的值。
8.根據(jù)權(quán)利要求7所述的通用自定義查詢方法,其特征在于,所述步驟c之后還包括執(zhí)行所述查詢創(chuàng)建單元所創(chuàng)建的查詢以從數(shù)據(jù)庫獲得數(shù)據(jù)并輸出查詢結(jié)果。
9.根據(jù)權(quán)利要求7所述的通用自定義查詢方法,其特征在于,所述步驟a中包括將查詢表中字段的名稱轉(zhuǎn)換為自定義的名稱。
10.根據(jù)權(quán)利要求7所述的通用自定義查詢方法,其特征在于,所述步驟b中包括創(chuàng)建兩個或兩個以上查詢表之間的關(guān)聯(lián),每一關(guān)聯(lián)的查詢表中的至少一個字段符合關(guān)聯(lián)邏輯。
全文摘要
本發(fā)明涉及一種通用自定義查詢系統(tǒng),用于從數(shù)據(jù)庫查詢數(shù)據(jù),包括查詢表創(chuàng)建單元、查詢組創(chuàng)建單元以及查詢創(chuàng)建單元,其中所述查詢表創(chuàng)建單元,用于創(chuàng)建查詢表,每一查詢表與源數(shù)據(jù)庫中的一個表關(guān)聯(lián)并包括所述數(shù)據(jù)庫中表的一個或多個字段;所述查詢組創(chuàng)建單元,用于創(chuàng)建查詢組,每一查詢組包括來自至少一個查詢表中的一個或多個字段;所述查詢創(chuàng)建單元,用于創(chuàng)建查詢,每一查詢包括涉及的查詢組和查詢邏輯,所述查詢邏輯基于所述查詢組中一個或多個字段的值。本發(fā)明還涉及一種通用自定義查詢方法。本發(fā)明能嵌入任何基于J2EE技術(shù)的業(yè)務(wù)系統(tǒng)中,而無需二次開發(fā),高度重用代碼。
文檔編號G06F17/30GK102402515SQ20101027825
公開日2012年4月4日 申請日期2010年9月10日 優(yōu)先權(quán)日2010年9月10日
發(fā)明者馮波, 吳華, 肖建良 申請人:深圳市鵬海運電子數(shù)據(jù)交換有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1