ORACLE中SQL查询优化研究
摘 要 数据库性能问题一直是决策者及技术人员共同关注的焦点,影响数据库性能的一个重要因素就是SQL查询语句的低效率。论文首先分析了导致SQL查询语句性能低下的四个常见原因以及SQL调优的一般步骤,然后分别针对如何降低I/O操作、在查询语句中如何避免对查询结果的高成本操作以及在多表连接时如何提高查询效率进行了分析。
关键词 ORACLE;SQL;优化;连接
1 引言
随着网络应用不断发展,系统性能已越来越引起决策者的重视。影响系统性能的因素很多,低效的SQL语句就是其中一个不可忽视的重要原因。论文首先分析导致SQL性能低下的常见原因,然后分析SQL调优应遵循的一般步骤,最后从如何降低I/O、避免对查询结果的高成本操作和多表连接中如何提高SQL性能进行了研究。鉴于目前ORACLE在数据库市场上的主导地位,论文将只针对ORACLE进行讨论。
2 影响SQL性能的原因
影响SQL性能的因素很多,如初始化参数设置不合理、导入了不准确的系统及模式统计数据从而影响优化程序(CBO)的正确判断等,这些往往和DBA密切相关。纯粹从SQL语句出发,笔者认为影响SQL性能不外乎以下四个重要原因:
(1)在大记录集上进行高成本操作,如使用了引起排序的谓词等。
(2)过多的I/O操作(含物理I/O与逻辑I/O),最典型的就是未建立恰当的索引,导致对查询表进行全表扫描。
(3)处理了太多的无用记录,如在多表连接时过滤条件位置不当导致中间结果集包含了太多的无用记录。
(4)未充分利用数据库提供的功能,如查询的并行化处理等。
第(4)个原因处理起来相对简单。论文将针对前三个原因论述如何提高SQL查询语句的性能。
3 SQL优化的一般步骤
SQL优化一般需经过发现问题、分析问题、提出解决措施、应用措施、测试性能几个步骤,如图1所示。“发现问题就是解决问题的一半”,因此在SQL调优过程中,定位问题SQL是非常重要的一步,一般可借助于ORACLE自带的性能优化工具如STATSPACK、TKPROF、AUTOTRACE等辅助用户进行,同时还应该重视动态性能视图如V$SQL、V$MYSTAT、V$SYSSTAT等的研究。
图1 SQL优化的一般步骤
4 SQL语句的优化
4.1 优化排序操作
排序的成本十分高昂,当在查询语句中使用了引起结果集排序的谓词时,SQL性能必然受到影响。
4.1.1 排序过程分析
当待排序数据集不是太大时,服务器在内存(排序区)完成排序操作,如果排序需要更多的内存空间,服务器将进行如下处理:
(1) 将数据分成多个小的集合,对每一集合进行排序。
(2) 服务器向磁盘申请临时空间,将排好序的中间结果写入临时段,再对另外的集合进行排序。
(3) 在所有的集合均排好序后,服务器再将它们进行合并得到最终的结果,如果排序区尺寸太小,合并无法一次完成时,将分多次进行。
从上述分析可知,排序是一种十分昂贵的操作,它消耗大量的CPU时间和内存,触发磁盘分页和交换操作,因此只要有可能,我们就应该在SQL语句中尽量避免排序操作。
4.1.2 SQL中引起排序的操作
SQL查询语句中引起排序的操作大致有:ORDER BY 和GROUP BY 从句;DISTINCT修饰符;UNION、INTERSECT、MINUS集合操作符;多表连接时的排序合并连接(SORT MERGE JOIN)等。
4.1.3 如何避免排序
1)建立恰当的索引
对经常进行排序和连接操作的字段建立索引。在建立索引后,当服务器向这些字段发出排序请求时,将直接引用索引而不进行排序操作;当进行等值连接查询操作时,若建立连接的字段未建立索引,服务器进行的是排序合并连接(SORT MERGE JOIN),连接操作的过程如下:
对进行连接的两个或多个表分别进行全扫描;
对每一个表中的行集分别进行全排序;
合并排序结果。
如果建立连接的字段已建立索引,服务器进行嵌套循环连接(NESTED LOOP JOINS),该连接方式不需要任何排序,其过程如下:
对驱动表进行全表扫描;
对返回的每一行利用连接字段值实施索引惟一扫描;
利用从索引扫描中返回的ROWID值在从表中定位记录;
合并主、从表中的匹配记录。
因此,建立索引可避免多数排序操作。
2)用UNIION ALL替换UNION
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。大部分应用中是不会产生重复记录的,最常见的是过程表与历史表UNION 。因此,采用UNION ALL操作符替代UNION,因为UNION ALL操作只是简单的将两个结果合并后就返回。
4.2 优化I/O
过多的I/O操作会占用CPU时间、消耗大量内存和占用过多的栓锁,因此有必要对SQL的I/O进行优化。优化I/O的最有效方式就是用索引扫描代替全表扫描。
4.2.1 应用基于函数的索引
基于函数的索引(FUNCTION BASED INDEX,简记为FBI)提供了索引计算列并在查询中使用这些索引的能力。FBI的实质是对查询所需中间结果进行预处理。如果一个FBI与查询语句中的内嵌函数完全匹配,CBO在生成查询计划时,将自动启用索引范围扫描(INDEX RANGE SCAN)替换全表扫描(FULL TABLE SCAN)。考察下面的代码段并用AUTOTRACE观察创建FBI前后执行计划的变化。
select * from emp where upper(ename)=’SCOTT’
创建FBI前,很明显是全表扫描。
Execution Plan
……
1 0 TABLE ACCESS (FULL) OF 'EMPLOYEES' (Cost=2 Card=1 Bytes=22)
idle>CREATE INDEX EMP_UPPER_FIRST_NAME ON EMPLOYEES(UPPER(FIRST_NAME));
索引已创建。
再次运行相同查询,
Execution Plan
……
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMPLOYEES' (Cost=1 Card=1 Bytes=22)
2 1 INDEX (RANGE SCAN) OF 'EMP_UPPER_FIRST_NAME' (NON-UNIQUE) (Cost=1 Card=1)
这一简单的例子充分说明了FBI在SQL查询优化中的作用。FBI所用的函数可以是用户自己创建的函数,该函数越复杂,基于该函数创建FBI对SQL查询性能的优化作用越明显。
4.2.2 应用物化视图和查询重写
物化视图是一个预计算结果集,其中通常包含聚集与多表连接等复杂操作。数据库自动维护物化视图,且随用户的要求进行刷新。查询重写机制就是用数据库中的替代对象(如物化视图)将用户提交的查询重写为完全不同但功能等价的查询。查询重写对用户透明,用户完全按常规编写访问数据库的查询语句,优化程序(CBO)自动决定是否对用户提交的查询进行重写。查询重写是提高查询性能的一种非常有效的方法,尤其是在数据仓库环境中针对汇总、多表连接以及其它高成本的操作方面。
下面以一个非常简单的例子来演示物化视图和查询重写在优化SQL查询性能方面的作用。
select dept.deptno,dept.dname,count(*)
from emp,dept
where emp.deptno=dept.deptno
group by dept.deptno,dept.dname
查询计划及主要统计数据如下:
执行计划:
-----------------------------------------
……
2 1 HASH JOIN (Cost=5 Card=14 Bytes=224)
3 2 TABLE ACCESS (FULL) OF 'DEPT' (Cost=2 Card=4 Bytes=52)
4 2 TABLE ACCESS (FULL) OF 'EMP' (Cost=2 Card=14 Bytes=42)
主要统计数据:
-----------------------------------------
305 recursive calls
46 consistent gets
创建物化视图EMP_DEPT:
create materialized view emp_dept build immediate
refresh on demand
enable query rewrite
as
select dept.deptno,dept.dname,count(*)
from emp,dept
where emp.deptno=dept.deptno
group by dept.deptno,dept.dname
/
再次执行查询,执行计划及主要统计数据如下:
执行计划:
-------------------------------------
……
1 0 TABLE ACCESS (FULL) OF 'EMP_DEPT' (Cost=2 Card=327 Bytes=11445)
主要统计数据:
------------------------------------
79 recursive calls
28 consistent gets
可见,在建立物化视图之前,首先执行两个表的全表扫描,然后进行HASH连接,再进行分组排序和选择操作;而建立物化视图后,CBO自动将上述复杂操作转换为对物化视图EMP_DEPT的全扫描,相关的统计数据也有了很大的改善,递归调用(RECURSIVE CALLS)由305降到79,逻辑I/O(CONSISTENT GETS)由46降为28。
4.2.3 将频繁访问的小表读入CACHE
逻辑I/O总是快于物理I/O。如果数据库中存在被应用程序频繁访问的小表,可将这些表强行读入KEEP池,从而避免物理I/O的发生。
4.3 多表连接优化
最能体现查询复杂性的就是多表连接,多表连接操作往往要耗费大量的CPU时间和内存,因此多表连接查询性能优化往往是SQL优化的重点与难点。
4.3.1 消除外部连接
通过消除外部连接,不仅使得到的查询更易于读取,而且性能也经常可以得到改善。一般的思路是,有以下形式的查询:
SELECT …,OUTER_JOINED_TABLE.COLUMN
FROM SOME_TABLE,OUTER_JOINED_TO_TABLE
WHERE …=OUTER_JOINED_TO_TABLE(+)
可转换为如下形式的查询:
SELECT …,(SELECT COLUMN FROM OUTER_ JOINED_TO_TABLE WHERE …)FROM SOME_TABLE;
4.3.2 谓词前推,优化中间结果
多表连接的性能低下多数是因为连接操作与过滤操作的次序不合理,大多数用户在编写多表连接查询时,总是先进行连接操作再应用过滤条件,这导致服务器做了太多的无用功。针对这类问题,其优化思路就是尽可能将过滤谓词前推,使不符合条件的记录提前被筛选掉,只对符合条件的少数记录进行连接处理,这样可成倍的提高SQL查询效能。
标准连接查询如下:
Select a.prod_name,sum(b.sale_quant),
sum(c.sale_quant),sum(d.sale_quant)
From proct a,tele_sale b,online_sale c,store_sale d
Where a.prod_id=b.prod_id and a.prod_id=c.prod_id
and a.prod_id=d.prod_id And a.order_date>sysdate-90
Group by a.prod_id;
启用内嵌视图,且将条件a.order_date>sysdate-90前移,优化后代码如下:
Select a.prod_name,b.tele_sale_sum,c.online_sale_sum,d.store_sale_sum From proct a,
(select sum(sal_quant) tele_sale_sum from proct,tele_sale
Where proct.order_date>sysdate-90 and proct.prod_id =tele_sale.prod_id) b,
(select sum(sal_quant) online_sale_sum
from proct,tele_sale
Where proct.order_date>sysdate-90 and proct.prod_id =online_sale.prod_id) c,
(select sum(sal_quant) store_sale_sum
from proct,store_sale
Where proct.order_date>sysdate-90 and proct.prod_id =store_sale.prod_id) d,
Where a.prod_id=b.prod_id and
a.prod_id=c.prod_id and a.prod_id=d.prod_id;
5 结束语
SQL语言在数据库应用中占有非常重要的地位,其性能的优劣直接影响着整个信息系统的可用性。论文从影响SQL性能的最主要的三个方面入手,分析了如何优化SQL查询的I/O、避免高成本的排序操作和优化多表连接。需要强调的一点是,理解SQL语句所解决的问题比SQL调优本身更重要,因此SQL调优需要系统分析人员、开发人员和数据库管理员密切协作。
参考文献
[1]Thomas Kyte.Effective Oracle by Design:Design and Build High-performance Oracle Application[M],The McGral- Hill Companies,Inc,2003
[2]Kevin Loney,George Koch,Oracle 9i:The Complete Reference[M],The McGral-Hill Companies,Inc,2002
[3] Oracle9i SQL Reference release 2(9.2)[OL/M],2002.10. http://www.oracle.com/technology/
[4] Oracle9i Data Warehousing Guide release 2(9.2) [OL/M],2002.03. http://www.oracle.com/technology/
[5]Alexey Danchenkov,Donald Burleson,Oracle Tuning:The Definitive Reference[OL/M],Rampant Techpress,2006.
[6] Oracle9i Database Concepts release 2(9.2) [OL/M],2002.08. http://www.oracle.com/technology/
[7] Oracle9i supplied plsql packages and types reference release 2(9.2) [OL/M],2002.12. http://www.oracle.com/ technology/
B. 浅谈计算机数据库的管理与应用论文
浅谈计算机数据库的管理与应用论文
摘要: 随着社会经济的快速发展,信息化网络技术手段不断进步,信息技术在人们日常生活、工作及学习中的广泛渗透,不仅给人们生活带来了极大便利,还极大的提升了人们工作与学习效率,为社会各领域的发展起到了巨大的推动作用。数据库是伴随着计算机信息化网络技术发展的,而其又是信息技术发展的核心所在,数据库技术的快速发展一方面在计算机技术的发展和完善上发挥举足轻重作用的同时,一方面也为社会的进步作出突出贡献。本文将就计算机数据库的管理进行详细分析,并在此基础上阐述计算机数据库的应用情况。
关键词: 计算机数据库;管理应用
21世纪是信息大爆炸的时代,伴随着信息化技术的快速发展及在社会生活等各领域的广泛渗透,人们的生活观念及方式都发生了很大的变化,尤其是计算机核心技术之一的数据库技术的发展及应用,不仅使人们生活更加轻松便捷,数据库技术在人们工作学习中的应用,还极大的提升了人们的工作与学习效率,为社会的发展进步起到了巨大的推动作用。计算机数据库的主要定义是其是为了达成相关目标而组织在一起并存储在计算机中的一系列数据。而数据库技术则是指研究数据库的相关管理、设计及结构的一系列方法与手段,以达到对数据的有效分析及处理等,这些方法和手段可以是相关理论知识及技术等。计算机数据库的主要特征有数据库中所有数据信息都存在一定的相互间的联系,同时各数据信息间有保持一定的相对独立性,此外,数据库采用DBMS来对数据进行控制及管理。数据库技术主要经过以下三个发展历程数据的手动管理时段、通过采用文件系统对数据进行管理时段以及数据库形成系统时段,每个阶段数据库技术的特点都不同,有着鲜明的时代特征。下文将就计算机数据库的管理进行详细分析,并在此基础上阐述计算机数据库的应用情况。
一、计算机数据库的管理
计算机数据库的管理主要有以下几种管理技术。
1.存取管理技术
数据库的存取管理技术主要有包括以下技术:一是用户认证技术。对于计算机网络来说,用户的一切信息资料都是采用一系列且具有一定组合的数据来表达,因而用户只存在数据身份而不存在其现实身份,相应的在相关授权方面,计算机网络也是对用户实行数据身份形式的授权模式。该技术可以采用用户设置的相关密码及口令来实施计算机对用户的鉴别,此外,当前还有一种采用生物特征的方式来对用户进行鉴别。用户认证技术能够有效的防止没有经过认证授权的用户,访问、使用及修改数据库的权限;二是控制访问技术。该技术主要是对用户的一些权力进行一定限制,既可以限制骇客非法入侵数据库及访问相关资源,又能够对合法用户的某些权力进行限制,如不允许其访问受保护的文件及访问目录等资源。该技术对主客体的访问权限作了相关规定和限制,对用户的相关访问要求作出相应控制,其中主体主要指的是用户,客体指的是文件等数据库资源。在控制策略方面主要有防火墙控制、权限控制等。
2.恢复和备份技术
由于当前计算机网络情况十分复杂,计算机数据库的安全受到多方面因素的干扰和影响,因此当计算机数据库因某种原因出现故障时,事先做好对数据库信息资源的备份并对其进行恢复就显得尤为必要。系统一旦出现故障,其数据库信息资源便会受到一定破坏甚至丢失,当前应对数据丢失问题的主要对策有对数据进行备份,经过备份的数据信息能够非常简便的对其进行恢复。当前的数据库备份手段包括动态、静态及逻辑备份等。而数据库的恢复手段则包括数据库备份及通过在线日志来进行恢复等。用户应根据计算机系统故障原因及自身情况选择最优的数据库备份和恢复手段,以减少或避免因数据丢失造成的巨大损害。
3.加密技术
随着信息化网络技术在人们日常生活工作中的广泛应用,其在为人们创造巨大效益的同时,也无形中加大对其依赖性,这也导致网络信息安全问题的'不断发生,木马、病毒等危害计算机安全的情况越来越普遍。尤其是当前人们将大量重要的数据信息存储于计算机数据库中,部分人出于各种目的,抓住用户网络安全意识薄弱及网络技术缺乏的弱点,通过计算机漏洞采用非法手段入侵用户计算机系统,通过盗取用户密码的方式,非法访问用户数据信息并对其进行篡改,极大的威胁到了用户的数据信息安全。而通过采用数据加密技术则能有效的避免这些情况的发生,对数据库中的重要信息实施加密,不仅能有效杜绝骇客入侵,还能在系统因某种原因崩溃时,相关数据信息依然不受影响,从而实现数据信息的安全[1]。
二、计算机数据库的应用情况
1.多媒体中的广泛应用
计算机数据库在多媒体领域的广泛运用主要指的是将多媒体的数字化相关技术及数据压缩等技术与数据库技术整合起来,实现数据库技术在多媒体领域的广泛应用。多媒体数据库技术就是在数据库技术不断发展和应用过程中出现,其主要应用领域有图书馆、博物馆及电子商务中。该技术通过将声像等数据信息有机整合起来,形成巨大的多媒体信息资源数据库,从而极大的提高了传统多媒体信息资源的容量,进而能高效的进行多媒体信息资源的大量演示。数据库技术在多媒体领域的广泛应用,不仅多媒体领域的技术水平及服务质量,还为多媒体领域创造了巨大的经济效益,为社会的健康可持续发展提供巨大推动力。
2.信息管理中的广泛应用
随着计算机数据库技术的不断发展,其在信息资源管理中的应用也越来越广泛,并取得了良好效果,数据库技术不仅提升了信息资源的容量,还极大的保障了信息资源的安全及稳定性,提升了用户信息管理水平。当前数据库按照应用领域不同可分为统计数据库、生态环境数据库及海河流域数据库等;按照传统模式分类,则可分为网状、关系及层次型三种模式。数据库技术在信息资源管理中运用,其主要特点有以下几方面:一是运用领域的拓展。以往的信息管理只包括单一农业或工业,现今数据库技术在信息资源管理中的运用后,其管理范围拓展到能涵盖工、农及服务业,这极大的提升了工作效率,促进了生产力的发展;二是数据库技术的巨大进步,使得其在信息资源管理中的应用更加具有可操作性,应用范围更广泛,运用效果更加良好;三是数据库的安全性得到极大提高。数据库的加密技术极大的提升了信息资源的安全性,通过采用用户账号及加密等手段,能够有效对信息资源进行管理,在提升信息管理效率的同时,也能极大的减少甚至避免数据信息风险,从而实现信息管理的安全稳定[2]。
3.在文献管理中的广泛应用
其主要可用于以下几方面:一是数据库技术可有效的运用与文献档案的检索和存储中。可以通过将文献资源录入光盘的形式,实现大量资源的有效存储,而且其还具备成本低廉、安全可靠及容量巨大、携带方便等特点。如其还可以用于教育教学中,如将大量的教学素材及资源通过压缩成光盘的形式,这可以极大的提升教学工作的效率;二是用于计算机C语言文献资源的检索及浏览。可以通过建立计算机C语言的相关理论知识及文献研究资料的数据库信息系统,对其数据信息进行细致分类,引进先进的检索系统,这有助于教师的教学和科研活动的顺利开展。如教师可以根据数据库检索有用资源进行教学设计,这能极大的提升教学的效果。此外,还可以根据数据库的信息资源开展科研活动[3]。
三、结语
计算机数据库技术的发展和应用,不仅能给人们工作、学习及生活带来极大效益,还能创造巨大的社会经济效率,为社会的发展进步起到巨大推动作用。因此,加强对计算机数据库管理与应用的研究有着积极意义。
参考文献
[1]曾令思.计算机数据库的管理与应用[J].电子制作,2014,(06):58-59.
[2]陆根美.浅谈计算机数据库的管理技术及其应用[J].电子世界,2014,(10):335-336.
[3]江绍虎,潘澜月.浅谈计算机数据库的应用与管理[J].科技资讯,2012,(19):25-26.
;C. 求关于软件工程、asp、数据库sql server2000外文参考文献以及期刊 .请按照标准格式给出来。
软件工程:
[1] 杨芙清,梅宏,吕建,金芝.浅论软件技术发展.电子学报,2002,30(12A):1901−1906.
[2] 张效祥,主编.计算机科学技术网络全书.北京:清华大学出版社,1998.
[3] 王立福,张世琨,朱冰.软件工程——技术、方法和环境.北京:北京大学出版社,1997.
[4] 杨芙清,梅宏,李克勤.软件复用与软件构件技术.电子学报,1999,27(2):68−75.
[5] 杨芙清.软件复用及相关技术.计算机科学,1999,26(5):1−4.
[6] 杨芙清.青鸟工程现状与发展——兼论我国软件产业发展途径.见:杨芙清,何新贵,主编.第6次全国软件工程学术会议论文集,软件工程进展——技术、方法和实践.北京:清华大学出版社,1996.
[7] 杨芙清,梅宏,李克勤,袁望洪,吴穹.支持构件复用的青鸟III型系统概述.计算机科学,1999,26(5):50−55.
数据库
[ 1 ] 袁鹏飞. 中文版 SQL Server2000 数据库系统管理. 北京:
人民邮电出版社, 2001.
[ 2 ] [美]M icro sof t 公司. M icro sof t SQL Server2000 数据库
编程. 北京: 希望电子出版社, 2001
推荐使用 NoteFirst来管理您的参考文献, 此软件完美支持参考文献格式国家标准GB/T 7714-2005《文后参考文献着录规则》
D. 数据库技术论文
数据库技术已成为计算机信息系统和计算机应用系统的重要技术基础。下面是我为大家精心推荐的数据库技术论文,希望能够对您有所帮助。
数据库技术论文篇一
数据库加密技术分析
摘 要:从信息产业的形成、壮大到信息社会的到来,特别是以微电子革命为代表的个人计算机的迅猛发展和以网络为特征的新一轮信息交流方式的革命,社会的信息化已成为一种社会发展的新趋势。
关键词:数据库;加密;研究
中图分类号:TP31 文献标识码:A
数据库技术的最初应用领域主要是信息管理领域,如政府部门、工商企业、图书情报、交通运输、银行金融、科研教育等各行各业的信息管理和信息处理。事实上,只要有数据需要管理,就可以使用数据库。
1数据库的特点
数据结构化是数据库和文件系统的本质区别。数据结构化是按照一定的数据棋型来组织和存放数据.也就是采用复杂的数据模型表示数据结构。数据模型不仅描述数据本身以特点,还描述数据之间的联系。这种结构化的数据反映了数据之间的自然联系,是实现对另据的集中控制和减少数据冗余的前提和保证。
由于数据库是从一个企事业单位的总体应用来全盘考虑井集成教据结构的.所以数拒库中的数据不再是面向个别应用而是面向系统的。各个不同的应用系统所需的数据只是翅体模型的一个子集。数据库设计的基础是数据模型。在进行教据库设计时,要站在全局需耍的角度抽象和组织数据,要完整地、准确地描述数据自身和数据之间联系的情况,建立话合总体需耍的数据棋型。数据库系统是以数据库为荃础的,各种应用程序应建立在数据阵之上。数据库系统的这种特点决定了它的设计方法,即系统设计时应先设计数据库,再设计功能程序.而不能像文件系统那样,先设计程序,再考虑程序需要的数据。
1.1有较高的数据独立性
数据库中的数据不是孤立的,数据与数据之间是相互关联的。也就是说,在数据库个不仅要能够表水数据本身,还要能够表水数据与数据之间的联系。例如布银行的储蓄数据库中,有储户信息和账户情息,储户信息和账户信息联的。 数据库能够根据石同的需要按不同的方法组织数据,比如顺序组织方法、索引组织方法、倒排索引组织力法等。这样做的目的就是要最大限度地提高用户或应用程序访问数据烽的效率。闭于有数据库技术之前。数据文件都是独立的,所以任何数据文件都必须含有满足某一应用的全部数据。而在数据库中数据是被所有应用共享的。在设计数据库时,从全局应剧小发,可以使数据库中包含为整个应用服务的全部数据,然后通过模式定义可以灵活组合数据满足每一个应用。数据形具有较高的数据独仅件数据独立性是指数据的组织和存储方法与应蝴程序互不依赖、彼此独立的特性。在数据库技术之前,数据文件的织纠方式和应用程序是密切相关的。当改企数据结构时相应的应用程序也必须陨之修改,这样就大大增加了应用程斤的开发代价和维护代价。而数据库技术以使数据的组织和存储方法与应用程序巨不依赖,从而人大降低应用程序的开发代价和维护代价。
1.2数据冗余度小、数据共享度高
数据冗余度小是指存储在数据库中的皿复数据少。在非数据库系统中,每个应用程序有它自己的数据文件,从而造成存储数据的大盆宜复。由于在数据库系统方式下.教据不再是面向某个应用,而是面向整个系统,这就使得数据库中的数据冗余度小.从而避免了由于数据大扭冗余带来的数据冲突问题。
据库系统通过数据模型和数据控制机制提高数据的共享性。数据共享度高会提高数据的利用率,使得数据更有价值,能够更容易、更方使地使用。
2数据库加密方法
从所面临的安全与保密威胁方面来看,数据库系统应该重点对付以下威胁: 非授权访问、假冒合法用广、数据完整性受破坏系统的正常运行、病毒、通信线路被窃听等。而威胁网络安全的因素:计算机系统的脆弱性、协议安全的脆弱性、数据库管理系统安全的脆弱性、人为的因素、各种外部威胁,主要包括以下方面。
数据欺骗:非法篡改数据或输人假数据;特洛伊木马术:非法装人秘密指令或程序,由计算机执行犯罪活动;意大利香肠术:利用计算机从金融银行信息系统上一点点窃取存款,如窃取账户的利息尾数,积少成多;逻辑炸弹:输人犯罪指令,以便在指定的时间或条件下删除数据文卷,或者破坏系统功能;线路截收:从系统通信线路上截取信息;陷阱术:利用程序中用于调试或修改、增加程序功能而特设的断点,插人犯罪指令或在硬件中相应的地方增设某种供犯罪用的装置,总之是利用软件和硬件的某些断点或接口插入犯罪指令或装置;寄生术:用某种方式紧跟有特权的用户进人系统,或者在系统中装人“寄生虫”;超级冲杀:用共享程序突破系统防护,进行非法存取或破坏数据及系统功能;异步攻击:将犯罪指令混杂在正常作业程序中,以获取数据文件.电脑病毒:将具有破坏系统功能和系统服务与破坏或删除数据文卷的犯罪程序装人系统某个功能程序中,让系统在运行期间将犯罪程序自动拷贝给其他系统,这就好像传染性病毒一样四处蔓延。
2.1数据库加密技术探索
密码学是一门古老而深奥的学科,对一般人来说是陌生的,因为长期以来它只在很小的范围内(如军事、外交、悄报等部门)使用。计算机密码学是研究计算机信息加密、解密及其变换的科学.是数学和计算机的交叉学科,也是一门新兴的学科,随着计算机网络和计算机通信技术的发展,计算机密码学得到前所未有的重视并迅速普及和发展起来。数据加密技术主要分为传输加密和存储加密,而数据传输加密技术是对传输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。
(1)链路加密,是传输数据仅在物理层前的数据链路层进行加密,不考虑信源和信宿。它用于保护通信节点间的数据,接收方是传送路径上的各台节点机,信息在每台节点机内都要被解密和再加密,依次进行,直至到达目的地。
(2)节点加密,是在节点处采用一个与节点机相连的密码装置。密文在该装置中被解密并被重新加密,明文不通过节点机,避免了链路加密节点处易受攻击铂缺点。
结语
数据加密技术是最基本的安全技术,被誉为信息安全的核心,最初主要用于保证数据在存储和传输过程中的保密性。它通过变换和置换等各种方法将被保护信息置换成密文,然后再进行信息的存储或传输,即使加密信息在存储或者传输过程为非授权人员所获得,也可以保证这些信息不为其认知.从而达到保护信息的目的。该方法的保密性直接取决于所采用的密码算法和密钥长度。
参考文献
[1]钱雪忠.数据库原理及技术[M].北京:清华大学出版社,2011.
[2]刘升.数据库系统原理与应用[M].北京:清华大学出版社,2012.
点击下页还有更多>>>数据库技术论文
E. 求数据库课程设计前言和参考文献
1.《数据库原理及应用》 钱雪忠主编 北京邮电大学出版社 2007,8 第二版
2.《SQL server 2000数据仓库与Analysis Services》 Bain T着 中国电力出版社 2003
3.《数据库技术与联机分析处理》 王珊主编 北京科学出版社 1998
F. 网络数据库安全论文范文
随着互联网的迅猛发展,数据库系统在网络环境下的面临着一系列威胁如病毒感染、黑客攻击等。下文是我为大家搜集整理的关于网络数据库安全论文范文的内容,欢迎大家阅读参考!
网络数据库安全论文范文篇1
浅论计算机网络数据库安全
【摘 要】文章阐述了网络数据库的安全因素,并且对网络数据库的安全防范措施进行了探讨。
【关键词】计算机数据库;网络环境;分析;安全
经过目前网络环境下,网络信息安全是一个亟待解决的重要问题,而计算机数据库的安全问题,又是其核心和关键问题,它直接关系到网络信息管理系统的整体的安全性。所以,为了保证网络信息系统高效、稳定、安全的运行,科学、合理的防范措施是网络数据库技术研究的重点内容。
一、网络数据库的模型构建
网络数据库的基础是后台数据库,其访问控制功能是由前台程序所提供。查询、存储等操作的信息集合是由浏览器完成的,数据库在网络环境下,其特点是实现数据信息的共享,同时能够实现访问控制和最小冗余度,保持数据的一致性和完整性,图1是网络数据库的构建模型图如下
该模型是在网络技术结合数据库技术的基础上构建的,具体是由三层结构组成,包括数据库服务器、应用服务器和WEB服务器、浏览器等。整个系统和用户连接的接口,是通用的浏览器软件。作为第一层的客户端,浏览器的功能是为用户提供信息的输入,将代码转化为网页,提供交互功能,同时处理所提出的各种请求。而第二层的WEB服务器是作为后台,通过对相应的进程进行启动,来响应各种请求,同时生成代码处理各种结果,若数据的存取也在客户端请求的范围内,则数据库服务器必须配合WEB服务器,才能对这一请求共同进行完成。第三层数据库服务器对数据库能进行有效的管理,对不同的SQL服务器发出的请求起到协调的功能。
二、分析网络数据库安全性
1、分析数据安全性
网络数据库是信息管理系统的核心部分,其安全性能会对数据库中数据的安全起到直接的影响作用,由于很多重要的数据保存在数据库服务器上,例如一些账务数据、金融数据、还有一些工程数据、技术数据、涉及到规划和战略发展的决策性数据等等,属于机密信息,严禁非法访问,对外必须严格保密的数据等。而针对企业和公司,内部资源的筹划、对外交易的进行、日常业务的运作等等,必须依赖网络数据库进行,所以数据的安全性至关重要。
2、分析系统的安全性
网络数据库是否安全,直接决定了服务器主机和局域网的安全性能,数据库系统配置的“可从端口寻址的”,表示只要具备数据的使用权限及适合的查询工具,都可直接连接数据库及服务器端口,而针对操作系统的安全检测,可巧妙避开。而多数数据库还具有公开的密码和默认号,而这种默认账号的权限非常高,既可访问数据库的各级资源,同时还可按照指令对操作系统进行操作,甚至还能开启后门,对监听程序进行存放,进而获得相关口令,对整个局域网进行控制,产生较严重的危害性。
3、分析影响数据库的安全因素
数据库服务器是网络信息系统的核心部分,里面有大量敏感的和重要的信息存在,所以数据库的安全性对保存的数据的安全性有着直接的影响。网络数据库不仅有着较大的处理量,较集中的数据信息,同时数据有着非常频繁的更新,用户访问量也非常巨大。所以,对网络数据安全带来威胁的影响因素有:
(1)用户没有执行正确的访问操作,造成数据库发生错误;
(2)人为对数据库进行破坏,造成数据库不能恢复正常;
(3)非法访问机密信息,而表面又不留任何痕迹;
(4)通过网络,用户对数据库进行访问时,会受到各种搭线窃听技术的攻击;
(5)用户采取非法手段,对信息资源进行窃取;
(6)在未被授权的情况下,对数据库进行修改,造成数据失真现象严重;
面对以上种种威胁,只进行网络保护还根本不够,由于和其他系统在结构上有着本质的区别,数据库中所含有的各种数据敏感级别和重要程度不同,同时还具有共享功能,为拥有各种特权的用户提供服务,所以它对安全性的要求更广,也更为严格,不仅仅需要对联机网络、外部设备等实行物理保护,为防止敏感数据被盗用,同时对非法访问进行预防,还必须采取其他有效措施,以实现数据的一致性和完整性。
三、对网络数据库实行安全防范的措施
目前所采取的各种防范策略中,往往还不全面和具体,无法真正实现数据库的安全保障。所以在网络环境下,针对数据库的安全问题,应从日常的维护和开发,系统的设计等整体方面进行考虑和设计,建立各种安全机制,形成整体的安全策略。
1、研发信息管理人员应转变设计观念
首先研发信息管理系统的人员,必须转变观念,改变以往的只对信息管理系统功能进行重视的错误看法,综合考虑系统的安全性,彻底评估所要开发的系统和软件,从后台数据库系统及前台开发工具,以及软件和硬件的实施环境等方面,查找信息系统中潜在的安全隐患,避免因为硬件环境及开发工具的不合适,造成数据库的泄密,进而使整个系统出现不稳定现象。
2、系统管理和维护人员应综合考虑数据库安全性
系统管理和维护人员,必须对数据库的安全性进行全面的考虑,具体涵盖以下两点内容:
1)外围层的安全
主要包括网络安全和计算机系统安全,而来自病毒的侵犯是最主要的威胁,所以为了对整个系统的正常运行做出保证,必须规避外层中病毒的扩散和隐藏及入侵,采用综合治理方法,将防、杀、管结合在一起,对网络数据库系统的虚拟专用网进行构筑,采用技术,使网络路由的传输安全性和接入安全性得到保障,利用防火墙技术,实现网段间隔离及网间隔离,既避免系统遭受非法入侵,同时也使网络边界安全得到保障。
同时,网路数据库外围安全重点是在WEB服务器及操作系统上,既要进行物理保护,同时还应进行应用服务器的保护,通过加密等方式,预防在传输过程中,数据被篡改或监听。因为该层对数据库自身的加密并为涉及,所以不能直接进行文件的加密,也无法使用密钥管理。同时由于主要是以WEB浏览器服务输出进行该层的运行程序,所以在ASP等具体应用软件上,更要实现其安全性能。
2)核心层安全
在整个网路数据库系统中,应用软件和数据库是重要的核心组成部分,若滥用、非法复制、窃取、篡改、丢失软件和数据,将会对系统造成毁灭性的打击,严重的会危害到社会安全。所以,我们必须进行控制用户访问权限,从数据库的加密、恢复和备份、数据分级控制等几个方面,来进行安全防范,使数据库管理系统的完整性和独立性得到保障。数据分级是一种简单易行的操作方法,可对数据库实行信息流控制。采用加密控制,通过加密数据库文件,提供几种不同速度和安全强度的加解密算法,为用户提供合理的设置。
四、结语
伴随着计算机技术的迅猛发展和不断更新换代,各种建立在Internet及计算机上的信息管理系统已经成为重要的手段,支撑和完成各种事物的运作。在网络环境下,开发和使用信息管理系统的过程中,必须重点考虑安全问题,这样才能为整个数据库服务器的数据安全提供保障,以实现一种预期的效益,更好的为广大用户服务。
参考文献:
[1]徐莉.春梅.网络数据库的安全漏洞及解决方法[J].福建电脑,2007(12).
[2]钱菁.网络数据库安全机制研究[J].计算机应用研究,2010(12).
网络数据库安全论文范文篇2
浅谈网络数据库安全策略
摘 要: 主要对现今网络环境中数据库所面临的安全威胁进行详尽论述,并由此全面地分析提高网络数据库安全性的解决对策。
关键词: 网络;数据库;安全对策
随着网络在21世纪社会当中的普及发展,越来越多的企业逐渐地 参与进来,并且将企业的核心逐渐的转向互联网,在地理区域内分散的部门和公司以及厂商对于数据库的应用需求明显呈现出过旺的趋势,在数据库的管理系统当中逐渐的从单机有力的扩展到了整个网络环境,针对数据的收集和储存以及处理与后期的传播方式都从集中性迈向了全面分布式模式。企业在使用数据库管理系统的时候,尤为重视的是数据库信息的安全性。
1 网络数据库安全机制
网络数据库的基础是计算机的后台数据库,在加上前台程序所以提供的访问控制,对于数据的储存和查询以及信息之间的集合操作都可以通过有效的浏览器进行逐步完成。当前信息处理网络环境当中,有效的将大量数据信息进行多用户的共享是数据库存在的最大特点,然而与此同时对于数据的完整性以及一致性都有着有效的保障,有力的实现了最小程度的访问控制。
网络数据库所采用的两个典型的模式是B/S模式和C/S模式。C/S所采用的模式主要分为三层结构:① 首先是客户机;② 应用服务器;③ 数据库服务器,主要表现形式的是由客户机将数据传输到应用服务器,然后再次传输到数据库的服务器当中。B/S所采用的模式其主要也是分为三层结构:① 首先是浏览器;② Web服务器;③ 数据库服务器,主要表现形式如上所述。由此我们可以看出,这两种网络数据库模式在结构上存在很大程度的共同点,它们全部都涉及到了网络和系统软件以及应用软件。
2 各层安全机制详述
2.1 网络系统安全机制
如果数据库受到了外部恶意的信息的攻击侵入,首先是从网络系统开始进行攻击入侵,由此我们可以判断数据库安全的第一道保护屏障就是网络系统的正常安全。我们仅站在技术角度而言,可以将其大致的分成其防入侵检测以及协作式入侵检测技术等。下面我们分别阐述:
首先,计算机系统当中都安装有防火墙,防火墙的广泛运用俨然成为了现今一种最基本的防范措施。防火墙所起到的主要作用是对可信任的网络以及不可信任的网络之间的访问渠道进行有效的监控,针对内部网络和外部网络建立一道有效的防护措施屏障,将外部网络当中的非法访问进行有效的拦截并且将内部信息进行有效的阻止防止信息外流。防火墙对于外部的入侵具有强有力的防范控制,但是对于网络内部产生的非法操作却无法进行阻拦和加以有效控制。
其次,关于入侵检测,是近几年逐渐发展壮大的一种有力的防范技术,它主要采用了统计技术和规则技术以及网络通信技术与人工智能等技术和方法进行有效的综合在一起的防范技术,入侵检测所起到的主要作用是对网络和计算机系统进行有效的监控,能够及时有效的反映出是否有被入侵或者滥用的情况。
最后,针对协作式入侵检测技术,对于以往独立的入侵检测系统的不足点和诸多方面的缺陷,协作式入侵检测技术都有着极好的弥补,其系统当中IDS是基于一种统一的规范,入侵检测组件之间的信息都有效的自动进行交换。而且通过信息的自动交换可以对入侵信息进行有效的检查,并且还能够有效的在不同的网络环境当中进行运用。
2.2 服务器操作系统安全机制
目前,市场上计算机有很大一部分都是Windows NT以及Unix操作系统,其所具有的安全级别一般的处于C1、C2级。主要的安全技术可以归纳为以下三点:
① 操作系统安全策略。主要是在本地计算机的安全设置上进行配置,主要保障的安全策略包括密码策略和账户锁定策略以及审核策略和IP安全策略等一系列的安全选项,其具体运用可以体现在用户的账户以及口令和访问权限等诸多方面。
② 安全管理策略。主要是网络管理员对系统安全管理所采取的方法和策略。因为,操作系统和网络环境各不相同,所以需要采取的安全管理策略也都存在着各不相同的方法,但是主要核心依旧是有力的保障服务器的安全以及对各类用户的权限进行分配。
③ 数据安全策略。这点主要具有以下几点体现:数据的加密技术和对数据进行备份以及数据储存当中的安全性等。由此可以采用的技术有很多,其中主要有:认证、IPSec ,SSL ,TLS,等技术。
2.3 数据库管理系统安全机制
数据库系统在操作系统当中都是以文件的形式进行有效的管理。所以入侵数据库的人员可以对操作系统当中的漏洞及其数据库当中的文件进行直接盗取,还可以利用OS工具进行违法操作和对数据库文件内容进行篡改。所存在的这种隐患数据库用户一般很难以察觉,针对这种漏洞进行分析被认为是BZ级别的安全技术措施。数据库的层次安全技术,主要针对当前两个层次已经被破坏的情况下进行有效的解决,保障数据库安全性。那么对于数据库的管理系统就必须要求有一套较为强有力的安全机制。
2.4 客户端应用程序安全机制
网络数据库安全性的重要方面是客户端应用程序。具有强有力和实现比较快捷方便是其主要的特点,而且还能够根据需求的变化很容易做出相对应的更改。客户端的应用程序不仅可以有效的控制用户的合法登陆以及身份的验证,而且还能够对数据进行直接的设置。想要应用系统具有更好的安全性,首先就必须在应用程序上进行行之有效的控制。另外,针对客户应用程序的编写也具有着较大的灵活性,与此同时还有很多的技巧性,可以有效全面的实现管理的灵活和安全。
3 使用DBMS安全机制防范网络攻击
有很多大型的DBMS对于数据库的安全防范技术的提供相对来讲都是非常完善的,而且针对提高数据库的安全性也有着明显的积极作用。
3.1 系统的认证和授权
认证是验证系统中请求服务的人或应用程序身份的过程;授权是将一个通过身份认证的身份映射已经授予数据库用户的许可的过程,该过程限制用户在数据库内部允许发生的行为。对SQL Server数据库服务器进行权限设置时,应该为DPeb程序单独设立一个受限的登录,指定其只能访问特定的数据库,并为该特定数据库添加一个用户,使之与该受限的登录相连,并严格设定该用户的数据库权限。
3.2 数据的备份与恢复
通过数据备份可以在系统发生故障的时候,管理员可以在最短的时间内将数据进行恢复,保持原先所处理的状态,对于数据的一个完整性和一致性有着强有力的保障。通常对于数据库的备份一般都是采取以下几种形式备份形式:其一静态备份;其二动态备份;其三逻辑备份等。然而对于数据库的恢复,可以采取磁盘镜像和数据库备份文件以及数据库在线日志等诸多方式进行有效的恢复。
3.3 全面有效的加强审查
通过有效的审查,用户可以将数据库当中所进行的所有操作都能够得以有效的自动记录,然后将所记录的信息全部保存在审查的日志当中,对于审查进行全面加强利用可以有效的跟踪信息,将数据库现有状况的一系列事件都进行充分的重现。因此,就可以有效的找出非法存取数据的人员以及存取信息的时间和内容等线索,这样就方便有效的追查有关责任,与此同时关于系统安全方面的弱点和漏洞审查也可以有效的进行发现。
4 总结
现代社会正处于一个不断发展的阶段,网络信息技术也有着空前的发展。然而互联网技术的不断高速发展,其网络数据库的安全性更是当今不断发展的主要问题,随着现代网络入侵系统手段的不断提高,其所采用的安全技术也在不断的进一步提升。只有对所出现的问题进行不断的分析和研究,总结经验进而全面有效的处理出现的一系列的新问题。总之,计算机网络数据库的安全防范是新时期一个永久性的重要问题,只有全面的通过科学合理的安全防范手段以及在后期的发展过程中进行不断的改进和完善,才能够更好的将系统的安全可靠性进行有效的全面提高。
参考文献:
[1]周世忠,浅谈网络数据库安全研究与应用[J].电脑知识与技术,2010(05).
[2]戴雪蕾,基于SQL SERVER的网络数据库安全管理[J].网络安全技术与应用,2009(04).
[3]梁建民,网络数据库的安全因素分析和预防措施探讨[J].光盘技术,2008(09).
猜你喜欢:
1. 网络数据库安全论文
2. 关于安全教育论文范文
3. 数字图书馆论文参考范文
4. 优秀毕业论文范文
5. 技术类论文范文