基于关系模型规范化理论查询效率研究

时间:2022-07-25 12:23:14

基于关系模型规范化理论查询效率研究

摘要:数据库规范化理论是关系模型中最广泛的理论,含义是将一个关系模型经过一定转换,分解为多个关系模型,通过层层优化,最终达到实体或实体关系间的一对一关系。但当强调某些特殊查询情况时,规范化程度过高的范式模型,并不能达到最优查询效率,因此根据情况需要通过反规范化理论的相关方法设计关系模型。本文将着重从查询数据性能的角度,通过LoadRnuner软件进行测试,对比特殊情况下两种模型的差别。

关键词:关系模型;规范化;反规范化

中图分类号:TP311文献标识码:A文章编号:1007-9599 (2011) 05-0000-02

Query Efficiency Research Based on Relational Model Standardization Theory

Zhu Leilei,Li Li,Liu Dan

(School of Computer Science and Technology,Changchun University of Science and Technology,Changchun130022,China)

Abstract:Database standardization theory is the most extensive theoryin relation model,meaning a relation model is after a certain conversion,decomposition for multiple relation model,through the layers of optimization,achieve finally the one-to-one relationships between entity or entities relationship.But when stressed,some special inquiring cases,the paradigm high degree of standardisation cannot achieve model,and the optimal inquires the efficiency that,according to the circumstances to design relations model on the related method of the reverse standardization theory.This paper emphatically from the Angle of the performance of data query,through LoadRnuner software testing,contrast the difference of two models on the special circumstances.

Keywords:Relation model;Standardization;Reverse Standardization

一、引言

数据库是一个系统存在的基础,系统数据库设计成功与否,决定了一个系统软件在使用中,是否具有较高的可靠性及可实用性。在数据库设计中,通常需要通过数据库规范化理论进行数据库设计。规范化理论是将关系模型由有缺陷的模型转化为完善的模型的理论。规范化理论是基于范式而建立的。它指出,关系模型的建立均要符合一定的约束条件,并将约束条件分为1NF、2NF、3NF、BNCF、4NF、5NF等级别越来越高的范式模型,用以约束所设计的数据库模型[1]。数据库中的数据规范化的目的是减少数据冗余,节约存储空间,同时减少系统输入、输出次数,加快数据库的增加、删除、修改的操作速度。但是由于完全规范化的数据模型,通常需要进行更多的连接操作,因此会将降低查询速度,并不总能生成最优的性能。因此,有时根据系统性能及查询要求,需要对数据模型进行反规范化设计或非规范化设计。

本文通过具体实例,比较规范化及非规范化下的数据模型的优缺点,并通过实际模型数据、图表等验证结果,对所提出的不同关系模型解决方案提供可行性的数据分析。

二、影响数据库性能的因素

监听SQL Server响应性能的指标包括:

1.Cache Hit Ratio(缓存点击率)

2.Full Scans/sec(全表扫描/秒)

3.Number of Deadlocks/sec(死锁数量/秒)

4.Lock Request/sec(锁请求/秒)[3]

由于SQL SERVER的数据分割功能[4],在查询小额度数据对象的情况下,规范化模型和反规范化模型的响应性能指标差别并不明显,但在操作大数据表或某些强调查询效率的问题上,不同数据模型结果的差异是明显的。

三、两种关系模型理论的模型特点

以下以光盘发行管理数据模型表作为实例说明规范化及反规范化各自在数据表连接时的特点。所监听的性能指标包括登录数据库的时间、获得查询语句的时间等。本实验着重通过测试规范化理论下的3NF与反规范化理论的增加冗余列、重复表、合并表进行测试数据比较。

(一)规范化数据关系模型理论形式

假定有如下两表存储光盘信息相关内容:

Table1¬¬_光盘目录表――[责任人编号,光盘号,发行单位,单位地址,发行时间,光盘名称]

Table2_光盘使用信息表――[光盘编号,使用单位名称]

因规范化理论的3NF强调消除非主码对任何候选码的传递依赖。故相应的关系模型如下

光盘目录表拆分(分别为光盘1表、人员1表、单位表)结果:

ID 光

号 光

称 发

间 责任人发行号

R光盘1

ID 单位名称号 责任人名称 发

间 责任人发行编号

R人员1

ID 单

号 单位名称 单位地址

R单位

光盘使用信息表拆分结果:

R光盘2(光盘编号,使用单位名称)

(二)反规范化数据关系理论模型形式

冗余列:其基本思想是通过在某一表中增加一冗余列,以此减少多表连接操作时查询速度的降低,优化系统效率。

重复表:当需要查询的某个字段多次出现时,可将所需字段单独拆分成一个表,该表的数据与其他表中的某些数据可能是重复的。

合并表:思想上与增加冗余列的方法类似,但它强调当查询多个数据集合时,将相关字段合并成一个表,来减少查询中的连接次数。

四、不同理论模型下的性能比较实验

(一)实验环境

采用单机实验环境:[5]

CPU:Intel Core-I5 560M;

Memory:3G;

OS:Windows Server 2003;

Testing:LoadRunner V8.1;

SQL:SQL 2000 EE SP4.

(二)实验操作

实验一:大量数据查询时性能比较

本实验模拟查询10000条光盘号一定的光盘名称及使用单位名称(光盘号“001”、责任人编号“0905”)。因反规范化模型中增加重复表可基于某字段被大量快速查询的特点,故本实验采用该方法。新建―光盘信息表1(仅包含发行单、使用单位名称)两字段。

上一篇:新媒体影响下图像时代的文字传播 下一篇:直播室内啸叫问题的处理方法