七、數據庫的安全與保護
1.安全性
數據庫的安全性是指保護數據庫以防止不合法的或非正常的使用所造成的數據泄露、更改或破壞。安全性問題不是數據庫系統(tǒng)所獨有的,計算機系統(tǒng)都有這個問題。只是在數據庫系統(tǒng)中大量數據集中存放,而且為許多用戶直接共享,是十分重要的信息資源。從而使安全性問題變得更為突出。系統(tǒng)安全保護措施是否有效是數據庫系統(tǒng)的主要性能指標之一。對于數據庫的安全保密方式可以有系統(tǒng)處理的和物理的兩個方面。所謂物理的是指,對于強力逼迫透露口令、在通信線路上竊聽、以至盜竊物理存儲設備等行為。對此所采取的措施是將數據編為密碼,加強警衛(wèi)以識別用戶身份和保護存儲設備等措施。在一般計算機系統(tǒng)中,安全措施是一級一級層層設置的。
(1)用戶標識和鑒定首先,系統(tǒng)提供一定的方式讓用戶標識自己的名字或身份。系統(tǒng)進行核實,通過鑒定后才提供機器使用權。常用的方法有:用一個用戶名或者用戶標識號來標明用戶身份。系統(tǒng)鑒別此用戶是否是合法用戶。若是,則可以進入下一步的核實;若不是,則不能使用計算機。用戶名的登錄只由系統(tǒng)管理員進行,一般用戶不能實施用戶名登錄�?诹�(Password),為了進一步核實用戶,系統(tǒng)常常要求用戶輸入口令。
(2)存取控制對于獲得上機權的用戶還要根據預先定義好的用戶權限進行存取控制,保證用戶只能存取他有權存取的數據。所謂用戶權限是指不同的用戶對于不同的數據對象允許執(zhí)行的操作權限。它由兩部分組成,一是數據對象,二是操作類型。數據對象有二類。一類是數據本身,如關系數據庫中的表、字段,非關系數據庫中的記錄、字段(亦稱為數據項)。另一類是外模式、模式、內模式。在關系系統(tǒng)中DBA可以把建立、修改基本表的權力授予用戶,用戶獲得此權力后可以建立基本表、索引、視圖。這說明關系系統(tǒng)中存取控制的數據對象不僅有數據而且有模式、外模式、內模式等數據字典中的內容。對于存取權限的定義稱為授權(Authorization)。這些定義經過編譯后存儲在數據字典中。每當用戶發(fā)出存取數據庫的操作請求后,DBmS查找數據字典,根據用戶權限進行合法權限檢查(Authorization check)。若用戶的操作請求超出了定義的權限,系統(tǒng)拒絕執(zhí)行此操作。授權編譯程序和合法權限檢查機制一起組成了安全性子系統(tǒng)。衡量授權子系統(tǒng)精巧程度的另一個盡度是否提供與數據值有關的授權。有的系統(tǒng)還允許存取謂詞中引用系統(tǒng)變量,如一天中的時刻,終端設備號。這樣用戶只能在某臺終端、某段時間內存取有關數據,這就是與時間和地點有關的存取權限。另外,在操作系統(tǒng)中對文件、目標等的存取還有一些安全保護措施。其中加密是一種防止數據內容被別人引用或了解的切實可行的辦法。加密有程序加密和硬件加密卡兩種形式。
2.完整性
數據庫的完整性是指數據的正確性和相容性。DBmS必須提供一種功能來保證數據庫中數據的完整性。這種功能亦稱為完整性檢查,即系統(tǒng)用一定的機制來檢查數據庫中的數據是否滿足規(guī)定的條件。這種條件在數據庫中稱為完整性約束條件。數據的約束條件是語義的體現,這些完整性約束條件將作為模式的一部分存放數據字典中。數據的完整性和安全性是兩個不同的概念。前者是為了防止數據庫中存在不符合語義的數據,防止錯誤信息的輸入和輸出,即所謂垃圾進垃圾出(garbage In garbage out)所造成的無效操作和錯誤結果。而后者是保護數據庫防止惡意的破壞和非法的存取。當然,完整性和安全性是密切相關的。特別從系統(tǒng)實現的方法來看,往往是一種機制常常既可用于安全性保護亦可用于完整性保證。完整性約束條件可以分類如下:(1)值的約束和結構的約束前者指對數據的值的限制,后者指對數據之間聯系的限制。關于對數據值的約束 這類約束條件是指對數據取值類型、范圍、精度等的規(guī)定。關于數據之間聯系的約束 數據庫中同一關系的不同屬性之間可以有一定的聯系,從而也應滿足一定的約束條件。同時,由于數據庫中數據是結構化的,不同的關系之間也可以有聯系,因而不同關系的屬性之間也可滿足一定的約束條件。
(2)靜態(tài)約束和動態(tài)約束所謂靜態(tài)約束是指對數據庫每一確定狀態(tài)的數據所應滿足的約束條件。以上所講的約束都屬靜態(tài)約束。動態(tài)約束是指數據庫從一種狀態(tài)轉變?yōu)榱硪环N狀態(tài)時新、舊值之間所應滿足的約束條件。
(3)立即執(zhí)行約束和延遲執(zhí)行約束立即執(zhí)行約束是指在執(zhí)行用戶事務時,對事務中某一更新語句執(zhí)行完后馬上對此數據所應滿足的約束條件進行完整性檢查。延遲執(zhí)行是指在整個事務執(zhí)行結束后方對此約束條件進行完整性檢查,結果正確方能提交。完整性的實現應包括兩個方面,一是系統(tǒng)要提供定義完整性約束條件的功能,二是提供檢查完整性約束條件的方法。對于數據值的那類完整性約束條件通常在模式中定義。例如在模式中定義屬性名、類型、長度、碼屬性名并標明其值是唯一的、非空的等等。另外的那些約束條件就要用專門的方式加以定義。
相關推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |