[發(fā)明專利]視圖數(shù)據(jù)處理方法及裝置在審
| 申請(qǐng)?zhí)枺?/td> | 202110227983.2 | 申請(qǐng)日: | 2021-03-02 |
| 公開(kāi)(公告)號(hào): | CN112947936A | 公開(kāi)(公告)日: | 2021-06-11 |
| 發(fā)明(設(shè)計(jì))人: | 冼鴻業(yè);黃曉濤 | 申請(qǐng)(專利權(quán))人: | 廣州海量數(shù)據(jù)庫(kù)技術(shù)有限公司 |
| 主分類號(hào): | G06F8/41 | 分類號(hào): | G06F8/41 |
| 代理公司: | 北京尚鉞知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11723 | 代理人: | 王海榮 |
| 地址: | 510510 廣東省廣州市天河區(qū)建*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 視圖 數(shù)據(jù)處理 方法 裝置 | ||
本發(fā)明提供一種視圖數(shù)據(jù)處理方法及裝置,該方法包括:對(duì)視圖DML語(yǔ)句語(yǔ)法解析以及語(yǔ)義分析,得到查詢樹(shù);根據(jù)視圖的基表信息重寫查詢樹(shù);其中,對(duì)于重寫的查詢樹(shù),將視圖映射為基表以及將操作的視圖字段映射為基表的字段;根據(jù)所述重寫的查詢樹(shù)生成執(zhí)行計(jì)劃,執(zhí)行所述執(zhí)行計(jì)劃,并反饋執(zhí)行結(jié)果。本發(fā)明通過(guò)視圖去實(shí)際操作基表,從而實(shí)現(xiàn)了基表部分字段的權(quán)限控制。
技術(shù)領(lǐng)域
本發(fā)明涉及視圖數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種視圖數(shù)據(jù)處理方法及裝置。
背景技術(shù)
在傳統(tǒng)數(shù)據(jù)庫(kù)上,通過(guò)普通表來(lái)定義的視圖只能進(jìn)行查詢操作;需要修改數(shù)據(jù)時(shí),只能通過(guò)對(duì)視圖基表進(jìn)行修改。傳統(tǒng)的視圖無(wú)法直接通過(guò)視圖修改數(shù)據(jù),如果用戶沒(méi)有視圖基表的訪問(wèn)權(quán)限,則無(wú)法修改數(shù)據(jù);也無(wú)法通過(guò)視圖來(lái)實(shí)現(xiàn)對(duì)表的字段的權(quán)限進(jìn)行控制。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種視圖數(shù)據(jù)處理方法及裝置,以通過(guò)視圖去實(shí)際操作基表,進(jìn)而實(shí)現(xiàn)基表部分字段的權(quán)限控制。
一方面,本發(fā)明提供一種視圖數(shù)據(jù)處理方法,包括:對(duì)視圖DML語(yǔ)句語(yǔ)法解析以及語(yǔ)義分析,得到查詢樹(shù);根據(jù)視圖的基表信息重寫查詢樹(shù);其中,對(duì)于重寫的查詢樹(shù),將視圖映射為基表以及將操作的視圖字段映射為基表的字段;根據(jù)所述重寫的查詢樹(shù)生成執(zhí)行計(jì)劃,執(zhí)行所述執(zhí)行計(jì)劃,并反饋執(zhí)行結(jié)果。
進(jìn)一步地,根據(jù)視圖的基表信息重寫查詢樹(shù)的步驟包括:檢查視圖是否沒(méi)有INSTEAD規(guī)則和INSTEAD觸發(fā)器;若沒(méi)有INSTEAD規(guī)則和INSTEAD觸發(fā)器,則判斷視圖是否可以修改:在確認(rèn)視圖可以修改時(shí),對(duì)視圖的基表加鎖,并獲取基表信息;將獲取的基表信息加到查詢樹(shù)中將獲取的基表信息加到查詢樹(shù)中;重寫查詢樹(shù)中所有引用視圖的列,改為引用基表的相關(guān)列;重寫查詢樹(shù)中所有引用視圖信息的節(jié)點(diǎn),改為引用基表信息。
進(jìn)一步地,判斷視圖是否允許修改的步驟包括:在視圖同時(shí)符合以下情況時(shí),確認(rèn)視圖允許修改:視圖的定義語(yǔ)句中不含有DISTINCT、GROUP BY、HAVING、UNION、INTERSECT、EXCEPT、WITH AS、LIMIT、OFFSET子句;視圖的定義語(yǔ)句中只有一個(gè)普通表或者另一個(gè)視圖;視圖的字段只能引用基表的普通字段,并且不能重復(fù)引用所述基表的普通字段。
進(jìn)一步地,在重寫查詢樹(shù)中所有引用視圖信息的節(jié)點(diǎn),改為引用基表信息的步驟之后包括:若視圖DML語(yǔ)句為插入或更新操作,更新目標(biāo)條目中的位置信息;若視圖DML語(yǔ)句為更新或刪除操作,且視圖的定義語(yǔ)句有條件子句,拷貝一份條件子句;并將重寫的查詢樹(shù)的條件語(yǔ)句中引用視圖信息的節(jié)點(diǎn),改為引用基表信息;以及將條件子句合并到重寫的查詢樹(shù)的條件語(yǔ)句中。
進(jìn)一步地,在所述視圖的基表為視圖時(shí),根據(jù)視圖的基表信息重寫查詢樹(shù)的步驟包括:
根據(jù)視圖的基表信息遞歸重寫查詢樹(shù)。
另一方面,本發(fā)明還提供一種視圖數(shù)據(jù)處理裝置,包括:查詢樹(shù)初定模塊,用于對(duì)視圖DML語(yǔ)句語(yǔ)法解析以及語(yǔ)義分析,得到查詢樹(shù);查詢樹(shù)重寫模塊,用于根據(jù)視圖的基表信息重寫查詢樹(shù);其中,對(duì)于重寫的查詢樹(shù),將視圖映射為基表以及將操作的視圖字段映射為基表的字段;查詢樹(shù)執(zhí)行模塊,用于根據(jù)所述重寫的查詢樹(shù)生成執(zhí)行計(jì)劃,執(zhí)行所述執(zhí)行計(jì)劃,并反饋執(zhí)行結(jié)果。
進(jìn)一步地,所述查詢樹(shù)重寫模塊具體用于檢查視圖是否沒(méi)有INSTEAD規(guī)則和INSTEAD觸發(fā)器;若沒(méi)有INSTEAD規(guī)則和INSTEAD觸發(fā)器,則判斷視圖是否可以修改:在確認(rèn)視圖可以修改時(shí),對(duì)視圖的基表加鎖,并獲取基表信息;將獲取的基表信息加到查詢樹(shù)中;重寫查詢樹(shù)中所有引用視圖的列,改為引用基表的相關(guān)列;重寫查詢樹(shù)中所有引用視圖信息的節(jié)點(diǎn),改為引用基表信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣州海量數(shù)據(jù)庫(kù)技術(shù)有限公司,未經(jīng)廣州海量數(shù)據(jù)庫(kù)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110227983.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)處理設(shè)備,數(shù)據(jù)處理方法,和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理電路、數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法、數(shù)據(jù)處理控制方法
- 數(shù)據(jù)處理設(shè)備、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及計(jì)算機(jī)可讀取的記錄介質(zhì)
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(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ì)





