国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)據(jù)庫管理系統(tǒng)中數(shù)據(jù)庫安全設(shè)計

2009-06-29 02:50:18王文軍
新媒體研究 2009年19期
關(guān)鍵詞:副本約束條件事務(wù)

王文軍

[摘要]數(shù)據(jù)庫技術(shù)已經(jīng)被廣泛應(yīng)用于各行業(yè),據(jù)有關(guān)報道,數(shù)據(jù)庫的應(yīng)用已經(jīng)占到整個計算機應(yīng)用的80%。數(shù)據(jù)庫中的數(shù)據(jù)越來越重要,不論是在單機還是在網(wǎng)絡(luò)環(huán)境下,數(shù)據(jù)庫系統(tǒng)受到各個方面的威脅,數(shù)據(jù)存儲的安全設(shè)計問題越來越引起人們的重視。

[關(guān)鍵詞]數(shù)據(jù)庫管理系統(tǒng)安全設(shè)計

中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671—7597(2009)1010069—01

數(shù)據(jù)庫安全涉及的范圍很廣,本文主要從數(shù)據(jù)庫管理系統(tǒng)層所提供的數(shù)據(jù)庫安全和保護(hù)功能角度來設(shè)計。主要有以下四個方面:1,安全性(security)保護(hù):即防止非法用戶對數(shù)據(jù)庫的非法使用,以避免數(shù)據(jù)的泄露、篡改或破壞。2,完整性(integrity)保護(hù):即保證數(shù)據(jù)源的正確性和一致性。3,并發(fā)控制(concurrent control):即保證多個用戶能共享數(shù)據(jù)庫,并維護(hù)數(shù)據(jù)的一致性。4,數(shù)據(jù)庫恢復(fù)(database recovery);即在系統(tǒng)失效后的數(shù)據(jù)庫恢復(fù),配合定時備份數(shù)據(jù)庫,使數(shù)據(jù)庫不丟失數(shù)據(jù)。

一、數(shù)據(jù)庫的安全性保護(hù)

采取前臺和后臺相結(jié)合的安全性保護(hù)措施來共同維護(hù)數(shù)據(jù)庫應(yīng)用系統(tǒng)的安全。

1,用戶身份鑒別。對于后臺數(shù)據(jù)庫,服務(wù)器主機用戶如果采用了Windows集成登錄方式,只有合法的服務(wù)器計算機用戶才能登錄數(shù)據(jù)庫,遠(yuǎn)程數(shù)據(jù)庫用戶采用身份驗證方式,給遠(yuǎn)程每一個合法用戶建立用戶名和密碼,在用戶連接數(shù)據(jù)庫時,需要驗證。只有通過驗證的用戶才能順利進(jìn)入數(shù)據(jù)庫。對于前臺程序,同樣采取此方法,在數(shù)據(jù)庫中為每一個應(yīng)用系統(tǒng)用戶建立了用戶編號、用戶名、密碼及權(quán)限,每次登錄時都要進(jìn)行身份驗證,只有合法的系統(tǒng)用戶才能進(jìn)入該系統(tǒng)。

2,權(quán)限控制。對于后臺數(shù)據(jù)庫,可以根據(jù)用戶終端的不同而設(shè)置不同的權(quán)限。對于前臺程序,系統(tǒng)設(shè)置要更加細(xì)致,首先對每個合法用戶在建立用戶時就設(shè)好權(quán)限等級,具有不同權(quán)限的用戶看到的同一模塊的窗體是有差別的。再次,對外部用戶,只設(shè)置了有限的查詢功能,故不會危及到數(shù)據(jù)庫系統(tǒng)的安全。

3,視圖機制。視圖機制就是把要保密的數(shù)據(jù)對無權(quán)查看這些數(shù)據(jù)的用戶隱藏起來,并且用戶看到的數(shù)據(jù)仍然存在于原來的地方,從而自動地對數(shù)據(jù)庫提供根本性的安全保護(hù)。

二、數(shù)據(jù)庫的完整性保護(hù)

數(shù)據(jù)庫的完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性、一致性和相容性。完整性是防止合法用戶使用數(shù)據(jù)庫時向數(shù)據(jù)庫中加入不合語義的數(shù)據(jù)。保證數(shù)據(jù)庫中數(shù)據(jù)的完整性的方法之一設(shè)置完整性檢查,對數(shù)據(jù)庫中的數(shù)據(jù)設(shè)置一些約束條件,數(shù)據(jù)庫管理系統(tǒng)自動檢查。完整性約束條件的作用對象分為列、元組和關(guān)系三種級別,其中對列的約束主要指對其取值類型、范圍、精度、排序等的約束條件。對元組的約束主要指對記錄中各個屬性之間的聯(lián)系的約束條件。對關(guān)系的約束是指對若干記錄間、關(guān)系集合上以及關(guān)系之間聯(lián)系的約束條件。在一個數(shù)據(jù)庫管理系統(tǒng)中,完整性約束功能一般包括完整性約束條件設(shè)置和檢查兩部分,一般通過完整性約束語句給出。

三、數(shù)據(jù)庫的并發(fā)控制

在數(shù)據(jù)庫系統(tǒng)運行過程中,如果數(shù)據(jù)庫管理系統(tǒng)可以同時接納多個事務(wù),事務(wù)可以在時間上重疊執(zhí)行,則稱這種執(zhí)行方式為并發(fā)訪問(concurr ent access)。實現(xiàn)數(shù)據(jù)庫并發(fā)控制的方法很多,常用的是封鎖技術(shù)。所謂封鎖即是在某一時間內(nèi)禁止某用戶對數(shù)據(jù)對象做某些操作以避免產(chǎn)生數(shù)據(jù)不一致的問題。基本的封鎖一般有排它鎖(x鎖)和共享鎖(s鎖)兩種類型。

在任何數(shù)據(jù)庫系統(tǒng)中,不可避免地會產(chǎn)生死鎖現(xiàn)象。數(shù)據(jù)庫管理系統(tǒng)使用的SQLServer數(shù)據(jù)庫也不例外,死鎖的發(fā)生并不可怕,最重要的發(fā)生死鎖后能盡快消除,使系統(tǒng)重新正常運轉(zhuǎn)。在sQL Server系統(tǒng)中,在以下兩種情況下都可能發(fā)生死鎖現(xiàn)象。第一種情況是,當(dāng)兩個事務(wù)分別鎖定了兩個單獨的對象,這時每個事務(wù)又要求在對方已經(jīng)封鎖的對象上獲得一個鎖,因此每一個事務(wù)都必須等待另外一個事務(wù)釋放占有的鎖,這時,就發(fā)生了死鎖。這種死鎖是最典型的死鎖形式。死鎖的第二種情況是,在一個數(shù)據(jù)庫中,有若干個長時間運行的事務(wù)執(zhí)行并行的操作,當(dāng)查詢分析器處理一種非常復(fù)雜的連接查詢時,由于不能控制處理的順序,有可能發(fā)生死鎖現(xiàn)象。當(dāng)發(fā)生死鎖時,SQL Server系統(tǒng)可以自動檢測到,然后通過自動取消其中一個事務(wù)來結(jié)束死鎖。在發(fā)生死鎖的兩個事務(wù)中,根據(jù)事務(wù)處理時間的長短作為規(guī)則來確定它們的優(yōu)先級。處理時間長的事務(wù)具有較高的優(yōu)先級,處理時間短的事務(wù)具有較低的優(yōu)先級。在發(fā)生死鎖沖突時,保留優(yōu)先級高的事務(wù),取消優(yōu)先級低的事務(wù)。

四、數(shù)據(jù)庫的恢復(fù)

數(shù)據(jù)庫恢復(fù)的基本原理其實十分簡單,就是數(shù)據(jù)庫中任何一部分?jǐn)?shù)據(jù)可以利用存儲在系統(tǒng)其他存儲器上的冗余數(shù)據(jù)來重建。數(shù)據(jù)庫恢復(fù)首先要建立冗余數(shù)據(jù),然后利用這些冗余數(shù)據(jù)實施恢復(fù)。建立冗余數(shù)據(jù)最常用的技術(shù)是數(shù)據(jù)轉(zhuǎn)儲和日志文件。

1,數(shù)據(jù)轉(zhuǎn)儲。所謂數(shù)據(jù)轉(zhuǎn)儲即由DBA(數(shù)據(jù)庫管理員)定期地將整個數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保存起來的過程。這些備用的數(shù)據(jù)文件稱為后備副本或后援副本。當(dāng)數(shù)據(jù)庫遭到破壞后就可以利用后備副本把數(shù)據(jù)庫恢復(fù)至某個一致性狀態(tài)。轉(zhuǎn)儲可以分為靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲。靜態(tài)轉(zhuǎn)儲指的是轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫有任何操作(包括存取、修改等),靜態(tài)轉(zhuǎn)儲操作相對簡單,但要求在數(shù)據(jù)庫無用戶使用的情況下進(jìn)行;動態(tài)轉(zhuǎn)儲指的是在轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取等操作,即數(shù)據(jù)轉(zhuǎn)儲和用戶事務(wù)并發(fā)進(jìn)行,動態(tài)存儲雖然可以隨時進(jìn)行,但由于與用戶事務(wù)并行執(zhí)行,不容易保證轉(zhuǎn)儲結(jié)束時后備副本上數(shù)據(jù)的一致性,因此實現(xiàn)起來技術(shù)要求較高。

數(shù)據(jù)轉(zhuǎn)儲還可分為海量轉(zhuǎn)儲與增量轉(zhuǎn)儲。海量轉(zhuǎn)儲指的是每次轉(zhuǎn)儲數(shù)據(jù)庫的全部數(shù)據(jù),而增量轉(zhuǎn)儲指的是每次只轉(zhuǎn)儲數(shù)據(jù)庫中上次轉(zhuǎn)儲以來所產(chǎn)生變化的那些數(shù)據(jù),即數(shù)據(jù)庫中的數(shù)據(jù)只轉(zhuǎn)儲其修改過的物理塊,這樣轉(zhuǎn)儲的數(shù)據(jù)量少,也不必花很多時間,但需經(jīng)常轉(zhuǎn)儲,從而減少事故發(fā)生時更新丟失。由于海量轉(zhuǎn)儲數(shù)據(jù)量大,不易進(jìn)行,因此,增量轉(zhuǎn)儲往往是一種有效的方法。

2,日志文件。日志文件是記錄每一次對數(shù)據(jù)庫進(jìn)行更新操作的文件,該文件由數(shù)據(jù)庫管理系統(tǒng)自動建立和記錄。文件中包括的內(nèi)容有t事務(wù)名稱、操作時間、操作類型、修改前數(shù)據(jù)值以及修改后數(shù)據(jù)值等等,還有事務(wù)的開支、提交(COMMIT)及回滾(ROLLBACK)等執(zhí)行情況記錄。在動態(tài)轉(zhuǎn)儲方式中必須建立日志文件,后各副本和日志文件綜合起來才能有效地恢復(fù)數(shù)據(jù)庫。靜態(tài)轉(zhuǎn)儲方式也可建立日志文件。日志文件在數(shù)據(jù)恢復(fù)中起著非常重要的作用,為了保證數(shù)據(jù)庫是可恢復(fù)的,日志文件登記時必須遵循兩條原則;一是嚴(yán)格按照并行事務(wù)執(zhí)行的時間次序登記;二是必須先寫日志文件,后寫數(shù)據(jù)庫。

總而言之,為了實現(xiàn)數(shù)據(jù)庫中的數(shù)據(jù)恢復(fù),必須將數(shù)據(jù)轉(zhuǎn)儲與日志文件相結(jié)合才能完成。一般情況下,當(dāng)數(shù)據(jù)庫遭到破壞后,可以先用后備副本,將數(shù)據(jù)庫恢復(fù)到拷貝此副本時的一致狀態(tài),再利用日志文件將拷貝后至破壞時刻所更改過的數(shù)據(jù)全部恢復(fù)。

猜你喜歡
副本約束條件事務(wù)
“事物”與“事務(wù)”
基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)
基于一種改進(jìn)AZSVPWM的滿調(diào)制度死區(qū)約束條件分析
河湖事務(wù)
面向流媒體基于蟻群的副本選擇算法①
A literature review of research exploring the experiences of overseas nurses in the United Kingdom (2002–2017)
線性規(guī)劃的八大妙用
副本放置中的更新策略及算法*
SQLServer自治事務(wù)實現(xiàn)方案探析
《口袋西游—藍(lán)龍》新副本“幽冥界”五大萌點
電子競技(2009年14期)2009-09-07 07:18:42
胶州市| 九龙坡区| 外汇| 巴林左旗| 康马县| 海丰县| 正镶白旗| 施秉县| 瑞安市| 罗甸县| 中方县| 林西县| 平江县| 璧山县| 东丰县| 绥中县| 鄂尔多斯市| 全州县| 乐平市| 济阳县| 高青县| 寻乌县| 靖宇县| 宜兰县| 堆龙德庆县| 新竹市| 巫溪县| 莆田市| 秦皇岛市| 博罗县| 灯塔市| 富平县| 平定县| 南昌市| 页游| 新乡县| 新巴尔虎右旗| 绵阳市| 武冈市| 广东省| 乐昌市|