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. 技術類論文範文