用於樹形結構表的查詢方法和裝置的製作方法
2023-04-26 13:41:46 2
專利名稱:用於樹形結構表的查詢方法和裝置的製作方法
技術領域:
本發明涉及資料庫領域,特別涉及一種用於樹形結構表的查詢方法和裝置。
背景技術:
在資料庫的樹形結構表中,經常需要對其某一節點的父級或子級數據進行查詢, 該查詢一般是通過查詢常規的樹結構表中數據的FID (即資料庫編碼ID欄位),並查詢FID 級聯的FPID (即資料庫父級編碼ID欄位)及其對應的內容。例如,參見表1,表1為資料庫樹結構表中的內容,其中FNAME表示資料庫編碼名稱欄位。表 1
FPIDFIDFNAME1(null)01XXX公司2010101) X部門13010102) X部門240101010101XXX崗位1150102010201XXX崗位21601010101010101XXX員工A701020101020101XXX員工B如需查詢「XXX部門2」的所有子節點數據,則需使用SQL語句SeleCt*from T_ SYS_0RG connect by prior FID = FPID start with FID =' 0102',也即是通過查詢 FID欄位值為「0102」的所有子節點數據。在對現有技術進行分析後,發明人發現現有技術至少具有如下缺點現有技術的查詢方法由於屬於遞歸算法查詢,所以在數據量大的時候,效率很低, 且不是所有資料庫都支持,存在兼容性問題。
發明內容
本發明實施例提供了一種用於樹形結構表的查詢方法和裝置。所述技術方案如下一種用於樹形結構表的查詢方法,包括接收查詢條件,並根據所述查詢條件提取查詢因子;將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。所述全路徑數據用於記錄節點的全編碼路徑。所述全路徑數據包括所述本地數據的FID、FPID。將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋,具體包括判斷每個本地數據的全路徑數據中是否包含所述查詢因子,如果是,則將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。一種用於樹形結構表的查詢裝置,包括接收模塊,用於接收查詢條件,並根據所述查詢條件提取查詢因子;
查詢模塊,用於將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。所述全路徑數據用於記錄節點的全編碼路徑。所述全路徑數據包括所述本地數據的FID、FPID。所述查詢模塊具體用於判斷每個本地數據的全路徑數據中是否包含所述查詢因子,如果是,則將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。本發明實施例提供的技術方案的有益效果是通過在本地數據中增加全路徑數據,並在查詢的時候將全路徑數據中包含查詢因子的本地數據作為查詢結果反饋給用戶,使得查詢受數據量大小影響的程度大大降低,提高了效率,且兼容性好。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本發明實施例提供的一種用於樹形結構表的查詢方法的流程圖;圖2是本發明實施例提供的一種用於樹形結構表的查詢方法的流程圖;圖3是本發明實施例提供的一種用於樹形結構表的查詢裝置的結構示意圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。實施例1為了提高查詢效率,本發明實施例提供了一種用於樹形結構表的查詢方法,參見圖1,該方法包括101 接收查詢條件,並根據該查詢條件提取查詢因子;102 將全路徑數據中包含該查詢因子的本地數據作為查詢結果反饋。其中,所述全路徑數據用於記錄節點的全編碼路徑。其中,所述全路徑數據包括所述本地數據的FID、FPID。其中,將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋,具體包括判斷每個本地數據的全路徑數據中是否包含所述查詢因子,如果是,則將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。本發明實施例提供的方法,通過在本地數據中增加全路徑數據,並在查詢的時候將全路徑數據中包含查詢因子的本地數據作為查詢結果反饋給用戶,使得查詢受數據量大小影響的程度大大降低,提高了效率,且兼容性好。實施例2為了提高查詢效率,本發明實施例提供了一種用於樹形結構表的查詢方法,參見圖2,該方法包括201 接收查詢條件;在本發明實施例中,查詢條件即是用戶輸入的字節,例如,用戶在搜索欄中輸入 「員工A」,則該次查詢的查詢條件為「員工A」。202 根據查詢條件,提取查詢因子;在本發明實施例中,該查詢因子是用戶輸入的查詢條件所對應的數據,本領域技術人員可以獲知,在資料庫中保存有查詢條件與查詢因子的對應關係,其對應關係也可以理解為資料庫中該查詢條件對應的代碼,舉例說明,例如,某單位「員工A」的FID為 「01010101」,也即是如果需在資料庫中查詢員工A,輸入「員工A」,事實上去做查詢工作時, 使用「員工A」所對應的代碼「01010101」進行查詢。203:判斷每個本地數據的全路徑數據中是否包含查詢因子,如果是,執行步驟 204 ;如果否,結束。在本發明實施例中,全路徑數據用於記錄節點的全編碼路徑,優選地,該全路徑數據表示把樹節點編碼及其所有父級節點編碼用逗號組合起來確定此樹節點唯一性標識的字符串數據。參見表2和表3,表2為樹形結構表中一種數據格式,表3是表2中數據格式各個項目的具體描述的一個示例,其中,FPATH欄位即為全路徑數據所在欄位。其中,C0LUMN_NAME表示資料庫欄位的名稱,DATAjYPE表示資料庫欄位的數據類型,NULLABLE表示資料庫欄位是否允許空值,DATA_DEFAULT表示資料庫欄位的默認值, CILUMN_ID表示資料庫欄位的序列號,COMMENTS表示資料庫欄位的附加說明內容。該全路徑數據包括本地數據的FID、FPID。表權利要求
1.一種用於樹形結構表的查詢方法,其特徵在於,所述樹形結構表中的數據中包括全路徑數據,包括接收查詢條件,並根據所述查詢條件提取查詢因子;將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。
2.根據權利要求1所述的方法,其特徵在於,所述全路徑數據用於記錄節點的全編碼路徑。
3.根據權利要求2所述的方法,其特徵在於,所述全路徑數據包括所述本地數據的 FID、FPID。
4.根據權利要求1所述的方法,其特徵在於,將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋,具體包括判斷每個本地數據的全路徑數據中是否包含所述查詢因子,如果是,則將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。
5.一種用於樹形結構表的查詢裝置,其特徵在於,包括接收模塊,用於接收查詢條件,並根據所述查詢條件提取查詢因子;查詢模塊,用於將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。
6.根據權利要求5所述的裝置,其特徵在於,所述全路徑數據用於記錄節點的全編碼路徑。
7.根據權利要求6所述的裝置,其特徵在於,所述全路徑數據包括所述本地數據的 FID、FPID。
8.根據權利要求5所述的裝置,其特徵在於,所述查詢模塊具體用於判斷每個本地數據的全路徑數據中是否包含所述查詢因子,如果是,則將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。
全文摘要
本發明公開了一種用於樹形結構表的查詢方法和裝置,屬於資料庫領域。所述樹形結構表中的數據中包括全路徑數據,該包括接收查詢條件,並根據所述查詢條件提取查詢因子;將全路徑數據中包含所述查詢因子的本地數據作為查詢結果反饋。該查詢裝置包括接收模塊和查詢模塊。通過在本地數據中增加全路徑數據,並在查詢的時候將全路徑數據中包含查詢因子的本地數據作為查詢結果反饋給用戶,使得查詢受數據量大小影響的程度大大降低,提高了效率,且兼容性好。
文檔編號G06F17/30GK102541879SQ201010593820
公開日2012年7月4日 申請日期2010年12月9日 優先權日2010年12月9日
發明者黃欽興 申請人:北京市金蝶政務軟體有限公司