宋晨陽, 寇 鵬, 滕曉曉
(上海通用識別技術(shù)研究所, 上海 201112)
基于數(shù)據(jù)字典的數(shù)據(jù)庫索引技術(shù)研究*
宋晨陽, 寇 鵬, 滕曉曉
(上海通用識別技術(shù)研究所, 上海 201112)
數(shù)據(jù)字典是指對數(shù)據(jù)的數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程等進行定義和描述。數(shù)據(jù)字典是數(shù)據(jù)庫的中心,對每個用戶非常重要,是信息系統(tǒng)進行數(shù)據(jù)分析階段的主要工具。結(jié)合數(shù)據(jù)字典設(shè)計原理,提出多種類型的數(shù)據(jù)字典規(guī)則,結(jié)合不同數(shù)據(jù)處理的需求,合理組合不同類型的數(shù)據(jù)字典可以在很大程度上提升信息處理過程中的檢索效率,通過對索引策略和多數(shù)據(jù)字典對應(yīng)關(guān)系的限制,增強數(shù)據(jù)庫系統(tǒng)的健壯性,提高信息安全的強度。
數(shù)據(jù)字典 信息索引 數(shù)據(jù)處理 信息安全
如今,針對海量數(shù)據(jù)的檢索查詢主要依賴于數(shù)據(jù)庫技術(shù),通過數(shù)據(jù)庫索引可以極大提高數(shù)據(jù)查詢檢索的速度。利用構(gòu)造唯一性索引能夠保證數(shù)據(jù)表中特定數(shù)據(jù)的檢索唯一性,顯著減少查詢中分組和排序的時間。然而創(chuàng)建索引以及對所索引的維護往往耗費大量的存儲空間和時間。為了降低因數(shù)據(jù)量的急劇增加引起的檢索效率的下降,本文提出基于多種數(shù)據(jù)字典建立檢索策略的方法,從而可以提高檢索效率,減少不必要的系統(tǒng)開銷,從而對數(shù)據(jù)庫檢索提供了一種思路。
1.1 數(shù)據(jù)字典
數(shù)據(jù)字典是數(shù)據(jù)庫中存儲級的,也是訪問數(shù)據(jù)庫的接口[1]。數(shù)據(jù)字典是構(gòu)建數(shù)據(jù)庫過程中不可缺少的組成部分,能夠?qū)?shù)據(jù)庫進行有效管理,對優(yōu)化數(shù)據(jù)庫結(jié)構(gòu)有重要作用。數(shù)據(jù)字典能夠在數(shù)據(jù)庫設(shè)計階段、實現(xiàn)階段、運行階段起著重要作用,能夠在不同階段管理各種數(shù)據(jù)庫信息。數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,能進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析。通常包含5個部分:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲以及處理過程。
數(shù)據(jù)項:數(shù)據(jù)項是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)項的描述如下:
數(shù)據(jù)項={數(shù)據(jù)項名稱,數(shù)據(jù)項說明,數(shù)據(jù)類型,數(shù)據(jù)項長度,數(shù)據(jù)項取值范圍,數(shù)據(jù)項取值含義,數(shù)據(jù)項之間的邏輯關(guān)系}[2],其中“數(shù)據(jù)項取值范圍”、“ 數(shù)據(jù)項之間的邏輯關(guān)系”是限制數(shù)據(jù)項的約束條件,是檢驗數(shù)據(jù)功能的依據(jù)。
數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)主要表現(xiàn)了數(shù)據(jù)之間的邏輯關(guān)系。數(shù)據(jù)結(jié)構(gòu)既能夠由幾個數(shù)據(jù)項構(gòu)成,也能夠由幾個數(shù)據(jù)結(jié)構(gòu)構(gòu)成,也可以由數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)共同構(gòu)成。數(shù)據(jù)結(jié)構(gòu)的描述如下:
數(shù)據(jù)結(jié)構(gòu)={數(shù)據(jù)結(jié)構(gòu)名稱,數(shù)據(jù)結(jié)構(gòu)說明,數(shù)據(jù)結(jié)構(gòu)組成}。
數(shù)據(jù)流:數(shù)據(jù)流描述了數(shù)據(jù)結(jié)構(gòu)在數(shù)據(jù)庫系統(tǒng)內(nèi)傳輸?shù)能壽E。數(shù)據(jù)流的描述如下:
數(shù)據(jù)流描述={數(shù)據(jù)流名稱,數(shù)據(jù)流說明,數(shù)據(jù)流源,數(shù)據(jù)流去向,數(shù)據(jù)流組成,數(shù)據(jù)流平均流量,數(shù)據(jù)流峰值流量}。
數(shù)據(jù)存儲:數(shù)據(jù)存儲描述了數(shù)據(jù)結(jié)構(gòu)保存的位置。數(shù)據(jù)存儲的描述如下:
數(shù)據(jù)存儲描述={數(shù)據(jù)存儲名稱,數(shù)據(jù)存儲說明,數(shù)據(jù)存儲編號,數(shù)據(jù)存儲組成,數(shù)據(jù)存儲方式}。
處理過程:處理過程描述了數(shù)據(jù)字典中對數(shù)據(jù)進行處理的過程性說明,處理過程的描述如下:
處理過程描述={處理過程名稱,處理過程說明,處理過程輸入,處理過程輸出,處理過程說明}。
1.2 數(shù)據(jù)庫索引
索引建立了數(shù)據(jù)表中某一列或者多列數(shù)據(jù)項值排序的結(jié)構(gòu),通過索引能夠?qū)?shù)據(jù)庫中的信息進行快速查詢[3]。索引是對數(shù)據(jù)庫表中一個或多個列的值進行排序的結(jié)構(gòu)。如果想按特定職員的姓來查找他或她,則與在表中搜索所有的行相比,索引有助于更快地獲取信息。數(shù)據(jù)庫的索引類似于書籍的索引。
索引可以加快數(shù)據(jù)庫的檢索速度。索引降低了數(shù)據(jù)庫插入、修改、刪除等維護任務(wù)的速度,索引創(chuàng)建在表上,不能創(chuàng)建在視圖上。索引既可以直接創(chuàng)建,也可以間接創(chuàng)建。利用索引進行檢索,能夠使查詢的過程更加高效快速,提高數(shù)據(jù)庫系統(tǒng)的性能。
全文檢索不單是一種快速的字串匹配系統(tǒng),要獲得良好的檢索效果,必須靈活使用和參考數(shù)據(jù)字典。數(shù)據(jù)字典的靈活運用可以提高檢索效率與準確性。本文提出建立如下類型的數(shù)據(jù)字典,通過在不同檢索條件組合可以有效滿足信息檢索條件。
2.1 分詞字典
中文按詞索引和檢索依賴于以字典為基礎(chǔ)的分詞算法。分詞字典由詞匯組成,分詞字典的每個詞匯具有語法屬性,以提高分詞的準確性。生僻詞沒有加到分詞字典的必要,通過其他檢索方式也能檢索。
2.2 附加分詞字典
附加分詞字典是分詞字典的補充。分詞字典是主要包含一些通用的分詞方式,但不包含一些專業(yè)詞匯和特殊詞匯。通過建立新的附加分詞字典,并在創(chuàng)建數(shù)據(jù)庫時指定引用該附加分詞字典,系統(tǒng)進行分詞時將分詞字典以及附加分詞字典的詞匯同時納入考慮范疇。
2.3 排除字典
排除字典,主要由一些沒有實際意義的高頻詞構(gòu)成的,如英文文獻中的冠詞“the”、介詞“to”、連詞“or”等詞,中文中的“的”、“但”、“而”等詞。從語義來看,這些詞沒有實際檢索意義,但屬于高頻出現(xiàn)詞,經(jīng)常會占用大量檢索資源。通過索引過程使用排除字典,能夠去除掉很多沒有意義的高頻詞,降低數(shù)據(jù)庫的空間占用資源、提高檢索效率。
排除字典主要包含標點符號、高頻副詞等。排除字典在創(chuàng)建數(shù)據(jù)庫時引用。當(dāng)需要過濾更多的無意義詞時,可通過創(chuàng)建附加排除字典來實現(xiàn),在2.4節(jié)中有所體現(xiàn)。一個詞是否適合作為排除詞,要與該數(shù)據(jù)庫的領(lǐng)域相結(jié)合,如在數(shù)據(jù)庫領(lǐng)域的文獻中,數(shù)據(jù)庫可以視為排除詞,因為在每一篇文獻中幾乎都會出現(xiàn)該詞,沒有實際檢索意義。
2.4 附加排除字典
排除字典是通用領(lǐng)域的數(shù)據(jù)字典,不包含特殊領(lǐng)域的無檢索意義的詞匯。附加排除字典是排除字典的補充。通過建立新的附加排除字典,并在創(chuàng)建數(shù)據(jù)庫時指定引用該附加排除字典。附加排除字典一般包含了某個專業(yè)領(lǐng)域的高頻詞,通過利用附加排除字典,可以有效排除某一領(lǐng)域范圍內(nèi)大量高頻詞的重復(fù)檢索,提升查詢速度。
2.5 稀疏字典
在一些情況下,用戶希望不進行全文檢索就可以從自動抽取一些詞語形成檢索關(guān)鍵詞,即根據(jù)需求索引關(guān)鍵詞。稀疏字典就起到了存儲這些關(guān)鍵詞匯的作用。在檢索過程中通過利用稀疏字典,可以有效降低檢索維度,降低全文檢索過程中比對時間。
2.6 主題字典
主題字典主要在檢索時起到后控制作用、在標引時起到自動或輔助挑選索引詞的作用,能夠有效提高查全率和查準率,并且能夠完成多語言檢索和智能化檢索。
在數(shù)據(jù)庫中,建立索引可以提升檢索效率,但是創(chuàng)建索引和維護索引要耗費時間,索引需要占物理空間。因此,需要建立不同的索引策略。主要有如下4種[4]:根據(jù)中文字檢索的策略、根據(jù)中文詞檢索的策略、根據(jù)自定義關(guān)鍵詞檢索的策略,以及二元組索引策略。在具體應(yīng)用中,索引策略的選擇主要由數(shù)據(jù)類型的特點、檢索的實際需求和系統(tǒng)資源限制等決定。
按字索引:按字索引策略往往用于小規(guī)模數(shù)據(jù)庫和非現(xiàn)代漢語數(shù)據(jù)庫。其主要優(yōu)點是:不用借助自動分詞技術(shù),實現(xiàn)起來相對簡單容易。可以對文言文進行索引。查全率較高,可以避免自動分詞產(chǎn)生的錯誤。
按詞索引:按詞索引是大部分中文數(shù)據(jù)庫的首選策略。其優(yōu)點主要體現(xiàn)在:一、查準率相對較高。二、檢索速度較快。根據(jù)測試結(jié)果,應(yīng)用于大型數(shù)據(jù)庫,按詞索引比按字索引的查詢速度快5~10倍。三、空間膨脹率低。某個詞通常包含有多個字,因此按詞索引可以大大降低索引量,配合使用停用字典[5],按詞索引文件比按字索引的空間膨脹率低50%~100%。
按詞索引是智能化檢索的前提。因為輔助字典是基于詞,所以只有按詞索引才能實現(xiàn)智能化檢索。
按關(guān)鍵詞索引:關(guān)鍵詞索引是基于抽詞索引技術(shù),在按詞索引的前提下,只抽取特定的一些詞進行索引。將關(guān)鍵詞構(gòu)成一部稀疏字典,基于稀疏字典進行索引。專用領(lǐng)域的文獻通常按關(guān)鍵詞索引。
二元組索引:該策略是在按詞索引的前提下對高頻詞進行二元組合,亦或是在按字索引時對高頻字進行二元組合。若二元組包含分詞字典或者附加分詞字典,則稱作按詞二元組;若不包含分詞字典或附加分詞字典,則稱作按字二元組。二元組索引是對按詞索引和按字索引的擴展。
通過以上分析,不同的索引策略需要不同的索引字典。表1分析了所得索引策略和多種數(shù)據(jù)字典的對應(yīng)關(guān)系。

表1 索引策略和數(shù)據(jù)字典對應(yīng)
本文主要研究了基于數(shù)據(jù)字典數(shù)據(jù)庫索引策略。主要介紹了數(shù)據(jù)字典、信息索引的有關(guān)概念。分析比較了不同索引策略的優(yōu)缺點,提出了多種不同類型的數(shù)據(jù)字典,每種數(shù)據(jù)字典都能夠在特定檢索條件下發(fā)揮一定的優(yōu)勢。文中詳細分析了不同索引策略的適用范圍,并將不同索引策略與多種數(shù)據(jù)字典形成對應(yīng)關(guān)系,這樣可以在提升檢索效率的同時,減少數(shù)據(jù)庫索引的資源消耗,對于數(shù)據(jù)庫檢索有一定的借鑒意義。數(shù)據(jù)字典是數(shù)據(jù)庫中的重要組成部分,會存儲大量的用戶信息、用戶的權(quán)限信息、數(shù)據(jù)權(quán)限信息以及表的約束條件,對于數(shù)據(jù)信息的不當(dāng)索引往往引起一些安全隱患,導(dǎo)致敏感數(shù)據(jù)的泄露,采用基于數(shù)據(jù)字典的數(shù)據(jù)庫索引,在增加索引效率的同時,可以提升數(shù)據(jù)庫的安全性。
數(shù)據(jù)庫是結(jié)構(gòu)復(fù)雜的信息檢索系統(tǒng),存儲的信息包含很多實體數(shù)據(jù)的同時,還含有一些有用的非實體數(shù)據(jù)。如實體數(shù)據(jù)之間的聯(lián)系、實體數(shù)據(jù)項的類型、長度、密碼、結(jié)構(gòu)等。這些非實體數(shù)據(jù)從某種意義上來講是數(shù)據(jù)庫的情報系統(tǒng),假如沒有這些數(shù)據(jù)或這些數(shù)據(jù)受到損壞,那么整個數(shù)據(jù)庫系統(tǒng)將陷入癱瘓。為了使數(shù)據(jù)庫的設(shè)計、運維、擴展更加標準化,同時保證數(shù)據(jù)庫的安全性、有效性、完整性和可恢復(fù)性,利用數(shù)據(jù)字典來保存這些信息,并且采用優(yōu)化合理的索引策略,可以最大限度提升數(shù)據(jù)庫檢索效率,保證數(shù)據(jù)庫的安全運行。
[1] 郭勝輝, 孫玉芳. 基于數(shù)據(jù)字典庫的信息系統(tǒng)的設(shè)計[J]. 計算機學(xué)報, 2000(04):26-29. GUO Sheng-hui, SUN Yu-fang. The Information System Design based on the Dictionary Database [J]. Chinese Jounal of Computers,2000(04):26-29.
[2] 李嵐. 基于角色的數(shù)據(jù)庫安全訪問控制的應(yīng)用[J].通信技術(shù), 2008,41(10):57-60. LI Lan. Application of Role-based Database Secure Access Control [J]. Communications Technology, 2008,41(10):57-60.
[3] 張文江, 何政偉, 吳爽. 基于安全數(shù)據(jù)字典的數(shù)據(jù)集成技術(shù)研究[J]. 計算機工程與設(shè)計,2013(05):12-15.
ZHANG Wen-jiang, HE Zheng-Wei, WU shuang.Research on secunity data dictionary based data intergrating technique[J]. Computer Engineering and Design,2013(05):12-15.
[4] Hock Chuan Chan, Knok Kee Wei. A System for Query Comp-Rehension [J]. Information and Software Technology, 1997,(03):141-149.
[5] S G Lee, L J Henschen, J Chun. Identifving Relevant Constrains for Semantic Query Optimization [J]. Information and Software Technology,2000(13):102-118.
SONG Chen-yang(1987-), male, M.Sci., engineer, majoring in information security.
寇 鵬(1987—),男,碩士,工程師,主要研究方向為信息安全;
KOU Peng(1987-), male, M.Sci., engineer, majoring in information security.
滕曉曉(1986—),女,碩士,工程師,主要研究方向為信息安全。
TENG Xiao-xiao(1986-), female, M.Sci., engineer, majoring in information security.
Database Index Technology based on Data Dictionary
SONG Chen-yang, KOU Peng, TENG Xiao-xiao
(Shanghai General Recognition Technology Institute, Shanghai 201112, China)
Data dictionary defines and describes data item, data structure, data flow, data storage and processing. As the center of database, data dictionary is of great importance to each user, and also serves as the main tool of information systems for data analysis. In combination with the design principle of data dictionary, the polytype data dictionary rules with different data processing requirements are proposed, and the rational combination of polytype data dictionary can greatly improve the retrieval efficiency in information processing. By restricting the retrieval strategy and correspondance of multidata dictionary, the robustness of database system could be enhanced and the intensity of information security also be improved.
data dictionary; information index; data processing; information security
date:2014-09-28;Revised date:2015-01-30
TP311.13
A
1002-0802(2015)03-0302-04
典是一種基于語義的字典,由詞本身和詞之間的關(guān)系構(gòu)成,可以代表某領(lǐng)域的相關(guān)語義概念。主題字典支持13種詞間關(guān)系。包括族首詞、上位詞、下位詞、等同詞、替代詞(用代詞)、相關(guān)詞、縮略詞、被縮略詞、組合概念、歷史注釋、范圍注釋、外文等同詞、后組配概念。
宋晨陽(1987—),男,碩士,工程師,主要研究方向為信息安全;
10.3969/j.issn.1002-0802.2015.03.011
2014-09-28;
2015-01-30