宋晨阳, 寇 鹏, 滕晓晓
(上海通用识别技术研究所, 上海 201112)
基于数据字典的数据库索引技术研究*
宋晨阳, 寇 鹏, 滕晓晓
(上海通用识别技术研究所, 上海 201112)
数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理过程等进行定义和描述。数据字典是数据库的中心,对每个用户非常重要,是信息系统进行数据分析阶段的主要工具。结合数据字典设计原理,提出多种类型的数据字典规则,结合不同数据处理的需求,合理组合不同类型的数据字典可以在很大程度上提升信息处理过程中的检索效率,通过对索引策略和多数据字典对应关系的限制,增强数据库系统的健壮性,提高信息安全的强度。
数据字典 信息索引 数据处理 信息安全
如今,针对海量数据的检索查询主要依赖于数据库技术,通过数据库索引可以极大提高数据查询检索的速度。利用构造唯一性索引能够保证数据表中特定数据的检索唯一性,显著减少查询中分组和排序的时间。然而创建索引以及对所索引的维护往往耗费大量的存储空间和时间。为了降低因数据量的急剧增加引起的检索效率的下降,本文提出基于多种数据字典建立检索策略的方法,从而可以提高检索效率,减少不必要的系统开销,从而对数据库检索提供了一种思路。
1.1 数据字典
数据字典是数据库中存储级的,也是访问数据库的接口[1]。数据字典是构建数据库过程中不可缺少的组成部分,能够对数据库进行有效管理,对优化数据库结构有重要作用。数据字典能够在数据库设计阶段、实现阶段、运行阶段起着重要作用,能够在不同阶段管理各种数据库信息。数据字典是各类数据描述的集合,能进行详细的数据收集和数据分析。通常包含5个部分:数据项、数据结构、数据流、数据存储以及处理过程。
数据项:数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据项的描述如下:
数据项={数据项名称,数据项说明,数据类型,数据项长度,数据项取值范围,数据项取值含义,数据项之间的逻辑关系}[2],其中“数据项取值范围”、“ 数据项之间的逻辑关系”是限制数据项的约束条件,是检验数据功能的依据。
数据结构:数据结构主要表现了数据之间的逻辑关系。数据结构既能够由几个数据项构成,也能够由几个数据结构构成,也可以由数据项和数据结构共同构成。数据结构的描述如下:
数据结构={数据结构名称,数据结构说明,数据结构组成}。
数据流:数据流描述了数据结构在数据库系统内传输的轨迹。数据流的描述如下:
数据流描述={数据流名称,数据流说明,数据流源,数据流去向,数据流组成,数据流平均流量,数据流峰值流量}。
数据存储:数据存储描述了数据结构保存的位置。数据存储的描述如下:
数据存储描述={数据存储名称,数据存储说明,数据存储编号,数据存储组成,数据存储方式}。
处理过程:处理过程描述了数据字典中对数据进行处理的过程性说明,处理过程的描述如下:
处理过程描述={处理过程名称,处理过程说明,处理过程输入,处理过程输出,处理过程说明}。
1.2 数据库索引
索引建立了数据表中某一列或者多列数据项值排序的结构,通过索引能够对数据库中的信息进行快速查询[3]。索引是对数据库表中一个或多个列的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。数据库的索引类似于书籍的索引。
索引可以加快数据库的检索速度。索引降低了数据库插入、修改、删除等维护任务的速度,索引创建在表上,不能创建在视图上。索引既可以直接创建,也可以间接创建。利用索引进行检索,能够使查询的过程更加高效快速,提高数据库系统的性能。
全文检索不单是一种快速的字串匹配系统,要获得良好的检索效果,必须灵活使用和参考数据字典。数据字典的灵活运用可以提高检索效率与准确性。本文提出建立如下类型的数据字典,通过在不同检索条件组合可以有效满足信息检索条件。
2.1 分词字典
中文按词索引和检索依赖于以字典为基础的分词算法。分词字典由词汇组成,分词字典的每个词汇具有语法属性,以提高分词的准确性。生僻词没有加到分词字典的必要,通过其他检索方式也能检索。
2.2 附加分词字典
附加分词字典是分词字典的补充。分词字典是主要包含一些通用的分词方式,但不包含一些专业词汇和特殊词汇。通过建立新的附加分词字典,并在创建数据库时指定引用该附加分词字典,系统进行分词时将分词字典以及附加分词字典的词汇同时纳入考虑范畴。
2.3 排除字典
排除字典,主要由一些没有实际意义的高频词构成的,如英文文献中的冠词“the”、介词“to”、连词“or”等词,中文中的“的”、“但”、“而”等词。从语义来看,这些词没有实际检索意义,但属于高频出现词,经常会占用大量检索资源。通过索引过程使用排除字典,能够去除掉很多没有意义的高频词,降低数据库的空间占用资源、提高检索效率。
排除字典主要包含标点符号、高频副词等。排除字典在创建数据库时引用。当需要过滤更多的无意义词时,可通过创建附加排除字典来实现,在2.4节中有所体现。一个词是否适合作为排除词,要与该数据库的领域相结合,如在数据库领域的文献中,数据库可以视为排除词,因为在每一篇文献中几乎都会出现该词,没有实际检索意义。
2.4 附加排除字典
排除字典是通用领域的数据字典,不包含特殊领域的无检索意义的词汇。附加排除字典是排除字典的补充。通过建立新的附加排除字典,并在创建数据库时指定引用该附加排除字典。附加排除字典一般包含了某个专业领域的高频词,通过利用附加排除字典,可以有效排除某一领域范围内大量高频词的重复检索,提升查询速度。
2.5 稀疏字典
在一些情况下,用户希望不进行全文检索就可以从自动抽取一些词语形成检索关键词,即根据需求索引关键词。稀疏字典就起到了存储这些关键词汇的作用。在检索过程中通过利用稀疏字典,可以有效降低检索维度,降低全文检索过程中比对时间。
2.6 主题字典
主题字典主要在检索时起到后控制作用、在标引时起到自动或辅助挑选索引词的作用,能够有效提高查全率和查准率,并且能够完成多语言检索和智能化检索。
在数据库中,建立索引可以提升检索效率,但是创建索引和维护索引要耗费时间,索引需要占物理空间。因此,需要建立不同的索引策略。主要有如下4种[4]:根据中文字检索的策略、根据中文词检索的策略、根据自定义关键词检索的策略,以及二元组索引策略。在具体应用中,索引策略的选择主要由数据类型的特点、检索的实际需求和系统资源限制等决定。
按字索引:按字索引策略往往用于小规模数据库和非现代汉语数据库。其主要优点是:不用借助自动分词技术,实现起来相对简单容易。可以对文言文进行索引。查全率较高,可以避免自动分词产生的错误。
按词索引:按词索引是大部分中文数据库的首选策略。其优点主要体现在:一、查准率相对较高。二、检索速度较快。根据测试结果,应用于大型数据库,按词索引比按字索引的查询速度快5~10倍。三、空间膨胀率低。某个词通常包含有多个字,因此按词索引可以大大降低索引量,配合使用停用字典[5],按词索引文件比按字索引的空间膨胀率低50%~100%。
按词索引是智能化检索的前提。因为辅助字典是基于词,所以只有按词索引才能实现智能化检索。
按关键词索引:关键词索引是基于抽词索引技术,在按词索引的前提下,只抽取特定的一些词进行索引。将关键词构成一部稀疏字典,基于稀疏字典进行索引。专用领域的文献通常按关键词索引。
二元组索引:该策略是在按词索引的前提下对高频词进行二元组合,亦或是在按字索引时对高频字进行二元组合。若二元组包含分词字典或者附加分词字典,则称作按词二元组;若不包含分词字典或附加分词字典,则称作按字二元组。二元组索引是对按词索引和按字索引的扩展。
通过以上分析,不同的索引策略需要不同的索引字典。表1分析了所得索引策略和多种数据字典的对应关系。
表1 索引策略和数据字典对应
本文主要研究了基于数据字典数据库索引策略。主要介绍了数据字典、信息索引的有关概念。分析比较了不同索引策略的优缺点,提出了多种不同类型的数据字典,每种数据字典都能够在特定检索条件下发挥一定的优势。文中详细分析了不同索引策略的适用范围,并将不同索引策略与多种数据字典形成对应关系,这样可以在提升检索效率的同时,减少数据库索引的资源消耗,对于数据库检索有一定的借鉴意义。数据字典是数据库中的重要组成部分,会存储大量的用户信息、用户的权限信息、数据权限信息以及表的约束条件,对于数据信息的不当索引往往引起一些安全隐患,导致敏感数据的泄露,采用基于数据字典的数据库索引,在增加索引效率的同时,可以提升数据库的安全性。
数据库是结构复杂的信息检索系统,存储的信息包含很多实体数据的同时,还含有一些有用的非实体数据。如实体数据之间的联系、实体数据项的类型、长度、密码、结构等。这些非实体数据从某种意义上来讲是数据库的情报系统,假如没有这些数据或这些数据受到损坏,那么整个数据库系统将陷入瘫痪。为了使数据库的设计、运维、扩展更加标准化,同时保证数据库的安全性、有效性、完整性和可恢复性,利用数据字典来保存这些信息,并且采用优化合理的索引策略,可以最大限度提升数据库检索效率,保证数据库的安全运行。
[1] 郭胜辉, 孙玉芳. 基于数据字典库的信息系统的设计[J]. 计算机学报, 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] 李岚. 基于角色的数据库安全访问控制的应用[J].通信技术, 2008,41(10):57-60. LI Lan. Application of Role-based Database Secure Access Control [J]. Communications Technology, 2008,41(10):57-60.
[3] 张文江, 何政伟, 吴爽. 基于安全数据字典的数据集成技术研究[J]. 计算机工程与设计,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
典是一种基于语义的字典,由词本身和词之间的关系构成,可以代表某领域的相关语义概念。主题字典支持13种词间关系。包括族首词、上位词、下位词、等同词、替代词(用代词)、相关词、缩略词、被缩略词、组合概念、历史注释、范围注释、外文等同词、后组配概念。
宋晨阳(1987—),男,硕士,工程师,主要研究方向为信息安全;
10.3969/j.issn.1002-0802.2015.03.011
2014-09-28;
2015-01-30