[發(fā)明專利]關(guān)系型數(shù)據(jù)庫(kù)查詢方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202010093639.4 | 申請(qǐng)日: | 2020-02-14 |
| 公開(kāi)(公告)號(hào): | CN111159316B | 公開(kāi)(公告)日: | 2023-03-14 |
| 發(fā)明(設(shè)計(jì))人: | 陳亮;劉海清 | 申請(qǐng)(專利權(quán))人: | 北京百度網(wǎng)訊科技有限公司 |
| 主分類號(hào): | G06F16/28 | 分類號(hào): | G06F16/28;G06F16/2455;G06F16/2457;G06F16/22 |
| 代理公司: | 北京鴻德海業(yè)知識(shí)產(chǎn)權(quán)代理有限公司 11412 | 代理人: | 田宏賓 |
| 地址: | 100085 北京市*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 關(guān)系 數(shù)據(jù)庫(kù) 查詢 方法 裝置 電子設(shè)備 存儲(chǔ) 介質(zhì) | ||
1.一種關(guān)系型數(shù)據(jù)庫(kù)查詢方法,其特征在于,包括:
確定用戶查詢的數(shù)據(jù)所在的節(jié)點(diǎn),所述節(jié)點(diǎn)表示關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)表;
將確定出的節(jié)點(diǎn)組成的集合作為備選集合,加入到第一隊(duì)列中,并執(zhí)行以下第一預(yù)定處理:
按照先進(jìn)先出的原則從所述第一隊(duì)列中取出一個(gè)備選集合;
若能夠根據(jù)所述備選集合生成連接樹(shù),則根據(jù)所述連接樹(shù)完成本次查詢;
若不能根據(jù)所述備選集合生成連接樹(shù),則選取符合擴(kuò)充要求的節(jié)點(diǎn),針對(duì)選出的任一節(jié)點(diǎn),分別將所述節(jié)點(diǎn)加入到所述備選集合中,得到一個(gè)擴(kuò)充后的備選集合,并加入到所述第一隊(duì)列中;若所述第一隊(duì)列不為空,則重復(fù)執(zhí)行所述第一預(yù)定處理,其中,所述選取符合擴(kuò)充要求的節(jié)點(diǎn)包括:從所述備選集合中的節(jié)點(diǎn)的上游節(jié)點(diǎn)中選取沒(méi)有位于所述備選集合中且未被選取過(guò)的節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
該方法進(jìn)一步包括:生成所述關(guān)系型數(shù)據(jù)庫(kù)對(duì)應(yīng)的有向圖,所述關(guān)系型數(shù)據(jù)庫(kù)由數(shù)據(jù)表及數(shù)據(jù)表之間的連接關(guān)系組成,將所述數(shù)據(jù)表抽象為所述有向圖中的節(jié)點(diǎn),將所述連接關(guān)系抽象為節(jié)點(diǎn)之間的邊;針對(duì)所述備選集合,根據(jù)所述有向圖確定出是否能夠生成連接樹(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,
所述連接關(guān)系包括:內(nèi)連接、全外連接、左連接以及右連接;
所述將所述連接關(guān)系抽象為節(jié)點(diǎn)之間的邊包括:對(duì)于任意兩個(gè)節(jié)點(diǎn),當(dāng)為左連接或右連接的連接關(guān)系時(shí),將所述連接關(guān)系抽象為單向邊,當(dāng)為內(nèi)連接或全外連接的連接關(guān)系時(shí),將所述連接關(guān)系抽象為雙向邊。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,
該方法進(jìn)一步包括:對(duì)于任一擴(kuò)充后的備選集合,確定是否已經(jīng)被加入過(guò)所述第一隊(duì)列,若是,則丟棄所述擴(kuò)充后的備選集合,若否,則將所述擴(kuò)充后的備選集合加入到所述第一隊(duì)列中。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,
該方法進(jìn)一步包括:按照所加入的節(jié)點(diǎn)的優(yōu)先級(jí)權(quán)重由高到低的順序,依次將得到的各擴(kuò)充后的備選集合加入到所述第一隊(duì)列中。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,
所述若能夠根據(jù)所述備選集合生成連接樹(shù),則根據(jù)所述連接樹(shù)完成本次查詢包括:
遍歷所述備選集合中的各節(jié)點(diǎn);
針對(duì)遍歷到的每一節(jié)點(diǎn),分別確定以所述節(jié)點(diǎn)為根節(jié)點(diǎn)是否能夠生成連接樹(shù),若是,根據(jù)所述連接樹(shù)完成本次查詢,若否,則遍歷下一節(jié)點(diǎn);
若以各節(jié)點(diǎn)為根節(jié)點(diǎn)均不能生成連接樹(shù),則確定不能根據(jù)所述備選集合生成連接樹(shù)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,
所述針對(duì)遍歷到的每一節(jié)點(diǎn),分別確定以所述節(jié)點(diǎn)為根節(jié)點(diǎn)是否能夠生成連接樹(shù)包括:
將所述節(jié)點(diǎn)加入到第二隊(duì)列和連接樹(shù)中,并執(zhí)行以下第二預(yù)定處理:
按照先進(jìn)先出的原則從所述第二隊(duì)列中取出一個(gè)節(jié)點(diǎn);
從所述節(jié)點(diǎn)的下游節(jié)點(diǎn)中選取位于所述備選集合內(nèi)且沒(méi)有位于所述連接樹(shù)中的節(jié)點(diǎn),將選出的各節(jié)點(diǎn)分別加入到所述第二隊(duì)列和所述連接樹(shù)中;
確定所述第二隊(duì)列是否為空,若不為空,則重復(fù)執(zhí)行所述第二預(yù)定處理;
若為空,則確定所述連接樹(shù)中是否包含所述備選集合中的所有節(jié)點(diǎn),若包含所有節(jié)點(diǎn),則確定以所述節(jié)點(diǎn)為根節(jié)點(diǎn)能夠生成連接樹(shù),若未包含所有節(jié)點(diǎn),則遍歷下一節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,
所述遍歷所述備選集合中的各節(jié)點(diǎn)包括:按照節(jié)點(diǎn)的優(yōu)先級(jí)權(quán)重由高到低的順序,遍歷所述備選集合中的各節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,
所述將選出的各節(jié)點(diǎn)分別加入到所述第二隊(duì)列和所述連接樹(shù)中包括:按照節(jié)點(diǎn)的優(yōu)先級(jí)權(quán)重由高到低的順序,將選出的各節(jié)點(diǎn)依次加入到所述第二隊(duì)列和所述連接樹(shù)中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京百度網(wǎng)訊科技有限公司,未經(jīng)北京百度網(wǎng)訊科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010093639.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 關(guān)系視圖
- 位置關(guān)系檢測(cè)裝置以及位置關(guān)系檢測(cè)系統(tǒng)
- 關(guān)系建模
- 關(guān)系分析方法、關(guān)系分析程序、以及關(guān)系分析裝置
- 實(shí)體關(guān)系分類裝置和實(shí)體關(guān)系分類方法
- 用戶關(guān)系抽取方法和用戶關(guān)系抽取系統(tǒng)
- 融合依存關(guān)系與篇章修辭關(guān)系的事件時(shí)序關(guān)系識(shí)別方法
- 開(kāi)關(guān)系統(tǒng)
- 視頻視覺(jué)關(guān)系檢測(cè)的關(guān)系片段連接方法
- 開(kāi)關(guān)系統(tǒng)
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置
- 帶有前處理和后處理的數(shù)據(jù)庫(kù)復(fù)合查詢系統(tǒng)及方法
- 數(shù)據(jù)庫(kù)查詢的方法和系統(tǒng)
- 查詢系統(tǒng)、查詢終端以及查詢方法
- 交易信息查詢方法、查詢裝置及查詢系統(tǒng)
- 數(shù)據(jù)查詢與結(jié)果生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 在RDF數(shù)據(jù)集上進(jìn)行OPTIONAL查詢的方法及存儲(chǔ)介質(zhì)
- 一種多表關(guān)聯(lián)查詢方法、裝置及設(shè)備
- 一種基于Impala的查詢方法和裝置
- 從查詢生成子查詢
- 一種基于通用查詢語(yǔ)言的查詢方法及查詢系統(tǒng)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





