国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)系型數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)方法研究

2015-05-30 12:11:16毛金玲
關(guān)鍵詞:模式圖關(guān)系數(shù)據(jù)庫元組

毛金玲

摘要:實(shí)現(xiàn)基于關(guān)系數(shù)據(jù)庫的信息(關(guān)鍵字)檢索,將使用戶不需要任何SQL語言和底層數(shù)據(jù)庫模式的知識,就像使用搜索引擎一樣來獲取數(shù)據(jù)庫中的相關(guān)數(shù)據(jù)。關(guān)系數(shù)據(jù)庫的關(guān)鍵字檢索技術(shù)已經(jīng)成為目前數(shù)據(jù)庫領(lǐng)域中的一個(gè)研究重點(diǎn)。

關(guān)鍵詞:關(guān)系數(shù)據(jù)庫? 關(guān)鍵詞查詢? 數(shù)據(jù)庫模式

1 系統(tǒng)總體設(shè)計(jì)

面向關(guān)系數(shù)據(jù)庫的關(guān)鍵字查詢系統(tǒng)主要有五部分組成,首先要分析輸入的關(guān)鍵字,有幾個(gè)關(guān)鍵字組成;然后調(diào)用全文索引,查看這些關(guān)鍵字所屬,是表名、屬性名還是屬性值;接下來查詢數(shù)據(jù)庫的模式圖,從而得到幾種可能的元組連接樹;最后將相應(yīng)元組連接樹轉(zhuǎn)化成SQL語句查詢關(guān)系數(shù)據(jù)庫,生成查詢結(jié)果,以二維表格形式顯示。由上述內(nèi)容可得系統(tǒng)流程圖如圖1所示。

2 數(shù)據(jù)庫設(shè)計(jì)

本系統(tǒng)為面向關(guān)系數(shù)據(jù)庫的關(guān)鍵字查詢系統(tǒng),在實(shí)驗(yàn)中本文選取了IMDB 數(shù)據(jù)集,為了進(jìn)行實(shí)驗(yàn),將數(shù)據(jù)集整理為以下七個(gè)表數(shù)據(jù)結(jié)構(gòu)。

實(shí)驗(yàn)數(shù)據(jù)集(電影信息數(shù)據(jù)庫):Actor(演員表)、Consume(設(shè)計(jì)師)、Director(導(dǎo)演信息)、Business(投資)、Editor(編輯)、Color(顏色信息)、Keyword(關(guān)鍵詞)。

本數(shù)據(jù)庫抽象的數(shù)據(jù)庫關(guān)系E-R圖如圖2所示。

圖2為數(shù)據(jù)庫關(guān)系的E-R圖。在圖中,黃色鑰匙為每個(gè)表的主鍵,黑線部分為表之間外鍵關(guān)系,設(shè)定除business表外每個(gè)表都有一個(gè)外鍵mvname,而在抽象出的關(guān)系圖中,以mvname和episode為數(shù)據(jù)庫每個(gè)表之間最重要的聯(lián)系,即表之間關(guān)系以mvname和episode屬性為聯(lián)系。

3 數(shù)據(jù)庫索引設(shè)計(jì)

在關(guān)系型數(shù)據(jù)庫中,例如Oracle、DB2、SQL Server 和MySQL等都提供了對關(guān)鍵字查詢的擴(kuò)展,可以為數(shù)據(jù)庫的表屬性建立全文索引,這為實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫的關(guān)鍵字查詢提供了基礎(chǔ)。已有多個(gè)關(guān)系數(shù)據(jù)庫的關(guān)鍵字查詢系統(tǒng)被開發(fā)出來,BANKS、DISCOVER、IR-style、SEKKER等等。然而在已有的系統(tǒng)中,多數(shù)系統(tǒng)僅僅支持?jǐn)?shù)據(jù)庫中文本屬性的查詢,卻忽略了對數(shù)據(jù)庫中元數(shù)據(jù)的處理。如果用戶給定的查詢關(guān)鍵字是數(shù)據(jù)庫中的元數(shù)據(jù),則有些系統(tǒng)就不能夠滿足用戶的查詢需求,或者查詢結(jié)果不夠精確,返回大量與查詢不相關(guān)的結(jié)果。SEKKER雖然提出了支持?jǐn)?shù)字屬性和元數(shù)據(jù)的查詢,但是卻在查詢語言上做了限定,只能通過給定的查詢語言格式進(jìn)行查詢,所以系統(tǒng)的靈活性不高。

關(guān)鍵字{“Color”“Director”}的索引結(jié)構(gòu)如表1所示。

表1? 關(guān)鍵字{“Color”“Director”}的索引結(jié)構(gòu)

4 數(shù)據(jù)庫模式圖的構(gòu)建

在關(guān)系數(shù)據(jù)庫中,關(guān)鍵字是通過主外鍵進(jìn)行連接的,因此關(guān)系數(shù)據(jù)庫采用的數(shù)據(jù)模型,即為基于模式圖建模。模式圖的節(jié)點(diǎn)對應(yīng)數(shù)據(jù)庫中的關(guān)系,邊表示關(guān)系間的主外鍵約束。

模式圖(Schema Graph,GS)是將關(guān)系數(shù)據(jù)庫的模式信息定義為模式圖GS(V,E),其中V表示模式圖中的節(jié)點(diǎn),與數(shù)據(jù)庫中的關(guān)系一一對應(yīng),E表示模式圖中的邊,將具有主外碼約束相對應(yīng)的關(guān)系連接起來,關(guān)系Ri和關(guān)系Rj中的主外鍵關(guān)系對應(yīng)模式圖一條邊Ri→Rj。

本文數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)庫模式圖如圖3所示。

5 關(guān)鍵字檢索設(shè)計(jì)

關(guān)鍵字檢索技術(shù)主要是,通過分析用戶輸入的關(guān)鍵字所屬類型來確定元組連接樹,從而轉(zhuǎn)換成相應(yīng)的SQL語句來查詢關(guān)系數(shù)據(jù)庫。如果用戶輸入的關(guān)鍵字都是表名,則將幾個(gè)表自然連接后輸出即可;若用戶輸入的關(guān)鍵字有表名、屬性名,那么將屬性列加到表中輸出就是用戶所檢索的內(nèi)容;若用戶輸入的關(guān)鍵字中有屬性值,則將屬性值對應(yīng)屬性與表或?qū)傩粤羞B接,根據(jù)屬性值對應(yīng)元組來顯示查詢結(jié)果。由此可見,對于相同的關(guān)鍵字,如果它不止一種所屬值,那么它就會對應(yīng)不同的SQL語句。

6 結(jié)果生成設(shè)計(jì)

在本文中,將查詢結(jié)果定義為元組連接樹。給定一個(gè)數(shù)據(jù)庫模式圖GS,一個(gè)元組連接樹T是一棵元組樹。其中,T中的每一條邊(ti,tj)(ti∈Ri,tj∈Rj)滿足以下兩個(gè)要求:①(Ri,Rj)∈GS,②ti∞tj∈Ri∞Rj。同時(shí)這些元組連接樹滿足以下條件:①完整性:用戶提交的所有關(guān)鍵字均出現(xiàn)在元組連接樹上;②最小性:從元組連接樹中移除任何元組后的元組連接樹都不具有完整性。

元組連接樹生成規(guī)則偽代碼如下:

Data Structure:

Result:Generate JTT

1:Known set of JTT by GS((Ri,Rj)∈GS)

2:Known Keyword{k1,k2}

3:if(k1=ti,k2=tj(ti∈Ri,tj∈Rj))

4:generate(ti,tj)

5:end if

7 結(jié)束語

本文將生成的關(guān)系圖轉(zhuǎn)換為SQL查詢,通過執(zhí)行相應(yīng)的查詢,進(jìn)而得到每個(gè)關(guān)系路徑對應(yīng)的查詢結(jié)果。因?yàn)殛P(guān)系圖是按照關(guān)聯(lián)度進(jìn)行返回的,但是這樣關(guān)聯(lián)度僅僅的將關(guān)鍵字映射在關(guān)系的層面上,為了使查詢結(jié)果更加明確,本文將結(jié)果進(jìn)行細(xì)化,將關(guān)鍵字映射到關(guān)系層面。為了避免大量冗余結(jié)果的產(chǎn)生,為了更精確的滿足用戶的查詢需求,將與關(guān)鍵字關(guān)系有關(guān)系的結(jié)果返回給用戶即可。

參考文獻(xiàn):

[1]林子雨,楊冬青,王騰蛟,張東站.基于關(guān)系數(shù)據(jù)庫的關(guān)鍵詞查詢[J].軟件學(xué)報(bào),2010(10).

[2]林子雨,鄒權(quán),賴永炫,林琛.關(guān)系數(shù)據(jù)庫中的關(guān)鍵詞查詢結(jié)果動(dòng)態(tài)優(yōu)化[J].軟件學(xué)報(bào),2014(03).

[3]李慧穎,瞿裕忠.基于關(guān)鍵詞的RDF數(shù)據(jù)查詢方法[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2010(02).

猜你喜歡
模式圖關(guān)系數(shù)據(jù)庫元組
關(guān)系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
山東冶金(2022年2期)2022-08-08 01:51:30
“雙勾模式圖”的推廣與應(yīng)用
Python核心語法
組織學(xué)模式圖繪畫視頻的制作及其應(yīng)用
海量數(shù)據(jù)上有效的top-kSkyline查詢算法*
基于減少檢索的負(fù)表約束優(yōu)化算法
模式圖及模式圖訓(xùn)練在口腔修復(fù)學(xué)教學(xué)中的應(yīng)用
基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索
面向數(shù)據(jù)流處理的元組跟蹤方法
一種基于數(shù)據(jù)圖劃分的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索方法
崇仁县| 仁寿县| 江西省| 柯坪县| 德江县| 榆林市| 黑河市| 桃园县| 陵水| 类乌齐县| 泗阳县| 洪雅县| 吴堡县| 长丰县| 嘉义县| 湖口县| 南宁市| 北安市| 壤塘县| 长阳| 青浦区| 宁蒗| 普定县| 旬邑县| 自治县| 临湘市| 钦州市| 文成县| 深水埗区| 长顺县| 黄骅市| 汝阳县| 吉隆县| 满洲里市| 镇远县| 林口县| 东方市| 紫金县| 黄平县| 海口市| 随州市|