公务员期刊网 论文中心 正文

数据库内容设计与优化

数据库内容设计与优化

[摘要]数据库系统为管理信息系统整体的根本与中心,它的功能是把许多数据根据有关的规则串联至一处,便捷精准,及时输出给使用者。设计数据库系统表面观之极其容易,可是达到数据库功能优化属于数据库设计中十分复杂困难的一项工作,使用程序组成、研发工具、界面选取与搜索设计皆能够进行改进。改善数据库设计是一种能够实现优化的重要方式。

[关键词]数据库设计;SQL数据库;性能优化

一、数据库结构及设计要点

要优化SQLServer数据库的功能,对于数据库设计而言,用户必须对其基本构造非常了解,并且亦需对数据库的存储模式十分熟悉。第一点,数据库一般包括一项重点数据文件,还包括一项或几项记事日记资料,有的数据库亦包括帮助资料。数据库会把重点信息资料作为起始,其余模块数据库文件执行监管,主信息资料包括数据库开始内容,对于整体信息而言,绝对不能够缺少主数据文件。就记事日志资料而言,其包括复原数据库的全部记载资料。就数据库来说,日记资料亦为不能够缺少的,一个数据库最少要有一项日记资料。非主要信息资料为剔除主信息资料以后余下的信息资料。对于数据库,若主信息资料含有全部资料,那么不可以设计数据库非主要信息资料。针对某些较大数据库,因为需要提升数据处理的速度,还会设计一部分非主要信息资料置于其中。数据库建立之初,将在对应的数据库中拷贝系统数据库内的模型数据库;SQLServer数据库,制定页面储存的规范信息单位大小是8KB的不间断的磁盘内存,数据库不可以交叉于PageSQLServer2000数据库,如每行至多允许存储8060字节内容;数据库增大属于索引、表拆分固定内存的标准单位,若表比较小,在扩大过程中能够和别的数据库共用,扩大8个邻近页面;事务日志文件中,会存某些关键数据用来快捷恢复数据,可用于系统故障需要数据恢复的状况。在设计数据库时,首要应知晓数据库的架构,了解数据库组成,对于数据库设计的规范化有益。

二、设计思路

在设计数据库构造时,某些时候总是被要求在多个表中同一时间进行各表共同搜索字段的设计,让工作过程在一个表中查找需要的资料,以此实现提升效率,减少运行时长的目标。

(一)完整性设计

数据库完整性设计将对DBMS产生直接影响,真实反映实际现状。采用完整性监管体制能够预防没有被授权的人对数据库进行不实的信息的增加,且实行操作规范用来让应用程序变得简单化,提升系统使用的容易性,且规避系统功能。此设计时期规则为,按照要求研究的结论,系统能够达到限制的标准,详细计划各式种类的完整性,尽可能去掉碰撞间的限制的完整性。通常而言,数据库完整性限制能够被划成为动与静两种。静态约束应囊括于数据库范围内。SQLServer主要支持UNIQUE约束、FOREIGN约束、DEFAULT约束、PRIMARY约束、CHECK约束、动态限制因素自身的限制一般由程序实现。之中,借鉴约束设计十分关键,其要求外键的值一定要为被借鉴关系或取自空值。

(二)物理结构设计

选取最适宜的物理构造、减少操作反馈时间、提升储存内存吞吐量与利用率为物理设计的追求。数据库的物理构造根本是指数据库的储存组成与访问方法。存在三个类型的访问方式:Cluser方法、HASH方法、Index方法,若Cluser思想与Index思维组合,能够更快捷地查阅信息。第一点Cluser索引维护产生更多的系统支出,因此创建Cluser的索引更优。用户采用普遍被用于搜索关键字的本质实施索引,如进行索引。各班的所有学生的成绩曾经一起变差,搜索的使用会多于更新的使用,类型一样的学生数据储存在不间断的物理区域里,能够降低操作次数,提升搜索速度。数据库储存构造,含有物理资料的真实保存确立途径;确立物理资料内存的最初大小,只大内存,增多备份计策的研发数,按期对事务记载与数据库做备份,若数据库出现异常,备份复原资料与自在被应用。备份计策,去除与备份的时间、位置、负责、种类、频率与应具备的硬件快慢与性能。日志资料能够记载全部的delete、update、insert操作,当全部动作皆被记载于记录资料中时,将造成信息资料增多,因此于每个学期的期末整理数据库,对其进行全部拷贝留存,能够选择清空记载资料方式来降低物理资料的量以保障系统功能的正常运行。

(三)触发器

触发器为一种特别的保存形式,与编程中的事件函数较为相像。SQLServer许可用户“输入”建立一项触发器为“删除”“更新”,若图表之中写入“UPDATE”与“DELETE”信息录入(视图)或一系列T-SQL语句时,SQLServer触发器种类可划分成“删除”、“更新”及“输入”三个种类触发器。若“输入”触发器被启动时,系统会建立一项称为“输入”的逻辑图表,且把插入的信息行拷贝至插入。若“删除”触发器被启动,系统会建立一项称为“删除”的逻辑图表,删除的信息行会被拷贝至删除。若“更新”触发器被启动了,系统会建立一项称作“delete.insert-ed”的逻辑表,把刷新前的数据行拷贝至删除后,刷新的数据行会被拷贝至插入。所以,“更新”触发器能够被解释成第一个“删除”行信息,之后输入新写入信息行。对于写入触发器的环节中,能够运用“更新”(column)来判断是否在“输入”或“更新”动作上指定列。用户亦能够使用COLUMNS_UPDATEDO来判断是否更新或插入了所指定的列。上述两项操作仅能在“输入”或“更新”触发器中运用,不可在“删除”触发器中运用。

三、SQL数据库语言的优化方向

(一)SQL数据库的读取和反馈

在编程人员应用SQL数据库执行数据库指令编写时,应当尽可能简化SQL数据库中计算的过程。此项优化的作用主要在于可以实现下列效果:第一项为降低SQL数据库中服务器的造访次数。在应用SQL数据库的操作中,若对SQL数据库提出的指令数量过多,导致SQL数据库需更多的时间进行运算,继而需更多的时间进行信息的反馈,如此的操作将让使用者对SQL数据库的体验产生不良作用。SQL数据库中过多的增加指令,亦将导致指令之间产生冲突,严重时将导致SQL数据库中产生大量错误运行的状况。因此,当SQL数据库中指令很少时,SQL数据库就能够在少量时间内做信息存储与备份,但是若SQL数据库中指令太多时,将会导致数据的外溢,造成SQL数据库的运行不稳定。

(二)SQL数据库的反应时间

一般来说,用户在工作中应用系统软件时,皆会希望系统软件可以快速的进行反应,反之用户将会产生想要放弃使用该系统软件的想法。所以必须要在SQL数据库中对于数据库的反应时间做相关的改进与设计。如,设计工程师可在SQL数据库中实行整理及划分,把数据库的运行模块分成若干个的模块,如此当SQL数据库结束第一个模块的查询后,立刻将内容反映给用户,之后在结束下一个模块的查询之后,再把下一个模块的数据反映给用户。同时当用户在操作过程中发生错误时,亦可以给用户一个合理的解决对策。

四、具体的优化方式

(一)索引优化

索引模块作为整个SQL数据库中最基本的一项应用功能,亦为对整个SQL数据库来说最关键的组成。所以对SQL数据库的优化设计,应该对索引的设计做出相应的改进,保证SQL数据库的应用性能够充分展现。当用户在某些未创建健全的、有效的索引服务的数据库中实施操作时,一般皆为对数据库中的数据信息进行整体的搜索。但是此种整体的搜索方法即为将数据库中全部的有关资料信息进行整合、加工与分析,继而得到之中处理完成的信息资料。可是此种资料搜索方法存在显而易见的缺陷,此种搜索方法对于某些查询范围过广的操作并不合适,并且针对当中数据查询方法亦非常消耗资源,所以必须为SQL数据库的索引功能施行优化。对于如今的软件系统设计程序,通常能够将其划分成簇索引、非簇索引与复合型的索引。三者之中应用比较多的是簇索引。此种索引方法能够对SQL数据库中的资料施行分组,同时进行整理及分析,让SQL数据库能够根据实现计划好的列值展开排列。

(二)视图优化

视图是SQL数据库中对数据库中的资料采用图表的方式反映出来的一种样式。一般在SQL数据库中视图可分为索引视图、分区视图、标准视图三种。分区视图的主要功用为是提升SQL数据库中分布式的数据搜索效率,所以能够在分区视图中实施SQL数据库的优化。现代的数据库软件系统已开始朝向多样化、集成化的目标发展。所以在某些数据库的搜索运行中,常常会产生需要查询多个数据库方可找到信息。对于用户在SQL数据库中应用查询功能时,能够首先对各个部分在服务器中实施资料备份,而后在本部分中应用查询,运用此方式降低来自外界的不良影响。

(三)语句优化

语句优化属于整个SQL数据库优化操作中的重要步骤,亦为提高SQL数据库应用品质的重要方法。对于SQL数据库系统而言,实施语句优化主要可分为两项内容:一是对子目录的资料展开查询技术实施优化,二是创建SQL数据库的模糊查询功能,但第一项为优化的关键。在SQL数据库中进行子目录的展开搜索即为一种把子目录搜索信号转化为一种连接的优化策略。如以某一学校的学生成绩为例进行SQL数据库语句优化,针对此学校中学习成绩高于500的同学实施查询,当中查询的子目录为姓名、学号、班级、成绩,应用一般的SQL数据库来实施查询操作,将运用成绩高于500的准则实行整体的搜索,尽管此种方法十分精确,可是效率偏低。但是对SQL数据库在语句上实施优化,能够首先创建一个连接,运用对学号与班级的查找提升搜索的效率。

五、结语

综上所述,SQL触发器能够在数据库保障信息一致性中产生关键作用,可以用来提升数据库查找的效率。可是在真正使用时亦应注意不可滥用触发器,原因是其会造成应用软件与数据库的维护难度增加。在真实使用时,用户应该运用存储过程、触发器、关系应用程序与其他方法的关系组合来实施数据库操作。

参考文献:

[1]董航.基于SQL数据库的安全问题分析[J].通讯世界,2017(14):144.

[2]李韩,孙永杰.SQL数据库的安全管理和性能优化[J].科技创新与应用,2016(31):108.

[3]于雷.关于如何优化SQL数据库的性能的几点分析[J].电脑知识与技术,2016,12(26):19-20.

[4]徐茂.浅析面向SQL数据库注入攻击的JavaWeb防御措施[J].网络安全技术与应用,2016(10):85-86.

[5]付海丽,邓伦强,王希锋.SQL数据库的构建与管理维护[J].网络安全技术与应用,2015(4):21,25.

[6]肖念.浅析SQL数据库的设计[J].计算机光盘软件与应用,2013,16(6):201-202.

作者:胡晓东 高嘉伟 单位:山西经济管理干部学院